Unityで人間型モデルの上を歩くためのスクリプト。
数個のスクリプトをアタッチするだけで、人間型モデルの上を歩けるようになります。ベータ版のため、うまく立てないなど不安定な場合がありますがご了承ください。
Unity5.5で動作を確認済みです。
人形モデルの上へ立つための重力を設定するためにボーンを使用しているため、地面としてつかうモデルにはボーンが入っている必要があります。
-
地面となる人間型モデルの設定
BoneGravityControllerとHumanColliderControllerをアタッチしてください。
モデルの形状がアニメーションにより変化する場合に形状の変化をColliderに反映させたい時は、HumanColliderControllerのEnableRealtimeUpdateをtrueに設定してください。
EnableRealtimeUpdateをtrueにした場合、動作が重くなります。EnableTimeLagUpdateをtrueにすると、精度と引き換えに動作が軽くなる可能性があります。
-
人間型モデルの上を歩かせたいゲームオブジェクトの設定
GravityReceiverをアタッチしてください。重力が弱い場合は、accelerationで調整できます。
-
カメラの設定
AngleFreeFollowCameraをアタッチし、targetに追従したいゲームオブジェクトを指定してください。
また、distanceとheightを設定することでカメラの位置を調整できます。
-
Unityの物理演算による重力の設定
Unityの物理演算による重力が働いていると、うまく人間型モデルの上に立てない場合があります。
その場合は Edit->Project Settings->Physics から重力加速度を0に設定するか、RigidBodyのUseGravityをfalseに設定してください。
それらの設定が行えない場合は、GravityReceiverのForceToInvalidateRigidBodyGravityをtrueに設定してください。
使用したいUnityプロジェクトでWalkOnHuman.unitypackageをインポートすることで使用できるようになります。
このスクリプトのサンプルも必要な場合は、WalkOnHumanWithSample.unitypackegeをインポートしてください。
これらのUnityパッケージはリリースページからダウンロードできます。
ユニティちゃんライセンスに基づきます。
Unityパッケージに含まれるサンプル内でユニティちゃんを使用しています。
Cdec