[英]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.