VRTKでWinMRのコントローラーを動かす
まずWinMRをUnityで使うための設定
WinMRをUnityで使うには、Unity 2017.2.0f3が必要です。
File>Build Settings を開き、プラットフォームをUniversal Windows Platformを選択し、Switch Platformを押します。
その横のPlayerSettingsを開き、Scripting Backendを.NETに変更、
XR Settings のVirtual Reality Supportedにチェックを入れぴよします。
これでWinMRをUnityで使えます。
VRTKでWinMRのコントローラー設定編。
こちらからMRTK(Windows Mixed Reality Tool-Kit)とWinMR用のVRTKを
ダウンロードします。Assetフォルダに
MRTKからHoloToolkit、HoloToolkit-Exampleを、
VRTKからToko、VRTKを入れます。
ヒエラルキーで3つ空のゲームオブジェクトを作り、それぞれ
[VRTK]、LeftController、RightControllerと名前をつけて、LeftControllerとRightControllerを[VRTK]の子オブジェクトにします。
MixedRealityCameraParent_VRTKをヒエラルキーに入れます。ここでMainCameraは削除です。
VRTK_SDKManagerを[VRTK]に入れます。
Auto Populate Objectのチェックを外し、
FallbackになっているところをすべてWindowsMRに変えて、Auto Populate Objectのチェックを入れるとLinked Objectが勝手に設定されるので喜びます。
と言いたいところですが一番下のScript Alias Left/Right Controllerが空白なので、
持ってきてから喜びます。
VRTK_ControllerEventsをヒエラルキーのLeftController、RightControllerに入れます。
これでコントローラーが使えるようになりました。
今回は掴みたいので掴む設定をここからしていきます。
掴もう!コントトーラー設定編
ヒエラルキーのLeft/Right ControllerそれぞれRigidbodyをつけ、Use GravityとIs Kinematicにチェックを入れます。
VRTK_InteractTouchとVRTK_InteractGrabも入れます。
インスペクターでVRTK_Interact GrabのController Attach Pointに
LeftControllerならLeftControllerを、RightControllerにはRightControllerを入れます。
Rigidbodyがついてないと入れれないのと、ここを設定しないと物がつかめませんでした。
掴もう!オブジェクト設定編
ここまでくるともう少しです。みんな大好きお豆腐を召喚しましょう。
ここからはふつうのVRTKです。
そこに、VRTK_InteractableObjectを入れて、
Is Grabbableと Is Usableにチェックをします。
Touch Hilight Colorはわかりやすく黄色にしました。
そして重要Rigidbodyをつけます。Use Gravityにチェックを。空中で浮かばせたい場合はIs Kinematicにもチェックを。あと関係ないですがRigidbodyって文字列なんかすごく赤色感じません?
これでつかめます!が、このままだと掴んだときに掴みたいところをつかんでも位置がピッて修正されてしまうので(語彙力)、VRTK_FixedJointGrabAttachをつけて、Precision Grabにチェックを入れます。
わーい!
WinMRでVRTK使えた🤡 pic.twitter.com/iH2R3kP6Xz
— めーぷる (@MapleSyrupCS6) 2017年12月12日