Unity實現(xiàn)模型點擊事件的方法
模型點擊事件監(jiān)聽
觸發(fā)模型點擊事件的必要條件
需要觸發(fā)模型點擊事件的模型身上必須要掛載Collider 組件
方法一
通過 OnMouseDown 函數(shù)監(jiān)聽(只能在PC端有效)
1.在Hierarchy 面板中右鍵,點擊 3D Object->Cube 按鈕,創(chuàng)建一個 Cube 模型
2.新建一個腳本,命名為“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 上,(運行,點擊模型后結(jié)果如下)
方法二
通過射線檢測事件監(jiān)聽(所有平臺都可以執(zhí)行,推薦使用這種方式)
1.新建一個腳本,命名為“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 上,(運行,點擊模型后結(jié)果如下)
方法三
使用Event Trigger 組件
1.場景內(nèi)添加Event System
2.給 Main Camera 添加 Physics Raycaster 組件
3.新建一個腳本,命名“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.點擊 Add New Event Type 按鈕,選擇事件類型,并將 Test2.cs 腳本,添加到場景中,選擇點擊后觸發(fā)的函數(shù)為 OnClickModel()
6.運行結(jié)果如下
到此這篇關(guān)于Unity模型點擊事件的文章就介紹到這了,更多相關(guān)Unity模型點擊事件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#進階系列 WebApi身份認(rèn)證解決方案推薦:Basic基礎(chǔ)認(rèn)證
下面小編就為大家?guī)硪黄狢#進階系列 WebApi身份認(rèn)證解決方案推薦:Basic基礎(chǔ)認(rèn)證。小編覺得挺不錯的,現(xiàn)在分享給大家。給大家一個參考。一起跟隨小編過來看看吧2016-03-03C#?使用SpecFlow創(chuàng)建BDD測試用例的示例代碼
這篇文章主要介紹了C#?使用SpecFlow創(chuàng)建BDD測試用例,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-06-06