BlenderとUnityで作ったものをVR(Oculus  Quest/Oculus Link)で動かします

【Oculus Link】Unity+QuestでRiftのPC向けアプリが動いた!プロジェクト作成からキャラ表示までまとめ【2020年改訂】

 
Oculus Questで「Oculus Link」が使えるようになりました!
 
プレイできるゲームが増えたのもうれしいですが、Oculus Quest向けアプリ(androidビルド)だけでなく、「UnityとOculus Linkで、RiftのPC向けアプリ(Windowsビルド)を実行する」ことができるようになったのがかなりうれしいです!
 
Oculus Riftをお使いの方から見ると普通のことだと思いますが、
・Unityでビルドしなくてもすぐに動作確認できる
・パソコン性能が高い場合、Questより画面がキレイでなめらかになる
のも良いですね。
 
今回、久しぶりにUnityを立ち上げていろいろ試していたのですが、操作を忘れているところもありました。
この記事では備忘録を兼ねて、「Unityで新規プロジェクトを作るところから、MMDのキャラクターを表示するまで」をまとめてみました。
[2020/11/15追記]
Unityのバージョンが「Unity 2018」と古かったので、「Unity 2019.4.14f1」で実施した内容に変更しました。その他、URPやXR Plugin Managementなど、新しいことについても追記・修正しています。



使用環境について

以下の環境を使用しました。
 
・Unity Hub 2.4.1
・Unity 2019.4.14f1
・グラボ:ASUS ROG-STRIX-RTX2060S-O8G-GAMING
・Oculus Quest 2
・Oculus Link(Windowsビルド)
 
基本的なインストールや設定方法は、この記事では割愛しています。ネット上に記事がたくさんありますので、そちらを参考にしてくださいね。
 

(1) Unity Hubで新規プロジェクトを作成

使用するUnity のバージョンをインストールする

Unity Hubを起動し、画面左の「インストール」を選択し、右側にある「インストール」ボタンをクリックする。
 
Unityのバージョンを選び、「次へ」ボタンをクリックする。
今回は「Unity 2019.4.14f1 (LTS)」を選択しました。
 
インストールしたいモジュールを選択して、「次へ」ボタンをクリックする。
 
同意する」にチェックを入れ、「実行」ボタンをクリックする。
 
しばらく待つと、インストールが完了します。
 

プロジェクトを作成する

新規作成の▼マーク」をクリックする。
 
Unityのバージョンを選択する。
 
テンプレートで「3D」か「Universal Render Pipeline」を選択し、「プロジェクト名」と「保存先」を入力後、「作成」をクリックする。
 
ここで「Universal Render Pipeline(URPとも呼びます)」を選択した場合、「シェーダー(オブジェクトの表面を表示するプログラムのこと)」もURP専用のシェーダーが必要になります。今回、動作確認につかう「ニコニ立体ちゃん(アリシア・ソリッド)」はURPシェーダーを使っていませんので、今回は「3D」を選択しておきます。
 
後からURPを導入することもできるので、いまは「3D」でも問題ありません。
 

Unityを起動する

しばらく待つと、Unityのエディター画面が起動します。
 
ここまでの手順は、Oculus Quest専用アプリを作成する時と同じですね。
 

(2) アセット「Oculus Integration」を登録

Platformを確認してみる

メニューバーの「File -> Build Settings…」で確認してみると、Platformが「PC,Mac & Linux Standalone」になっています。
 
Oculus Quest向けアプリの時は、「Android」にSwitch Platformしましたが、今回は必要ありません。「PC,Mac & Linux Standalone」のままでOKです。
 
Switchする際は時間がかかってたので楽ですね。
 

Oculus Integrationアセットを登録する

Unity内のアセットストアで「Oculus Integration」を検索し、Importする。
 
ここから設定をしていきます。
 


(3) カメラとコントローラを設定

カメラを削除して追加する

Hierarchy内の「Main Camera」を削除する。
このカメラは使いません。
 
代わりに、Oculusのカメラを追加していきます。
 
Hierarchyに、「Assets -> Oculus -> VR -> Prefabs -> OVRCameraRig」をD&Dで追加する
 
追加できました。
 

コントローラを追加する

ここでは、Oculusのコントローラ2つ追加します。
 
