蒼水技術録

蒼水家技術録

蒼水が普段制作とか勉強とかして覚えたことを復習としてまとめてるものです。 それが最適解かどうかはわからないけど、何を目的として始めて、何が必要で、実際何をやって、どうなったか、まで全部過程を残すための技術ブログです。

VR開発編 #1 -Oculus Questでの開発とLinkで実機確認を楽にする-

先日Oculus QuestにてOculus Linkがβ版で利用可能になりました。
これにより、実機確認をするのに毎回ビルドを必要としていたスタンドアロンVR開発でそのビルド作業が不要になりました。
それに関して書いていきます。

今までのスタンドアロンVRの開発とOculus Link導入のメリット

今までOculus GO やOculus QuestなどのPCにつながなくてもプレイできるVR、いわゆるスタンドアロンVRでは実機確認を行うためにはビルドするしか方法がありませんでした。
一応ALVRを使用した方法もありましたが、なかなかややこしかったんですが、Oculus Linkの登場によりこれが解消されたわけです。

具体的にどう変わったかといえば、ViveやRiftなどPCVRと同様の開発が行えるようになりました。
PCVRではUnityの場合再生ボタンを押すことで即時に実機確認を行うことができますが、スタンドアロンVRでもこれと同等のことが行えるようになりました。
もうビルドは不要なのでどんどん利用していきましょう。

Unity + Oculus Questで開発するには?

Oculus QuestはただストアにあるVRコンテンツをプレイするだけでなくゲームエンジンを使用して自分で開発を行うこともできます。
ただしストアに並べようを思うと厳しい審査がありますので個人で遊ぶ程度の想定でのお話になります。

開発に必要なもの

これらがあれば開発を行うことができます。

対応したGPUを搭載したPC

現在Oculus公式から提示されている対応したグラボでしかLinkを使用することができません。対応機種はこちらから確認できます。
support.oculus.com
PCVRはGTX970以上あたりからは動作したはずですが、Linkはこれらのものでしか動作しないので要注意。

ゲームエンジン

これはもうご存知の通りUnityかUEを使っていくことになりますが、具体的な設定等は後述します。
蒼水はUnityで開発を行っているのでUnityでの解説になります。

Oculus Quest本体

本体がなければ何も始まらない...買おう。64GBか128GBは正直どちらでもよいと思います。

【正規輸入品】Oculus Quest (オキュラス クエスト)- 64GB

【正規輸入品】Oculus Quest (オキュラス クエスト)- 64GB

  • 作者:
  • 出版社/メーカー: Oculus
  • 発売日: 2019/05/21
  • メディア: Video Game
【正規輸入品】Oculus Quest (オキュラス クエスト)- 128GB

【正規輸入品】Oculus Quest (オキュラス クエスト)- 128GB

  • 作者:
  • 出版社/メーカー: Oculus
  • 発売日: 2019/05/21
  • メディア: Video Game

USB3.0

USBは公式からこのAnkderのケーブルが推奨されています。
USB3.0以上でないとダメです。自分が買ったのはこの1.8mなんですが、正直満足に動き回ることは難しいのでできるだけ長いものを推奨します。3mくらいは欲しい。

UnityでVR開発を始める手順

まず前提としてOculus QuestはAndroidなのでビルド設定としてAndroidにスイッチしておく必要があります。
File -> Build SettingsからAndroidにスイッチします。Texture Compression はASTCがよかった、はず。
f:id:Yui_Aomi:20191214160646p:plain

そしたら次に左下にあるPlayer Settingsを押して出たウィンドウ内のOther Settingsを設定します。
Company Name やProduct NameはなんでもOKです。
Virtual Reality Supprtedにチェックを入れ、Virtual Reality SDKsをOculusに設定します。
f:id:Yui_Aomi:20191214160840p:plain

これで準備は完了です。ビルドすればQuestで最低限の動作はします。

しかし本当に最低限なのでいろいろできるようにしていくためにアセットストアからOculus Integrationを導入しますがこれに関しては別に記事を執筆したいと思います。
簡単に説明するとOculus系のデバイスの入出力周りや、開発していくにあたっていろんな機能を使えるようにしてくれているものです。ありがたく使いましょう。
assetstore.unity.com

ここまでが今までの開発開始からビルドまでの流れです。
次にこのビルドを省いて実機確認するためのLinkの準備を行います。

Oculus Linkを導入する。

Oculus Linkを使用するためにはPC側にOculusアプリをインストールする必要があるのでまずこちらからOculus RiftSのところのソフトウェアをダウンロードします。
Questの方ではなくRiftSの方です。インストールの際にQuestが選択できるのでそれでOKです。指示に従ってインストールを進めましょう。
www.oculus.com

QuestとPCを接続するとPC側では認識されればこのようにアクティブになります。こうなればOKです。
f:id:Yui_Aomi:20191214161632p:plain

次にQuest装着してこのような画面が出るので有効にします。
f:id:Yui_Aomi:20191214162225j:plain

するといつもと違うホーム画面になればOKです。
あとはその状態でUnityで再生ボタンを押すことでビルドすることなく実機で動作確認を行えます。

まとめ

Oculus Linkは開発の効率化にほぼ必須なのでは?というくらい便利なのでぜひ開発に導入していきたいですね。
開発の話ばかりしましたが、Oculus Linkは本来QuestでPCVRのタイトルを遊べるようにするためのものです。
実際Linkを使えばRift向けのストアのタイトルはもちろんSteamVRのタイトルまでプレイできます。