トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

Viveで(MMDモデルに)登る動作

www.nicovideo.jp

この動画を参考に作りました。

VRTKの登る機能としては、下のデモ解説記事がわかりやすかったです。

negilab-unity.com

登るには

基本的には、

空のゲームオブジェクトにVRTK_PlayerClimbをつけて、

登る対象物にVRTK_InteractableObjectIs Grabbableにチェック)とVRTK_ClimbableGrabAttachをつけて、

コントローラーにVRTK_ControllerEventsVRTK_InteractGrabをつければいい。

 MMDモデルなどに登る

キューブなどのデフォルトのゲームオブジェクトならこれで登れるが、どこからかもってきたオブジェクトにはコライダーとかをつけないといけないらしい。長方形とか、旧型のオブジェクトならデフォルトにあるBox Colliderとかをつければいいのかな?

MMDモデルにコライダーをつけるにはSAColliderBuilderというアセットを使っていた。

インポートしたら、モデルにSA_Bone_Collider_Builderをつける。人型に適しているそうだ。

Shape TypeをMesh、Mesh TypeをConvex HullにしてProcess。

自動で生成された!すごーい。

登るコツ?

コントローラーは左右の側面のボタンを使う。ものを掴む動作と同じ。

うまく登れる時と、登れない時がある。VRTKのサンプルは重力も感じてうまく登れるのだけど、自分で作ったやつだと、上に登れなかったり自分に重力がなかったりする。二つのコントローラーで、片方を掴んだまま、片方の手で上に行くっていうのがうまくできない。

VRTK_BodyPhysicsをつけるとユーザーの体は壁にぶつかるらしい。

逆にこれを外さないと上に進めない時もある。

よくわからないな〜