[英]How to rotate a 3D object around a single axis?
我有一个 3D 游戏对象,我想在垂直平面上从 A 移动到 B。 我整理了运动部分:
public Vector3 start;
public Vector3 end;
public GameObject spaceship;
bool flying;
void OnStart(){
spaceship.transform.position = start;
flying = false;
}
void Update(){
if (flying)
MovingSpaceship();
}
void MovingSpaceship(){
if (spaceship.transform.position != end)
{
spaceship.transform.position = Vector3.MoveTowards(spaceship.transform.position, end, speed * Time.deltaTime);
}
}
问题是我希望游戏对象指向目的地。 我在这篇文章中找到了一个答案,但是给我不想旋转的轴赋予 0 值对我来说不起作用:
还有其他选择吗?
假设您正在 XY 平面中移动游戏对象,Z 是您没有修改的深度,那么您可以在代码中放置某个位置:
spaceship.transform.LookAt(end, Vector3.back);
如果您没有在 XY 计划中移动spaceship
,那么您需要为worldUp
属性赋予不同的值。 文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.