(1)交互的基础——Interactable组件
给一个物体,或者UI添加Interactbale组件后,标记这个物体是可以和手柄进行交互的。
给Cube添加Interactable组件后,cube即被标记为可以进行交互。当手柄接触到可交互物体时,手柄会高亮,并震动一下。
手柄高亮:
这一部分是在Player组件下的StreamVRObjects-Hand-ControllerHoverHighlight脚本进行控制的。高亮材质:HoverHighlight,使用的是Shader:Valve/VR/Sihouette 这一个,其他需要高亮的也可以用这个shader
手柄震动:
StreamVRObjects-Hand-ControllerHoverHighlight 属性:Fire Haptics OnHightlight来控制震动。
hand.controller.TriggerHapticPulse( 500 );
(2)物体响应Hand交互事件:如手柄碰到物体时,物体更换材质等;可以根据实际情况来做出想要的操作
对物体进行相应的交互设置:
添加Interactable后可以添加Interactable Hover Events悬停事件,就会出现四个可以选事件在属性面板上。太令人吃惊了,居然不需要写一行代码就可以实现这些操作。
一共有4个事件:
On Hand Hover Begin() : 手柄碰到了物体
On Hand Hover End() : 手柄离开物体
On Attached To Hand() : 响应抓取
On Detached From Han