回答:
ルックアット機能はあなたのためにこれを行います。これを不適切に使用している可能性があります。または、これに問題がある場合、ステアリングに問題があります。次の方法でも試すことができます。
//find the vector pointing from our position to the target
dir = (Target.position - transform.position).normalized;
//create the rotation to look at the target
rotation = Quaternion.LookRotation(dir);
これで、その回転にスナップするか、時間をかけてゆっくりと回転させることができます。(時間の経過とともにゆっくりと、このすべてのコードが更新関数に入る必要があることを意味します)
//rotate over time
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, Time.deltaTime * RotationSpeed);
//snap rotation
transform.rotation = rotation;
2Dの場合、別の代替方法はAtan2です。
angleBetween = Mathf.Atan2(point2Y - point1Y, point2X - point1X) * 180 / Math.PI))