团结 |按指定角度(0~360度)旋转游戏对象
Unity | Rotate the gameObject by specified angle (0~360 degree)
我很难用操纵杆旋转游戏对象。游戏杆将 json 数据包含的角度值发送到游戏对象。 gameOjbect 应该在收到 Jsondata 时自行旋转。但是,我想知道如何统一旋转它的角度(0 到 360 度),因为我只知道使用下面的 (Vector3) 位置。
Quaternion.LookRotation
public static Quaternion LookRotation(Vector3 forward,
Vector3 upwards = Vector3.up);
总而言之,我只想知道将游戏对象旋转角度。
transform.eulerAngles = new Vector3(90, 0, 0);
将您的游戏对象沿 x 轴旋转 90 度。
或者用
也可以顺畅旋转
Vector3 destination = new Vector3(90,0,0);
transform.eulerAngles = Vector3.Lerp(transform.rotation.eulerAngles,
destination,
Time.deltaTime);
使用RotateAround
.
// Rotate around world y.
transform.RotateAround(transform.position, Vector3.up, angle);
// Rotate around local y.
transform.RotateAround(transform.position, transform.up, angle);
您可能会在 Transform
文档中找到其他有用的东西。
给正在阅读本文的人的快速提示。 transform.RotateAround
在 Unity 的最新版本中已过时。需要使用 transform.Rotate(Vector3 eulerAngles)
代替。
这里是实例化以 'randomAngleRotation' 角度旋转的射弹的示例。
Projectile newProjectile = Instantiate<Projectile> (projectile,projectileSpawn [i].position, projectileSpawn [i].rotation) as Projectile;
newProjectile.transform.Rotate(new Vector3(Random.Range(randomAngleRotation, randomAngleRotation), Random.Range(randomAngleRotation, randomAngleRotation)));
我很难用操纵杆旋转游戏对象。游戏杆将 json 数据包含的角度值发送到游戏对象。 gameOjbect 应该在收到 Jsondata 时自行旋转。但是,我想知道如何统一旋转它的角度(0 到 360 度),因为我只知道使用下面的 (Vector3) 位置。
Quaternion.LookRotation
public static Quaternion LookRotation(Vector3 forward,
Vector3 upwards = Vector3.up);
总而言之,我只想知道将游戏对象旋转角度。
transform.eulerAngles = new Vector3(90, 0, 0);
将您的游戏对象沿 x 轴旋转 90 度。
或者用
也可以顺畅旋转Vector3 destination = new Vector3(90,0,0);
transform.eulerAngles = Vector3.Lerp(transform.rotation.eulerAngles,
destination,
Time.deltaTime);
使用RotateAround
.
// Rotate around world y.
transform.RotateAround(transform.position, Vector3.up, angle);
// Rotate around local y.
transform.RotateAround(transform.position, transform.up, angle);
您可能会在 Transform
文档中找到其他有用的东西。
给正在阅读本文的人的快速提示。 transform.RotateAround
在 Unity 的最新版本中已过时。需要使用 transform.Rotate(Vector3 eulerAngles)
代替。
这里是实例化以 'randomAngleRotation' 角度旋转的射弹的示例。
Projectile newProjectile = Instantiate<Projectile> (projectile,projectileSpawn [i].position, projectileSpawn [i].rotation) as Projectile;
newProjectile.transform.Rotate(new Vector3(Random.Range(randomAngleRotation, randomAngleRotation), Random.Range(randomAngleRotation, randomAngleRotation)));