ViveInputUtility ハンドルが 3D オブジェクトに触れる (6)

3Dオブジェクトに触れるハンドルの機能を実装するのは非常に簡単で、VIUには既製の関連インターフェースがあり、インターフェースを継承して実装するだけです。

1. 事前準備
新しいシーンを作成 05-3DTouch, デフォルトカメラを削除, 原点に空のノード Player を作成, 必要なモジュールを Player ノードにドラッグ. この章では、第 2 章のテレポーテーションシーンを引き続き使用します.説明の基礎として、階段と壁を使用してハンドルのタッチ機能をテストします。
ここに画像の説明を挿入
2.ハンドルが3Dオブジェクトに出入りする
.Demo5_VRTouchスクリプトを書き、階段と壁に同時にマウントする.トリガー条件:コライダーがオブジェクトにマウントされている.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using HTC.UnityPlugin.ColliderEvent;

public class Demo5_VRTouch : MonoBehaviour,
    IColliderEventHoverEnterHandler,
    IColliderEventHoverExitHandler
{
    
    
    public void OnColliderEventHoverEnter(ColliderHoverEventData eventData) 
    {
    
    
        Debug.Log($"{
      
      transform.name} 开始触摸");
    }

    public void OnColliderEventHoverExit(ColliderHoverEventData eventData) 
    {
    
    
        Debug.Log($"{
      
      transform.name} 离开触摸");
    }
}

実際の開発プロセスでは、監視用の別のスクリプトを使用して、すべての 3D オブジェクトが共通であることを確認し、2 つのイベントをカスタマイズして、イベントの実際のロジックを外部に割り当てることができます。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_38484443/article/details/127320533