admin 管理员组文章数量: 894082
SteamVR 2.x 手柄触摸3D物体(11)
通过上一章对Interactable组件有了初步的了解之后,现在来正式开始学习手柄触摸物体的交互。
一、前期准备
新建场景,删除默认相机,将Player拖拽进入场景内
新建Plane,修改为Floor,上一个黑色材质球,Transform信息如下:
场景内添加CubeA,组件信息如下
通过以上操作之后,运行游戏,当手部模型进入Cube时,Cube高亮,当手部模型离开Cube时,Cube高亮消失。
二、手柄进入、离开物体的逻辑处理
上面只是介绍了物体可以被手柄触碰的必要条件,在实际项目开发过程中,经常过监听手柄进入、离开物体的状态,比如:手柄触碰到门,门播放开门的动画等等。
1、先挂载InteractableHoverEvents组件
通过图片可以看出,该组件对于手柄进入、离开、拾取、放下进行了事件的处理
2、编写测试脚本
using UnityEngine;
using Valve.VR.InteractionSystem;/// <summary>
/// 物体触摸交互
/// </summary>
public class SteamVR_InteractTouch : MonoBehaviour
{private InteractableHoverEvents interactableHoverEvents;private void Awake(){interactableHoverEvents = GetComponent<InteractableHoverEvents>();}private void Start(){interactableHoverEvents.onHandHoverBegin.AddListener(() => Debug.Log("开始触碰:" + transform.name));interactableHoverEvents.onHandHoverEnd.AddListener(() => Debug.Log("结束触碰:" + transform.name));}
}
很简单,我们只要给触碰的两个事件添加监听即可。
将该组件挂载到CubeA上,运行测试。
本文标签: SteamVR 2x 手柄触摸3D物体(11)
版权声明:本文标题:SteamVR 2.x 手柄触摸3D物体(11) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687329384h90201.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论