たこやき部屋

SteamVRを使って、Unityでゲームを開発したい

OculusでもVRTKを使って開発してみる

2020/09/12時点ではこちらが最新です。
takoyakiroom.hatenablog.com



最近のOculus Riftのセールで購入した人も多いと思うので、VRTKを使った開発(の入り口)をまとめてみたよ。

  • Unity 2017.1.0f3
  • Oculus Utilities fro Unity5 Ver1.15.0
  • Oculus Avatar SDK Ver1.15.0
  • VRTK - Virtual Reality Toolkit Ver3.2.1

を使用してます!


Oculus SDKとSteamVR plugin

UnityでOculusの開発する場合、以下の2くらいの方法があります。

1.Oculus SDKを使う
 Oculusのアバター(指とか顔とかが表示できる)が使えます、今回はこっちでやってみる。

2.SteamVR pluginを使う
 HTC Viveでも動作させたい場合はこっち、やり方は以前にまとめたのを参照してね。
 takoyakiroom.hatenablog.com


Oculus Developer Centerから必要なものをダウンロード

まずは「Oculus Developer Center」に行って、Unity用の開発ツールをダウンロードです。

developer.oculus.com

ダウンロードするのは「Oculus Utilities fro Unity5」と「Oculus Avatar SDK」の2つです。

f:id:takoyakiroom:20170817141651j:plain

f:id:takoyakiroom:20170817141656j:plain

「Oculus Utilities fro Unity5」は「Ver1.16.0-beta」が最新だったけど、ちゃんと動かなかったので「Ver1.15.0」を使いました。

ダウンロードしたファイルを解凍、必要なのは以下の2つのファイル。

  • OculusUtilities.unitypackage
  • OvrAvatar.unityPackage

どちらも「Assets」→「Import Package」→「Custom Package」でインポートします。

f:id:takoyakiroom:20170817134525j:plain

「Oculus Utilities」・「Oculus Avatar SDK」ともに、「Import」ボタン押下でOK!

f:id:takoyakiroom:20170817143351j:plain

「Oculus Avatar SDK」はImportに時間かかった・・・

このダイアログは「Yes」で良いかな。

f:id:takoyakiroom:20170817143354j:plain

一旦、Unityが再起動されます。

f:id:takoyakiroom:20170817143358j:plain

これ出てきたら「Go Ahead!」で

f:id:takoyakiroom:20170817143401j:plain

Importが完了したら、「Project」のビューにファイルが追加されています。

f:id:takoyakiroom:20170817134552j:plain


アバターを使うには、OculusのAPP IDが必要なのだ

「Oculus Developer Center」で、もう一つやることが!
「APP ID」を払い出し & Unityへの設定です。

「Manage」のところから「Create New App」を選ぶ。

f:id:takoyakiroom:20170817134750j:plain

Oculus Rift」を選ぶ。

f:id:takoyakiroom:20170817134753j:plain

アプリの名前を入れる、何でも良いです。

f:id:takoyakiroom:20170817134756j:plain

これで完了、「App ID」のところに並んでいる数値をコピー。

f:id:takoyakiroom:20170817134759j:plain

「Oculus Avatar SDK」を入れたらいつの間にか増えているメニューの「Oculus Avatars」→「Edit Configuration」を選ぶと・・・

f:id:takoyakiroom:20170817134804j:plain

InspectorにIDを入れるところが出て来るので、App IDをペーストです。

f:id:takoyakiroom:20170817134810j:plain


VRTKの設定をしよう

このブログで何度も登場してる、VRで開発する時に便利なスクリプトが入ってるアセットです。

Asset Storeから「VRTK」で検索・インポート。

f:id:takoyakiroom:20170817134732j:plain

f:id:takoyakiroom:20170817134735j:plain

「Hierarchy」のビューを右クリックで「Create Empty」、空っぽのオブジェクトと「VRTK」とその中に「Oculus」を作成します。(オブジェクトの名前はこれじゃなくても良いよ)

f:id:takoyakiroom:20170817134739j:plain

作った「Oculus」の中に「OVR」→「Prefabs」の「OVRCameraRig」と、「OvrAvatar」→「Content」→「Prefabs」の「LocalAvatar」をドロップ。

f:id:takoyakiroom:20170817134744j:plain

「OVRCameraRig」を選んで、Inspectorの「OVRManager」の「Tracking Origin Type」を「EyeLevel」から「FloorLevel」にします。
これで、カメラの位置(Oculusのヘッドセットの位置)が、実際の顔の位置に合います。

f:id:takoyakiroom:20170817134813j:plain

最初からHierarchyにあった「Main Camera」は削除します。
「OVRCameraRig」の中にあるカメラがメインカメラの代わりになるから、消しちゃって問題なし。

f:id:takoyakiroom:20170817134816j:plain

Projectの「VRTK」→「Scripts」→「Utilities」→「SDK」の「VRTK_SDKManager」を、Hierarchyの「VRTK」に、「VRTK_SDKSetup」を「Oculus」にドロップ。

f:id:takoyakiroom:20170817134820j:plain

Hierarchyの「Oculus」を選んで、Inspectorの「VRTK_SDKSetup」の「Quick Select」を「Oculus」に。
すると、「Actual Objects」のとこが自動的に設定されます。

f:id:takoyakiroom:20170817134823j:plain

Hierarchyの「VRTK」、Inspectorの「VRTK_SDKManager」の「SDK_OCULUS_AVATAR」をチェック、これでアバターが使えるようになります。
また、「Auto Populate」のボタンを押すと、「AutoLoad」に「Oculus(VRTK_SDK_Setup)」が追加されます。

f:id:takoyakiroom:20170817134827j:plain

以上! 長かった・・・

実行すると画面に手が表示され、コントローラで動かせるようになってます。

f:id:takoyakiroom:20170817134830j:plain


アバターの設定とかを変えてみよう

折角なので、いろいろ設定を変えてどうなるか試してみよう。

「LocalAvatar」のInspectorの「Start With Controllers」にチェックを入れると・・・

f:id:takoyakiroom:20170817134833j:plain

手と一緒にコントローラも表示された。

f:id:takoyakiroom:20170817134837j:plain

「LocalAvatar」の中の「hand_left」と「hand_right」のチェックを外すと・・・

f:id:takoyakiroom:20170817134842j:plain

コントローラだけ。

f:id:takoyakiroom:20170817134846j:plain

「LocalAvatar」のInspectorの「Show Third Person」にチェックを入れると・・・

f:id:takoyakiroom:20170817134851j:plain

身体が表示される。自分が動くとアバターもそれに合わせて動くよ。
なんとなくお盆っぽいぞ。

f:id:takoyakiroom:20170817134854j:plain

最後に、VRTKの使い方については、この辺とかを・・・
takoyakiroom.hatenablog.com