Unity實(shí)現(xiàn)模型點(diǎn)擊事件的方法
模型點(diǎn)擊事件監(jiān)聽
觸發(fā)模型點(diǎn)擊事件的必要條件
需要觸發(fā)模型點(diǎn)擊事件的模型身上必須要掛載Collider 組件
方法一
通過 OnMouseDown 函數(shù)監(jiān)聽(只能在PC端有效)
1.在Hierarchy 面板中右鍵,點(diǎn)擊 3D Object->Cube 按鈕,創(chuàng)建一個(gè) Cube 模型
2.新建一個(gè)腳本,命名為“Test.cs”(代碼如下)
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test2 : MonoBehaviour { private void OnMouseDown() { Debug.Log("OnMouseDown"); } }
3.將 Test.cs 腳本,掛載到Cube 上,(運(yùn)行,點(diǎn)擊模型后結(jié)果如下)
方法二
通過射線檢測(cè)事件監(jiān)聽(所有平臺(tái)都可以執(zhí)行,推薦使用這種方式)
1.新建一個(gè)腳本,命名為“ColliderEvent.cs”(代碼如下)
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ColliderEvent : MonoBehaviour { private void Update() { if(Input.GetMouseButtonDown(0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hitInfo; if(Physics.Raycast(ray,out hitInfo)) { Debug.Log(hitInfo.transform.name); } } } }
2.將 ColliderEvent 腳本,掛載到 Main Camera 上,(運(yùn)行,點(diǎn)擊模型后結(jié)果如下)
方法三
使用Event Trigger 組件
1.場景內(nèi)添加Event System
2.給 Main Camera 添加 Physics Raycaster 組件
3.新建一個(gè)腳本,命名“Test2.cs”。(代碼如下)
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Test2 : MonoBehaviour { private void OnMouseDown() { Debug.Log("OnMouseDown"); } }
4.在Cube 模型上添加EvenTrigger組件
5.點(diǎn)擊 Add New Event Type 按鈕,選擇事件類型,并將 Test2.cs 腳本,添加到場景中,選擇點(diǎn)擊后觸發(fā)的函數(shù)為 OnClickModel()
6.運(yùn)行結(jié)果如下
到此這篇關(guān)于Unity模型點(diǎn)擊事件的文章就介紹到這了,更多相關(guān)Unity模型點(diǎn)擊事件內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Unity 如何通過反射給gameObject添加組件
- 詳解Unity使用ParticleSystem粒子系統(tǒng)模擬藥水在血管中流動(dòng)(粒子碰撞)
- Unity之跑馬燈抽獎(jiǎng)效果單抽與連抽(附demo)
- Unity實(shí)現(xiàn)老虎機(jī)滾動(dòng)抽獎(jiǎng)效果的示例代碼
- Unity3D舊電視濾鏡shader的實(shí)現(xiàn)示例
- Unity給物體添加多個(gè)Tag的實(shí)現(xiàn)
- Unity實(shí)現(xiàn)3D射箭小游戲
- Unity實(shí)現(xiàn)瞄準(zhǔn)鏡效果
- 詳解Unity入門之GameObject
相關(guān)文章
wpf實(shí)現(xiàn)超低延遲的RTMP或RTSP播放
這篇文章主要為大家詳細(xì)介紹了wpf如何實(shí)現(xiàn)超低延遲的RTMP或RTSP播放,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04C#進(jìn)階系列 WebApi身份認(rèn)證解決方案推薦:Basic基礎(chǔ)認(rèn)證
下面小編就為大家?guī)硪黄狢#進(jìn)階系列 WebApi身份認(rèn)證解決方案推薦:Basic基礎(chǔ)認(rèn)證。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家。給大家一個(gè)參考。一起跟隨小編過來看看吧2016-03-03Unity3D使用Shader實(shí)現(xiàn)腐蝕消失
這篇文章主要為大家詳細(xì)介紹了Unity3D使用Shader實(shí)現(xiàn)腐蝕消失,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-02-02C#?使用SpecFlow創(chuàng)建BDD測(cè)試用例的示例代碼
這篇文章主要介紹了C#?使用SpecFlow創(chuàng)建BDD測(cè)試用例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06C#實(shí)例化和靜態(tài)類對(duì)象調(diào)用對(duì)比
這篇文章主要介紹了C#實(shí)例化和靜態(tài)類對(duì)象調(diào)用對(duì)比,什么時(shí)候用實(shí)例化對(duì)象,什么時(shí)候用靜態(tài)類對(duì)象,內(nèi)存和生命周期又是如何,框架本身的回收機(jī)制是什么,下文詳細(xì)解說需要的小伙伴可以參考一下2022-04-04