ViveInputUtility-手柄触摸3D物体(6)

手柄触摸3D物体的功能实现是非常简单的,VIU中有现成的相关接口,只需要继承接口并实现即可。

1、前期准备
新建场景05-3DTouch,删除默认相机,新建原点空节点Player,将需要的模块拖入Player节点内,本章还是沿用第二章中的瞬移场景为基础进行讲解,使用阶梯和墙来测试手柄的触碰功能。
ViveInputUtility-手柄触摸3D物体(6)_第1张图片
2、手柄进入、离开3D物体
编写Demo5_VRTouch脚本,同时挂载在阶梯和墙上,触发前提条件:物体上已挂载Collider

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物体通用,再自定义两个事件,用来在外部赋值事件实际逻辑。
ViveInputUtility-手柄触摸3D物体(6)_第2张图片

你可能感兴趣的:(VR,3d,unity,游戏引擎)