unity使用射线实现贴花系统
作者:Maddie_Mo 发布时间:2023-04-23 10:22:00
标签:unity,射线,贴花系统
本文实例为大家分享了Unity使用射线实现贴花系统,供大家参考,具体内容如下
老规矩,直接上代码:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
/// <summary>
/// 贴花系统
/// </summary>
public class Applique_ZH: MonoBehaviour
{
[Header("贴花粒子")]
public Transform _AppliqueParticle;
void Start()
{
//实例化
_AppliqueParticle = Instantiate(_AppliqueParticle);
}
void LateUpdate()
{
Applique();
}
//贴花实现
public void Applique()
{
//屏幕坐标转射线
object _Ray = Camera.main.ScreenPointToRay(Input.mousePosition);
//射线对象是:结构体类型(存储了相关信息)
RaycastHit _Hit;
//发出射线检测到了碰撞 isHit返回的是 一个bool值
bool _IsHit = Physics.Raycast((Ray)_Ray, out _Hit, 1000, ~(LayerMask.GetMask("AppliqueParticle")| LayerMask.GetMask("Click")));
//EventSystem.current.IsPointerOverGameObject() 鼠标在UI上面
if (_IsHit && !EventSystem.current.IsPointerOverGameObject())
{
_AppliqueParticle.localPosition = _Hit.point;
_AppliqueParticle.localRotation = Quaternion.LookRotation(_Hit.normal);
}
}
}
最终效果:
暂时先这样吧。
来源:https://blog.csdn.net/weixin_43925843/article/details/106214824


猜你喜欢
- 偶然间发现了Android.inputmethodservice.Keyboard类,即android可以自定义键盘类,做了一个简单例子供大
- 过去的每一year,涌现出越来越多的Java框架。就像JavaScript,每个人都认为他们知道一个好的框架的功能应该是怎么样的。连我的老祖
- 一、JDK * Java 在 java.lang.reflect 包中有自己的代理支持,该类(Proxy.java)用于动态生成代理类,只
- using System.Xml;//初始化一个xml实例XmlDocument xml=new XmlDocument();//导入指定x
- 先看进度条的效果:具体实现:新建类,继承自View,在onDraw中进行绘制:import android.content.Context;
- 前言这篇文章探索一下springboot的tomcat是如何实现的一、起步依赖1.首先我们了解一下起步依赖SpringBoot结合Maven
- 产品在测试过程中发现一个bug,就是测试人员不停的疯狂的点击某个按钮,触发了toast以后,toast内容会一直排着队的显示出来,不能很快的
- Java线程分为两类分别为daemon线程(守护线程)和User线程(用户线程),在JVM启动时候会调用main函数,main函数所在的线程
- 前言在Spring Boot的自动配置中经常看到@ConditionalOnProperty注解的使用,本篇文章带大家来了解一下该注解的功能
- 学习app对excel的读写控制1.界面设计<?xml version="1.0" encoding="
- 一般我们用它来自动帮我们注册APT文件(全称是Annotation Process Tool,或者叫注解处理器,AbstractProces
- 大家好哇,又是我,梦辛工作室的灵,今天来给大家讲解下如何实现 安卓的侧边弹窗,先大概讲下基本原理吧,其实很简单,就是一个进出动效,用 位移
- Android 实现代码混淆的实例1、简介代码混淆(Obfuscated code)亦称花指令,是将计算机程序的代码,转换成一种功能上等价,
- 一、java发展史1.java之父:詹姆斯·高家林2.关键时间点:1996年Java(1.0)发布,2004年Java(5.0)发扬光大,2
- 开发环境:android4.1.1实验功能:在第一个Hello World!为标签的activity中显示good,该界面中有一个名为Nex
- 目录一、什么是vector数组二、vector的基本操作vector数组的初始化向vector中插入元素删除元素遍历数组利用vector创建
- 目录1. 前言2. 方法1 使用SurfaceView3. 方法2 给拍照下来的图片添加水印第一步:获取拍照权限第二步:拍照调用相机进行拍照
- /** * 日期工具类 * 默认使用 "yyyy-MM-dd HH:mm:ss" 格式化日期&nbs
- 实例如下:package com.ljq.util;import java.beans.BeanInfo;import java.beans
- 在Value中的Style.xml中,添加: <style name="NoTitle"