この動画を参考に作りました。
VRTKの登る機能としては、下のデモ解説記事がわかりやすかったです。
登るには
基本的には、
空のゲームオブジェクトにVRTK_PlayerClimbをつけて、
登る対象物にVRTK_InteractableObject(Is Grabbableにチェック)とVRTK_ClimbableGrabAttachをつけて、
コントローラーにVRTK_ControllerEvents、VRTK_InteractGrabをつければいい。
MMDモデルなどに登る
キューブなどのデフォルトのゲームオブジェクトならこれで登れるが、どこからかもってきたオブジェクトにはコライダーとかをつけないといけないらしい。長方形とか、旧型のオブジェクトならデフォルトにあるBox Colliderとかをつければいいのかな?
MMDモデルにコライダーをつけるにはSAColliderBuilderというアセットを使っていた。
インポートしたら、モデルにSA_Bone_Collider_Builderをつける。人型に適しているそうだ。
Shape TypeをMesh、Mesh TypeをConvex HullにしてProcess。
自動で生成された!すごーい。
登るコツ?
コントローラーは左右の側面のボタンを使う。ものを掴む動作と同じ。
うまく登れる時と、登れない時がある。VRTKのサンプルは重力も感じてうまく登れるのだけど、自分で作ったやつだと、上に登れなかったり自分に重力がなかったりする。二つのコントローラーで、片方を掴んだまま、片方の手で上に行くっていうのがうまくできない。
VRTK_BodyPhysicsをつけるとユーザーの体は壁にぶつかるらしい。
逆にこれを外さないと上に進めない時もある。
よくわからないな〜