BlendTreeを使う理由は移動速度に応じてアニメーションを変えるためのようですので、必須であるかと思います
通常のアニメーションを使って動かすのなら、NavMeshの移動をRigidBodyやTransform.positionの移動などに変換し、NavMesh自体で動かないようにすれば動くはずです
実際に私の環境では動きました
一度試してみてください
//NavMeshAgentの移動をRigidBodyに変換する例
[SerializeField]
NavMeshAgent nav; //オブジェクトのNavMeshAgent
GameObject Target; //NavMeshの目標のオブジェクト
[SerializeField]
Rigidbody rb; //オブジェクトのRigidBody
Vector3 WalkTargetPoint; //1フレーム後の移動方向
// Start is called before the first frame update
void Start()
{
Target = GameObject.Find("目標のオブジェクト名");
nav.SetDestination(Target.transform.position);
}
// Update is called once per frame
void Update()
{
if (nav.pathPending == false)
{
WalkTargetPoint = nav.path.corners[1];
Quaternion Point = Quaternion.LookRotation(WalkTargetPoint - transform.position);
Point.x = 0;
Point.z = 0;
transform.rotation = Point;
rb.AddForce(transform.forward * 4f);
}
}
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/02/02 20:17