こんにちは。デニです。
この記事では VR ソフトを作るにはどういう設定が必要なのかを説明します。
ゲーム開発ソフト「Unity」のインストールから、初期設定、コントローラーのセットアップ、コンパイルまですべてのステップをそれぞれ説明するので、気になるところまで飛ばしても構いません。
この記事では Oculus を使っているのですが、デプロイメント以外は、どのヘッドセットでもほとんど同じはずです。
目次
Unity のインストール
まずは公式サイトから Unity をインストールしましょう。
https://unity3d.com/jp/get-unity/download
Unity Hub で複数の Unity バージョンを同時にインストールできるのですが、このチュートリアルでは最新版の 2021.2.0f1 を使います。
LTSバージョンでも構いません。
Oculus での開発を行う場合は、「Android Build Support」というモジュールがインストールされていることを確認しましょう。
Unity のインストールが完了したら、新しいプロジェクトを作りましょう。
テンプレートとして「3D」、「HDRP」、「URP」または「VR」のどちらでもできますが、最もベーシックなテンプレートは「3D」なので、そちらにします。
テンプレートを選択し、しばらく待つとエディターが開きます。
VR プラグインのインストール
Unity で新しい 3Dプロジェクトを開いたら、まず VR のプラグインをインストールする必要があります。
「Edit」→「Project Settings…」でプロジェクト設定画面を開きます。
左のメニューの最も下にある「XR Plugin Management」を選択して、インストールしましょう。
インストールが完了したら、上記の画面が以下の画面に変わります。
Oculus のみの開発を行いたい方は Oculus プラグインを選択しても良いですが、ほとんどのメーカーが共通の Open XR プラットフォームをサポートするようになってきたので、 Oculus 用の開発だけで Open XR を使っても全く問題ありません。
複数のヘッドセットをサポートしたい方は「Open XR」を選択してください。
アンドロイドのアイコンの方のタブでは、「Oculus」 を選択しましょう。
なぜかというと、ネイティブな開発をサポートしているヘッドセットは今のところで Oculus のみです。
「Open XR」を選択すると、以下のメッセージが表示されます。
「Yes」をクリックしてください。エディターが再起動されます。
「OpenXR」を選択したら、エクスクラメーションマークが表示されます。
そのエクスクラメーションマークをクリックすると、解決方法の提案ダイアログが表示されます。
「Fix」ボタンがある方は、「Fix」をクリックするだけで解決できます。
もう片方の「Edit」ボタンを押すと以下の画面が表示されます。
こちらの画面の「Interaction Profiles」にそれぞれのヘッドセット用のコントローラープロファイルを追加する必要があります。
右下の「+」を押せば色々なヘッドセットが選べます。
こちらはサポートしたいヘッドセットを選択すればOKです。
このチュートリアルでは Oculus Quest を使っているので、 「Oculus Touch Controller」のプロファイルを選択します。
同じ用にアンドロイドのタブでも Oculus を追加してください。
プロファイルを選択したら、画面を閉じてください。
前のダイアログの問題がゼロになっているはずですので、こちらのダイアログも閉じましょう。
コンパイル設定
次は、ターゲットプラットフォームを設定します。
「File」→「Build Settings…」を開きましょう。
画面が開いたら、「Android」を選択し、「Switch Platform」をクリックすることでターゲットプラットフォームを変更します。
プラットフォームを変更したら画面を閉じて大丈夫です。
パッケージ設定
最後は、必要なパケージなどをインストールします。
パケージマネージャーは「Window」→「Package Manager」で開きます。
「+」の隣にあるドロップダウンをクリックし、「Unity Registry」を選択するとすべてのパケージが見れます。
今回はまだリリースされていないプラグインを使うので、歯車マークをクリックして、「Advanced Project Settings」画面を開いてください。
開いた画面で「Enable Pre-release Packages」にチェックを入れてください。
注意ダイアログは「I Understand」で閉じます。
チェックを入れたら画面を閉じてください。
パケージマネージャーで「XR Interaction Toolkit」が表れたはずです。
そのプラグインをインストールしてください。
インストールが完了したら、「Samples」から「Default Input Actions」をインポートしてください。
次にプロジェクトのアセットでインポートした「Default Input Actions」を開いてください。
それらを選択すると、「Inspector」で詳細が表示されます。
最も上に表示されている「Add to 〇〇 default」のボタンをクリックしてください。
「Remove from 〇〇 default」に変わったら設定ができています。
すべてのインプットアクションの設定が終わったあと、「Edit」→「Project Settings…」→「Preset Manager」を開き、「ActionBasedController」のところの検索フィールドに「right」と「left」を入れる必要があります。
最後にシーンの「Hierachy」を右クリックして「XR」のメニューの「XR Rig (Action Based)」を追加してください。
追加した「XR Rig」を選択し、「Tracking Origin Mode」を「Floor」に変更するとすべての設定が完了しました。
Oculus へのデプロイメント
直接エディター内でもデバッグできますが、アプリを直接 Oculus に移したい場合は以下の手順で行う必要があります。
まずは、Oculus が開発者モードになっていることを確認してください。
次に以下のサイトから「Oculus Developer Hub」をインストールしましょう。
https://developer.oculus.com/downloads/package/oculus-developer-hub-mac/
https://developer.oculus.com/downloads/package/oculus-developer-hub-win/
インストールが終わったら、Unityに戻って「File」→「Build Settings…」を開いて、「Build」をクリックするとapkファイルが作成されます。
Oculus Link で Oculus をパソコンにつなげたまま、「Oculus Developer Hub」を開くと、「Device Manager」で表示されるはずです。
その画面に作成されたapkファイルをドロップしてください。
ドロップするとアプリがインストールされます。
Oculus 内の「Apps」メニューを開き、右上の「All」を「Unknown Sources」へ変更すると、Unity で開発したアプリが表示されます。
まとめ
上記の初期セットアップを行えば、ヘッドセットをつないだままプレイボタンを押すだけで簡単にデバッグすることができるし、リリースする際もワンクリックでapkファイルが出来上がります。
コントローラー自体もセットアップ済みなので、VR内のオブジェクトを手で広げたり投げたりすることも簡単にできます。