unity使用射線實(shí)現(xiàn)貼花系統(tǒng)
更新時(shí)間:2020年07月12日 13:33:00 作者:Maddie_Mo
這篇文章主要為大家詳細(xì)介紹了unity使用射線實(shí)現(xiàn)貼花系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了Unity使用射線實(shí)現(xiàn)貼花系統(tǒng),供大家參考,具體內(nèi)容如下
老規(guī)矩,直接上代碼:
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; /// <summary> /// 貼花系統(tǒng) /// </summary> public class Applique_ZH: MonoBehaviour { [Header("貼花粒子")] public Transform _AppliqueParticle; void Start() { //實(shí)例化 _AppliqueParticle = Instantiate(_AppliqueParticle); } void LateUpdate() { Applique(); } //貼花實(shí)現(xiàn) public void Applique() { //屏幕坐標(biāo)轉(zhuǎn)射線 object _Ray = Camera.main.ScreenPointToRay(Input.mousePosition); //射線對(duì)象是:結(jié)構(gòu)體類型(存儲(chǔ)了相關(guān)信息) RaycastHit _Hit; //發(fā)出射線檢測(cè)到了碰撞 isHit返回的是 一個(gè)bool值 bool _IsHit = Physics.Raycast((Ray)_Ray, out _Hit, 1000, ~(LayerMask.GetMask("AppliqueParticle")| LayerMask.GetMask("Click"))); //EventSystem.current.IsPointerOverGameObject() 鼠標(biāo)在UI上面 if (_IsHit && !EventSystem.current.IsPointerOverGameObject()) { _AppliqueParticle.localPosition = _Hit.point; _AppliqueParticle.localRotation = Quaternion.LookRotation(_Hit.normal); } } }
最終效果:
暫時(shí)先這樣吧。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
C#實(shí)現(xiàn)解析百度天氣數(shù)據(jù),Rss解析百度新聞以及根據(jù)IP獲取所在城市的方法
這篇文章主要介紹了C#實(shí)現(xiàn)解析百度天氣數(shù)據(jù),Rss解析百度新聞以及根據(jù)IP獲取所在城市的方法,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-10-10spreadsheetgear插件屏蔽鼠標(biāo)右鍵的方法
今天用到spreadsheetGear插件,然后右鍵有插件自己的菜單。都是英文的,而且還能打開(kāi)新的窗體。嵌到程序里面,不太合適,所以著手屏蔽2014-02-02探討C#中Dispose方法與Close方法的區(qū)別詳解
本篇文章是對(duì)C#中Dispose方法與Close方法的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06C# 獲取數(shù)據(jù)庫(kù)中所有表名、列名的示例代碼
這篇文章主要介紹了C# 獲取數(shù)據(jù)庫(kù)中所有表名、列名,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06