めーぷるのおもちゃばこ

- アイドルになりたいエンジニア女子の制作日記 -

[Unity] VRTKでWinMRのコントローラーを動かす

 

VRTKでWinMRのコントローラーを動かす

まずWinMRをUnityで使うための設定

 

WinMRをUnityで使うには、Unity 2017.2.0f3が必要です。

File>Build Settings を開き、プラットフォームをUniversal Windows Platformを選択し、Switch Platformを押します。

f:id:maplesyrup-cs6:20171212155103p:plain

 

その横のPlayerSettingsを開き、Scripting Backend.NETに変更、

f:id:maplesyrup-cs6:20171212155259p:plain

XR Settings のVirtual Reality Supportedにチェックを入れぴよします。

f:id:maplesyrup-cs6:20171212155619p:plain

 

これでWinMRをUnityで使えます。

 

VRTKでWinMRのコントローラー設定編。

 

こちらからMRTK(Windows Mixed Reality Tool-Kit)WinMR用のVRTK

ダウンロードします。Assetフォルダに

MRTKからHoloToolkitHoloToolkit-Exampleを、

VRTKからTokoVRTKを入れます。

f:id:maplesyrup-cs6:20171212153938p:plain

 

ヒエラルキーで3つ空のゲームオブジェクトを作り、それぞれ

[VRTK]、LeftController、RightControllerと名前をつけて、LeftControllerとRightControllerを[VRTK]の子オブジェクトにします。

f:id:maplesyrup-cs6:20171212154233p:plain    f:id:maplesyrup-cs6:20171212154238p:plain

 

MixedRealityCameraParent_VRTKヒエラルキーに入れます。ここでMainCameraは削除です。

f:id:maplesyrup-cs6:20171212164145p:plain

 

 

VRTK_SDKManagerを[VRTK]に入れます。

f:id:maplesyrup-cs6:20171212154623p:plain

 

Auto Populate Objectのチェックを外し、

f:id:maplesyrup-cs6:20171212160155p:plain

 

FallbackになっているところをすべてWindowsMRに変えて、Auto Populate Objectのチェックを入れるとLinked Objectが勝手に設定されるので喜びます。

f:id:maplesyrup-cs6:20171212160259p:plain

 

と言いたいところですが一番下のScript Alias Left/Right Controllerが空白なので、

持ってきてから喜びます。

f:id:maplesyrup-cs6:20171212160553p:plain

 

VRTK_ControllerEventsヒエラルキーのLeftController、RightControllerに入れます。

f:id:maplesyrup-cs6:20171212160733p:plain

 

これでコントローラーが使えるようになりました。

今回は掴みたいので掴む設定をここからしていきます。

 

掴もう!コントトーラー設定編

 

ヒエラルキーのLeft/Right ControllerそれぞれRigidbodyをつけ、Use GravityIs Kinematicにチェックを入れます。

VRTK_InteractTouchVRTK_InteractGrab入れます。

f:id:maplesyrup-cs6:20171212161559p:plain

f:id:maplesyrup-cs6:20171212161602p:plain

 

インスペクターでVRTK_Interact GrabのController Attach Point

LeftControllerならLeftControllerを、RightControllerにはRightControllerを入れます。

f:id:maplesyrup-cs6:20171212162450p:plain

Rigidbodyがついてないと入れれないのと、ここを設定しないと物がつかめませんでした。

 

掴もう!オブジェクト設定編

 

ここまでくるともう少しです。みんな大好きお豆腐を召喚しましょう。

ここからはふつうのVRTKです。

そこに、VRTK_InteractableObjectを入れて、

f:id:maplesyrup-cs6:20171212164632p:plain

 Is GrabbableIs Usableにチェックをします。

Touch Hilight Colorはわかりやすく黄色にしました。

f:id:maplesyrup-cs6:20171212164718p:plain

 そして重要Rigidbodyをつけます。Use Gravityにチェックを。空中で浮かばせたい場合はIs Kinematicにもチェックを。あと関係ないですがRigidbodyって文字列なんかすごく赤色感じません?

 

これでつかめます!が、このままだと掴んだときに掴みたいところをつかんでも位置がピッて修正されてしまうので(語彙力)、VRTK_FixedJointGrabAttachをつけて、Precision Grabにチェックを入れます。

f:id:maplesyrup-cs6:20171212171136p:plain

 

 わーい!