MetaQuestでオブジェクトをVR表示（XRI版）


## 0. 本記事の内容

本記事ではMeta Questで3Dオブジェクト（立方体）をVRで表示するまでの手順を紹介します。**XR Interaction Toolkit**を使用した基本的なカメラ設定からオブジェクトの配置、実機での動作確認まで、VRアプリケーションの基礎となる内容を学習できます。

GitHubで公開している[サンプル](https://github.com/TakashiYoshinaga/MetaXR-SDK-Samples)のXRI_Samplesプロジェクト、01-ShowObjectシーンでも動作を確認できます。

[![XRI VR Basic](https://img.youtube.com/vi/b3yPpNxZrzw/0.jpg)](https://www.youtube.com/watch?v=b3yPpNxZrzw)

なお本記事は下記の続きとなります。設定等に間違いがないかご確認ください。

[XR Interaction Toolkitのインストールとプロジェクトの設定](https://qiita.com/Tks_Yoshinaga/items/26ab2f342be44f7b8661)

## 1. シーンの作成

**[新しいシーンの作成]**

- **File -> New Scene**をクリック
- New Sceneウィンドウで**Basic(URP)**を選択し**Create**をクリック

![新しいシーン作成画面](https://github.com/TakashiYoshinaga/MetaXR-SDK-Samples/blob/main/Documents/materials-xri/2/00.jpg?raw=true)

- **File -> Save**をクリック
- シーン名を設定し保存  
  *本記事では**ShowObject**とする

## 2. Quest用のカメラの設定

**[カメラリグの配置]**

- Hierarchy内の**Main Camera**を削除
- Projectタブの検索エリアに**XR Rig**と入力
- <b>XR Origin Hands (XR Rig)</b>をHierarchyにドラッグ&ドロップ

**[視点の設定]**

- Hierarchy内の**XR Origin Hands (XR Rig)**をクリック
- Inspectorで**XR Origin**を見つける
- **Tracking Origin Mode**で**Floor**を選択  
  *Tracking Origin Modeは原点の高さを決めるうえで重要です

| モード | 説明 |
|--------|------|
| **Floor** | 床面の高さが原点 |
| **Device** | アプリが起動した時のQuestの高さが原点(Camera Y Offset = 0) |

*オブジェクトの表示高さを部屋に対して固定したい場合は**Floor**を選択し、Questの初期位置に対してオブジェクトを固定したい場合は**Device**を選択します。

## 3. オブジェクトの配置

**[立方体の作成]**

- 他のオブジェクトを選択していない状態でHierarchyの空白を右クリック
- **3D Object -> Cube**をクリック

![Cube作成画面](https://github.com/TakashiYoshinaga/MetaXR-SDK-Samples/blob/main/Documents/materials-xri/2/01.jpg?raw=true)

**[位置とサイズの調整]**

- Hierarchy内に追加された**Cube**をクリック
- InspectorのTransformでCubeの位置・角度・サイズを設定  
  *本記事では下記の設定で床から1.3mの高さ、原点から1m向こう側に、少し傾いた0.3m相当の立方体を表示

| 項目 | X | Y | Z |
|------|---|---|---|
| **Position** | 0 | 1.3 | 1 |
| **Rotation** | 0 | 20 | 0 |
| **Scale** | 0.3 | 0.3 | 0.3 |

![Transform設定画面](https://github.com/TakashiYoshinaga/MetaXR-SDK-Samples/blob/main/Documents/materials-xri/2/02.jpg?raw=true)

## 4. 移動機能を一時OFF（オプション）

XR Origin Handsには初めからコントローラによる移動の機能が設定されています。しかし現状のシーンには床などのフィールドがないため移動機能は不要です。下記の手順で一時的にオフにしましょう。

- Hierarchyで**XR Origin Hands (XR Rig)**をクリック
- Inspectorで**Character Controller**を非アクティブ（チェックをOFF）にする

## 5. 動作確認

**[実機にインストールする場合]**

- QuestとPCをUSBケーブルで接続
- Unity Editorで**File -> Build Settings**をクリック
- **Build And Run**をクリック
- インストーラ(apk)名を半角英数で設定して保存
- インストーラの生成とインストールが終わると自動的にQuest内でアプリが起動します
- 立方体が目の前に表示されるはずです。目の前とは異なる方角に表示される場合は右コントローラの**meta (oculus)ボタン**を長押しして方位をリセットしてください
- インストールでエラーが出る場合は設定を見直すか、一度Buildでapkだけ作成して[SideQuest](https://sidequestvr.com/setup-howto)や[MetaQuestDeveloperHub](https://developer.oculus.com/documentation/unity/ts-odh/?locale=ja_JP)からアプリをインストールしてください

**[Meta Quest Linkを使用する場合（Windows）]**

詳細は[公式ページ](https://www.meta.com/ja-jp/help/quest/articles/headsets-and-accessories/oculus-link/set-up-link/)をご覧ください。

- QuestとPCをUSBケーブルで接続
- Quest内でQuest Linkを起動
- Unity Editorの**Play**ボタンをクリック
- 立方体が目の前に表示されるはずです。目の前とは異なる方角に表示される場合は右コントローラの**meta (oculus)ボタン**を長押しして方位をリセットしてください

## 6. 次のステップ

ここまでの内容でVRでの基本的なオブジェクト表示が実現できました。次はパススルー機能を使ったAR表示について解説します。

[MetaQuestのパススルーを使ったAR表示（XRI版）](https://qiita.com/Tks_Yoshinaga/items/9afb32731f457caabb67
)

## 7. XR Interaction Toolkitに関する記事一覧はこちら

[XR Interaction ToolkitではじめようQuestアプリ開発](https://qiita.com/Tks_Yoshinaga/items/9e691eb679fff982a1c9)