Hierarchyで、「OVRCameraRig -> TrackingSpace -> LeftHandAnchor -> LeftControllerAnchor」の下と、「OVRCameraRig -> TrackingSpace -> RightHandAnchor -> RightControllerAnchor」の下に、「Assets -> Oculus -> VR -> Prefabs -> OVRControllerPrefab」を1つずつ追加する。
 

左コントローラの設定を変える

先ほど追加した、「OVRCameraRig -> TrackingSpace -> LeftHandAnchor -> LeftControllerAnchor -> OVRControllerPrefab」で、「OVR Controller Helper (Script) -> Cotroller」を「L Touch」に変更する。
 
右側のコントローラも同様に変更します。こちらは「R Touch」ですね。
 

「Oculus Quest向けアプリ」の設定は必要ありません

今回はWindowsビルドのアプリになりますので、Oculus Quest向けアプリ(Windowsビルド)で必要だった、以下などの設定は必要ありません。
・Other Settingsの「Identification」で、「Minimum API Level」をAndroidに変更する
・Hierarchyの「OVRCameraRig」で、「OVR Manager (Script) > Target Devices > Element」をQuestに変更する
 
ちょっとしたことなんですが、導入時の設定が少ないのはありがたい。
 

(4) その他の設定

その他の設定をやっておきます。
 

「XR Settings」の設定

メニューバーの「Edit -> Project Settings…」をクリックし、「Project Settings -> Player -> XR Settings -> Virtual Reality SDKs」にチェックが入れて、以下の画像のようにします。
既に設定されてる時はそのままで良いですね。
 
ここの設定は以前からあるのですが、「Deprecated Settings(非推奨)」と表示されているように、Unityの新しいバージョン(2019.3辺り)からは「XR Plugin Management」が推奨されているようです。
 
とはいえ、まだ上記の設定は使えますし、後から「XR Plugin Management」に切り替えることもできますので、今回はこのままで進めます。
 

「Other Settings」の設定

Unityの設定は、環境に応じて随時変更していくものですが、とりあえずここは変更しておきました。
 
・Color Space:Linear
・Scripting Backend:IL2CPP
・Api Compatibility Level:.NET 4.x
これで基本的な設定は完了です。
 
 

(5) 地面と箱を配置してみる

何もない空間は寂しいですので、適当に地面とオブジェクト配置してみます。
 

適当なオブジェクトを追加する

Hierarchyで右クリックして、「3D Object -> Plane」を追加する。
 
同じく、「3D Object > Cube」を追加する。
 
オブジェクト同士が重なってますので、調整しましょう。
 
こんな感じになりました。
 
地面があると安心します。
 

再生ボタンを押してみる!

ここまでの操作で、もう実行する準備はできています。
 
Oculus Linkを使える状態にしてから、Unityの「Playボタン(横向きの▲)」を押せば、Oculrs Link経由でUnityの実行画面が見れます!
 
Questの時は、ビルドしてapkファイルを本体に転送してたのでかなりの手間でした。ビルドにも時間がかかりますし。。。
 
ビルド無しですぐに確認できるのはとても便利です!!
 


(6) MMDのキャラクターを配置する

MMDのキャラクターをインポートする方法は、この記事にまとめています。
 
とりあえず、この3つを作業を行えばキャラクターが動いてくれます。
(1) MMDモデルをUnityにインポートする
(2) 揺れそうなものが揺れる
(9) キャラクターに動いて欲しい
 
ニコニ立体ちゃん(アリシア・ソリッド)」を入れて動かしてみましょう。
 
動いた!
※アニメーションGIFです。クリックすると動きます。
 
もちろんヘッドセットをかぶれば、目の前で動いてくれますよ。
かわいい!!
 

まとめ 

UnityとOculus Linkで、RiftのPC向けアプリを実行できました!
 
MMDファイルを動かしただけですが、「初期設定が楽、動作確認が簡単、画面はキレイでなめらか」と良いところばかりでした。
 
これからもいろいろ試せそうですよ。
楽しみです!
 
スポンサーリンク

コメント

  • トラックバックは利用できません。

  • コメント (0)

  1. この記事へのコメントはありません。

【Oculus Quest】VRの世界で動くキャラを眺めて触りたい!設定方法まとめ

はじめてのBlenderで2頭身の女の子をモデリングしてみました!

最近のコメント

だーしゅ
IT関係のお仕事してます。
VRは楽しいですね。

[当ブログについて]