我需要在 Z 軸上隨機旋轉,然后以設定的速度將物件旋轉到該 Z 軸,但我不知道該怎么做。任何幫助,將不勝感激。我正在使用 C# 順便說一句。.
我試圖用 Vector 2 來做,但我無法讓它與 Z 軸一起作業
uj5u.com熱心網友回復:
嘗試這樣的事情:
- 在您的代碼中,定義一個允許您設定速度的變數。
- 在更新函式中,根據 Time.DeltaTime 指定物件集的旋轉。更新功能每幀運行一次,因此將以您指定的速度執行旋轉。
Time.DeltaTime 用作微調速度的一種方式。您可以簡單地將旋轉設定為您在步驟 1 中設定的值,但它可能會非常快。
所以 ...
public float speed = 2.0f;
void Update()
{
var rotation = Time.DeltaTime * speed;
transform.Rotate(new Vector3(0, 0, rotation));
}
我沒有嘗試過,但即使它不起作用,它也應該讓你走上正確的道路。順便說一句,此代碼假定此組件正在附加到您要旋轉的物件上。
我不記得 Rotate 函式的正確功能,因此您可能需要這樣做:
public float speed = 2.0f;
void Update()
{
var rotation = transform.Rotate;
rotation.z = Time.DeltaTime * speed;
transform.Rotate(new Vector3(0, 0, rotation));
}
Vector2 不起作用的原因是因為只有 X 和 Y。即使您嘗試進行 2D,Unity 仍然將其視為 3D 物件用于變換和旋轉目的,因此您必須使用 Vector3 來獲取 Z -軸。
uj5u.com熱心網友回復:
gameobject.Rotate(x,y,z)
這在您的更新功能中。gameobject 用于您要旋轉的物件。xyz 是您需要設定的常量。您可以使用 random 函式生成亂數。這將旋轉你的游戲物件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/525151.html
標籤:C#unity3d
上一篇:第一次點擊時旋轉到不同的角度
下一篇:團結一致地產生敵人