デニッキ

XRエンジニア🔰の備忘録・日記です.

XR Interaction Manager と XR Rig 【XR Interaction Toolkit】

今回の記事はXR Interaction Toolkitを利用する上で要になる XR Interaction Manager と XR Rigについてです.

実行環境

  • Unity 2019.4.6f1
  • XR Interaction Toolkit 0.9.4-preview

前回記事

xrdnk.hateblo.jp

XR Rig

XR でお馴染みのCamera Rigです.
XR Interaction Toolkit で VR を始める上で,まず XR Rig を Hierarchy に設置する必要があります.
Hierarchy で右クリック > XR > Room-Scale XR Rig または Stationary XR Rig で自動的に
XR Interaction Manager と XR Rig が配置されます.

f:id:xrdnk:20200802143601p:plain

中身には Main Camera, Left Hand Controller,RightHand Controller が入っています.

f:id:xrdnk:20200802150931p:plain

Main Camera の Tracked Pose Driver

Main Camera に Tracked Pose Driver コンポーネントがあります.
XR Device から Pose の値を取得し,シーン内のGame Object に適用します.

今回はHMDから位置と回転のデータを取り,このMain Cameraに適用しています.

f:id:xrdnk:20200802144558p:plain

XR Interaction Manager

XR Interaction Toolkit を利用する上で,Managerクラスとなる役割を果たします.
Hierarchyに必ず置いておく必要があります.

Room-Scale XR Rig と Stationary XR Rig

どちらも XR Rig ですが,違いはRoom-Scale XR Rigは Tracking Origin Mode を Floor,
Stationary XR Rig は Device にしているだけで,他は同じです.

f:id:xrdnk:20200802144758p:plain

Stationary XR Rig は Device レベルで考慮されるため,
ストーリーテリングVR体験のようにシーン内で移動の必要がない場合に使います.

Room-Scale XR Rig は Floor レベルで考慮されるため,
JoyStick や Teleportation を利用する場合はこちらの XR Rig を使うことになります.

実機確認

実際にUnity公式が出しているサンプルプロジェクトを改造します.

GitHub - Unity-Technologies/XR-Interaction-Toolkit-Examples: This repository contains various examples to use with the XR Interaction Toolkit

WorldInteractionのサンプルシーンを開き,すでにある XR Rig をアンチェックし,
新たに Room-Scale XR Rig を設置します.Transform は前の XR Rig の値をコピーします.

f:id:xrdnk:20200802150433j:plain

腕から赤線が出てきました.
デフォルトでは, 両方の Hand Controller は XR Ray Interactor であるため,
遠隔的にVR物体とインタラクションできるようになっています.

最後に

次回は XR Ray Interactor について書こうと思います.