#概要
unityが出しているVR開発者のための学習コース
"Design, Develop, and Deploy for VR"
https://learn.unity.com/course/oculus-vr
本格的な開発者向けのコースなのでコンテンツ制作の構想の練り方や市場戦略などのunitもあるのでただ単にunityで、パパッと開発をやってみたい人には不必要な情報も多い。やりたいことがあるときにどの動画を見ればいいのか簡単な目次を作成。全編英語だが、動画付きなので見ながら操作すれば、動画内のことは簡単にできる。コース内容要約も下記に。
#目次
- VRTKの導入やproject settingの初期設定 → Unit3
- テレポート機能の追加 → Unit4
- ハンドインタラクションの追加「つかむ」「引く」「入れる」 → Unit5
- ハンドインタラクション「指で押す・突く」 → Unit6(動画6)
- UI(テキスト、シリンダー、ボタン)などの追加 → Unit6
- サウンドの追加 → Unit7
- コンテンツ動作の最適化・処理の軽量化 → Unit8
- パフォーマンスの確認 → Unit9
#環境
このコースはOculus Rift用だが、Oculus Quest用に注釈もついている。
今回は、Oculus Questを用いて作成を行った。
#コース内容
###Unit1
コース全体の紹介。パパっとやりたい人には必要ない。
###Unit2
ここでは、開発前にコンテンツの構想を練ることや共同開発の準備をするための知識を教えてくれる。マーケットに出すことを前提に開発を行う人には重要かもしれませんが、パパっとやりたい人には必要ない。
###Unit3
Unity Project開発前のprojectの初期設定を全体を通して行う。Oculus VR開発の場合、インポートしただけではVRTKがうまく動かないので処理が必要。
・動画2
OculusのVR開発に便利なOculus IntegrationsやVRTKの導入を行う。他のサイトを見ても導入がわかりにくかったりするため動画付きで分かりやすいかと思う。Questの場合もPDFがあるのでそちらに従うとできる。
・動画3
Player settingを行う。こちらもいちいち調べるのは面倒なので動画下の指示に従うと楽。
・動画4
ここでは、コースを通して、使用するEscapeRoom_VSというチュートリアル用のシーンをインポートしているが、他の開発をする場合は必要ない。初期設定として、カメラやハンドトラッキングの設定は共通するかと思うので楽。
###Unit4
前半の動画はVRのコンテンツで使われる動きだったりを紹介している。テレポートの種類も紹介しているが、このUnitで導入できるのは、
どちらのコントローラーでもスティックでテレポート先を表示し、スティック押し込みで発動できるテレポート
片方のスティックはカメラの位置を変える用、片方はテレポート用
という機能。
・動画6~8
スティックで位置を決め、押し込みで発動する(両手)基本的なテレポートの作成方法を説明。
・動画9~10
テレポート可能なレイヤーの設定と目的地の作りかた
・動画11
片方の手をカメラのスナップ用に(首を動かさずにカメラの位置を変えられる)もう片方をテレポート用に(スティックを離した瞬間発動)カスタマイズ。この動画だけではテレポートを作れないが、動画6から基本のテレポートの作り方を学ぶことで自分なりのテレポートルールをカスタマイズできそう。
###Unit5
Unitを通して、「つかむ」「引く」「入れる」などの手のアクションを実装する。基本の流れはコントローラーのボタンやObjectなどにVRTKのScriptを張って、それぞれのGameObjectをリンクさせていく。Scriptが用意されているので、これらのアクションのためのC#でのプログラムは不要。
・動画2
Oculusのパッケージに入った手のモデルの追加方法。Oculusコントローラーのモデルも追加できる。
・動画3
コントローラーのボタン側の設定とつかむことができるGrabbableなオブジェクトの設定の仕方。
・動画4
追加で「つかむ」以外のアクションを可能にさせる。引き出しの引くアクション。つまり、x軸、y軸、z軸の内一方向だけに動かすことができるオブジェクトの設定。
オブジェクトを所定の位置に「置く」あるいは「入れる」というアクションを可能にするための設定。
###Unit6
前半の動画はVR内特有のUIの考え方を学べる。2m~5mの間にテキストがあるほうがVR内では心地がいいとか円柱形にテキストが設置されている方が見やすいとか。あまり意識しない部分なので見ると便利かも。実装は動画4から。
・動画4
VR内で使えるUI機能を説明。
・動画5
コントローラーのポーズボタンからポーズメニュ―に移動する方法。
動画4で紹介された機能をシーン内に実装していく。
・動画6~7
VR内のナンバーキーを押すとテキストに反映される機能の実装。
人差し指を指すとオブジェクトを動かせるというフィジカルな機能も付ける。
・動画8
ナンバーキーに入力された数字がパスワードと一致していれば扉が開くというロジックの実装。こちらはEscapeRoomに初めから用意されているものを使用するので、実際の開発ではあまり使えない?
###Unit7
・動画2~3
VRコンテンツ特有のサウンドが遠くにいれば小さくなり、近寄れば大きくなるという機能のつけ方がわかる。ほぼ、シーンに追加するだけ。
###Unit8
コンテンツをマーケットに出す前に動作を軽くしたり、マーケットに出すための規定をクリアするための工夫がある。開発したコンテンツが重かったりした場合、あまり意識しない部分なので意外と重要かも。
・動画3
AssetsをMesh Bakerというパッケージを使って、合体させる方法。動画内では、床がタイルのように分かれたAssetsで構成されているが、これを一つにすることによってパフォーマンスが上がる。
・動画4
動作を軽くするための設定の確認。何か開発した後にここを確認すると便利そう。
・動画5
Materialsの設定をちょっと変える。つやつやなMaterialだと光の反射を計算したりしている?
・動画6
Lightningの設定をいじる。
###Unit9
開発したコンテンツのパフォーマンスの確認方法。ProfileやFrame Debugといった機能を活用して、コンテンツの処理がどれくらいされているのか可視化できる。
###Unit10
コンテンツを出す前のTestの手法をいろいろ教えてくれている。
###Unit11
VRコンテンツを売り出すマーケティング手法などを説明しているが、とりあえず開発だけが目的なら必要はない。