I.はじめに
VR では 3D UI とやり取りすることがよくありますが、今日は OpenXR+XRInteraction Toolkit と UI の間のやり取りを実現する方法について説明します。
2.準備
Unity プロジェクトと環境構成を準備する必要があります
. 前回の記事: Unity 用 OpenXR+XR Interaction Toolkit の基本構成の紹介では、これらについては詳しく説明しません。
プロセスの簡単な説明:
新しい 3D (URP) プロジェクトを作成し
、PackageManager を介して XR Interaction ToolKit プラグインをインストールします。
XR Interaction Toolkit のプリセットを構成して
、新しい 3D シーンを作成する
準備オーケー
3. キャンバスを作成する
次に、次の設定を行います。
1. RenderMode を World Space モードに変更します
2. Transform の Scale を (0.002,0.002,0.002) に変更します
3. ドット (0.0.0) 付近などのときの座標位置を変更します
4. XR コンポーネントを追加 Tracked Device Graphic Raycaster (VR ハンドルと対話可能)
4. XR オリジンを追加
メニュー GameObject->XR->XR Origin (VR) から VR 操作オブジェクトを作成します。
LeftHand Controller と RightHand Controller が正しく構成されているかどうかを確認します。XR Interaction Toolkit の Prefabs ディレクトリにハンドル モデル モデルのリソースを
設定します。
問題がなければ、以上の設定は完了です。
ハンド コントローラーの別のコンポーネントである XR Ray Interactor をチェックして、Enable Interaction With UI GameObjects オプションがチェックされているかどうかを確認します。
5. EventSystem のアップグレード
EventSystem ゲーム オブジェクトを選択すると、下の図のように表示されます。
理由は自明です。つまり、元の StandaloneInputModule は古い UI に適しており、VR 環境では使用できないため、 XR の InputSystemUIInputModule を使用するようにアップグレードされました。
バージョンアップ後、ハンドルレイを使わずにエディタ環境でVRのUIをマウスでクリックできるようになりました。この機能が必要ない場合は、直接削除してください。
[xxxx で置換] ボタンをクリックするだけです。交換後は下図のようになります。
添加XR UI Input Module
次に、VR ハンドル レイ インタラクション用の InputModule モジュールを追加します。追加されていない場合、ハンドルから放射されるレイは UI を制御できません。その
プロパティ Input System UIActions の構成は自動的に構成されていることに注意してください。空の場合は、私たちのPresetManager が正常に構成されませんでした。
さて、この時点で、デモを実行して試してみることができます。