溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

發(fā)布時(shí)間:2021-05-11 14:01:29 來(lái)源:億速云 閱讀:866 作者:小新 欄目:開(kāi)發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

模型點(diǎn)擊事件監(jiān)聽(tīng)

觸發(fā)模型點(diǎn)擊事件的必要條件

需要觸發(fā)模型點(diǎn)擊事件的模型身上必須要掛載Collider 組件

方法一

通過(guò) OnMouseDown 函數(shù)監(jiān)聽(tīng)(只能在PC端有效)

1.在Hierarchy 面板中右鍵,點(diǎn)擊 3D Object->Cube 按鈕,創(chuàng)建一個(gè) Cube 模型

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

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é)果如下)

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

  方法二

通過(guò)射線檢測(cè)事件監(jiān)聽(tīng)(所有平臺(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é)果如下)

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

方法三

使用Event Trigger 組件

1.場(chǎng)景內(nèi)添加Event System

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

2.給 Main Camera 添加 Physics Raycaster 組件

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

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組件

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

5.點(diǎn)擊 Add New Event Type 按鈕,選擇事件類型,并將 Test2.cs 腳本,添加到場(chǎng)景中,選擇點(diǎn)擊后觸發(fā)的函數(shù)為 OnClickModel()

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

6.運(yùn)行結(jié)果如下

Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件

感謝各位的閱讀!關(guān)于“Unity如何實(shí)現(xiàn)模型點(diǎn)擊事件”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI