嘿,我在使2D精灵面对移动方向时遇到麻烦。它们遵循地图上的航路点,我希望它们在通过航路点时旋转,但是在实现时遇到困难。如果可以的话,我将不胜感激,谢谢。
c.NotebookApp.notebook_dir = 'C:/Users/Евгений/Documents/GitHub/sandbox'
答案 0 :(得分:2)
在脚本中添加以下功能,然后在更新中调用
private void RotateTowardsTarget()
{
float rotationSpeed = 10f;
float offset = 90f;
Vector3 direction = target.position - transform.position;
direction.Normalize();
float angle = Mathf.Atan2(direction.y, direction.x) * Mathf.Rad2Deg;
Quaternion rotation = Quaternion.AngleAxis(angle + offset, Vector3.forward);
transform.rotation = Quaternion.Slerp(transform.rotation, rotation, rotationSpeed * Time.deltaTime);
}
如果旋转似乎消失了,只需将“偏移”值调整90倍,或者将其完全删除即可。