【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 (アクションベース) スクリプトをヘッドセットにマウントできます。
- 右上隅の [プリセット] をクリックし、[XRI デフォルトの連続移動] を選択して構成を追加します。
- LocomotionSystem をシステムにバインドする
- 変位を制御するハンドルは左右両方にあらかじめ設定されており、実際の使用では変位を制御するハンドルは 1 つだけで済みます。
ContinuousTurnProvider (アクションベース) ターンアラウンド
ContinuousTurnProvider (アクションベース) スクリプトをヘッドセットにマウントできます。
- 右上隅の [プリセット] をクリックし、[XRI デフォルトの連続回転] を選択して構成を追加します。
- LocomotionSystem をシステムにバインドする
- 左右両方のハンドルが旋回制御用に設定されており、実際の使用では、旋回制御に必要なハンドルは 1 つだけです。
3. 衝突
CharacterController コンポーネント
CharacterController コンポーネントをヘッドセットに追加し、衝突ボディを地面に移動し、ピボット ポイントを地面に設定します。
キャラクターコントローラードライバー
CharacterControllerDriver スクリプトをヘッドセットに追加して、ヘッドセットの高さを制御します。
LocomotionProvider : バインド制御スクリプト TeleportationProvider (送信) または ContinuousMoveProvider (アクションベース) ディスプレイスメント