VRTK3.3.0-003發出一條簡單射線和監聽


1丶在Right下繼續添加腳本VRTK_PointerVRTK_StraightPointerRenderer

運行后默認是按住圓盤鍵出現射線,松開消失,大家可以自定義

2丶射線的監聽事件

(1)在場景中創建一個Cube用來觸發射線檢測用,位於相機前方([VRTK_SDKManager]的Z軸方向)

(2)在Right上新建腳本SimplePointerEvents,通過得到VRTK_DestinationMarker組件注冊方法,就可以監聽射線的觸發了

  注意:VRTK_Pointer組件是繼承於VRTK_DestinationMarker組件

using UnityEngine;
using VRTK;//   引用VRTK命名空間

    public class SimplePointerEvents : MonoBehaviour
    {
    private VRTK_DestinationMarker destinationMarker;
    private void Awake()
    {
        destinationMarker = GetComponent<VRTK_DestinationMarker>();
        destinationMarker.DestinationMarkerEnter += DestinationMarker_DestinationMarkerEnter;
        destinationMarker.DestinationMarkerExit += DestinationMarker_DestinationMarkerExit;
        destinationMarker.DestinationMarkerHover += DestinationMarker_DestinationMarkerHover;
        destinationMarker.DestinationMarkerSet += DestinationMarker_DestinationMarkerSet;
    }

    private void DestinationMarker_DestinationMarkerSet(object sender, DestinationMarkerEventArgs e)
    {
        Debug.Log("與物體交互");
    }
    private void DestinationMarker_DestinationMarkerHover(object sender, DestinationMarkerEventArgs e)
    {
        Debug.Log("射線懸停物體");
    }
    private void DestinationMarker_DestinationMarkerExit(object sender, DestinationMarkerEventArgs e)
    {
        Debug.Log("射線退出物體");
    }

    private void DestinationMarker_DestinationMarkerEnter(object sender, DestinationMarkerEventArgs e)
    {
        Debug.Log("射線進入物體");
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM