Unity の OpenXR+XR Interaction Toolkit で UI インタラクションを実現

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 が正常に構成されませんでした。
ここに画像の説明を挿入

さて、この時点で、デモを実行して試してみることができます。

おすすめ

転載: blog.csdn.net/qq563129582/article/details/130355661