2
私の問題は、現在のウェイポイントに向かって移動しようとすると、奇妙な方向に向かい、パスに完全に従わないということです。AIは、ウェイポイントに従うときに奇妙な方向に向くUNITY
IEnumerator FollowPath() {
Vector3 currentWaypoint = path[0];
while (true) {
//transform.LookAt (currentWaypoint);
if (transform.position == currentWaypoint) {
PathRequestManager.RequestPath(transform.position,target.position,OnPathFound);
targetIndex=0;
targetIndex ++;
//Debug.Log(currentWaypoint);
if (targetIndex >= path.Length) {
targetIndex =0;
path = new Vector3[0];
//yield break;
}
currentWaypoint = path[targetIndex];
}
transform.LookAt (currentWaypoint);
transform.position = Vector3.MoveTowards(transform.position,currentWaypoint,speed * Time.deltaTime);
yield return null;
}
}
現在、*路線検索を使用しています。 https://github.com/SebLague/Pathfinding
現在のウェイポイントに到達すると、その方向がランダムに変更されるか、またはランダムに方向に直面し、次のウェイポイントを通過しません。コード内のこの部分では(Screenshot)
方向がないとき、または位置が静的であるときに他のウェイポイントに行くのを忘れてしまった。しかし、私は彼があまりにも見ている方向に追加すると、約10秒間不思議な方向に向かい、次のウェイポイントに行くか、時には次のウェイポイントに行かない。 –
'targetIndex = 0;を取り除きます – maksymiuk
私はあなたの提案を試しましたが、ウェイポイントに到達した後でもまだ奇妙な方向に向いています。私は何とかエラーがどこから来たのか分かっていますが。アニメーションとこのコード行 "transform.LookAt(currentWaypoint);"から来ます。私はアニメーションを取り除こうとしましたが、どういうわけかそれは次のウェイポイントに行きます。どうすればこの問題を解決できますか?アニメーションは静的な実行のみを持ちます。アイドルや何もないので、アニメーションのみを実行します。 –