【unity】Pico VR 开发笔记(视角移动)
视角移动是简单的基础功能,这里区别于头显定位获得的小范围位移,是长距离不影响安全边界的位移方式。的常见的位移方式有两种,其一是触发后瞬间传送到指定位置,其次是摇杆控制视角实时移动。XR Interaction Toolkit提供了两种位移方式的脚本,正确配置就可以实现功能。
使用插件——XR Interaction Toolkit
一、传送
XR Interaction Toolkit提供的传送方式是,当手柄的射线触碰到传送区域时,触发该手柄的抓握键(gripButton)传送。
LocomotionSystem
移动系统,管理传送和移动。基于XR Interaction Toolkit提供的传送和摇杆移动都需要该脚本。可以挂载在头显上(XR Origin)
XR Origin :头显
TeleportationProvider
传送体本身,挂载在头显上(XR Origin)
System:绑定LocomotionSystem
DelayTime:延迟执行时间(单位秒)
TeleportationArea
传送区域脚本,挂载在需要传送的地面上
Teleportation Provider:挂载头显(XR Origin)上的TeleportationProvider
绑定成功,当手柄射线碰撞到绑定TeleportationArea 的地面时,射线会显示十字线。
二、摇杆位移
需要添加LocomotionSystem脚本,可以挂载在头显上(XR Origin)
ContinuousMoveProvider(Action-based)位移
可以在头显上挂载ContinuousMoveProvider(Action-based)脚本。
- 点击在右上角的预设,选择XRI Default Continuous Move添加配置。
- System上绑定LocomotionSystem
- 预设左右手柄都可以控制位移,在实际使用中,只需要一个手柄控制位移就可以。
ContinuousTurnProvider(Action-based)转身
可以在头显上挂载ContinuousTurnProvider(Action-based)脚本。
- 点击在右上角的预设,选择XRI Default Continuous Turn添加配置。
- System上绑定LocomotionSystem
- 预设左右手柄都可以控制转身,在实际使用中,只需要一个手柄控制转身就可以。
三、碰撞
CharacterController组件
在头显上添加上CharacterController组件,把碰撞体移到地面上,设置轴心点到地面上。
CharacterControllerDriver
在头显上添加上CharacterControllerDriver脚本,用于控制头显的高度。
LocomotionProvider:绑定控制脚本TeleportationProvider(传送)或者ContinuousMoveProvider(Action-based)位移