【发布时间】:2019-04-17 18:49:28
【问题描述】:
我正在制作一个游戏,其中我旋转具有相同值的所有对象。如果我能够以某种方式旋转所有对象,而不必对每个对象使用 transform.rotate 函数,那将对我有很大帮助(转换确实效率低下)。 我正在考虑将转换设为静态,但这似乎无法实现。我也不能将它们放在一个对象中并移动它,因为它会改变它们的位置。你有什么建议吗?非常感谢任何帮助。
编辑:感谢您的回复。我的目标是旋转具有相同值但不是通用方式的对象。 我不想在每个对象中都使用变换。
void Update()
{
if (Input.GetMouseButton(0))
{
rotX = Input.GetAxis("Mouse X") * sensitivity * Mathf.Deg2Rad;
transform.Rotate(Vector3.forward, rotX);
}
}
我希望它们具有相同的 transform.rotation 和不同的 transform.position 和 transform.scale。这种方式 transform.Rotate() 只会使用一次,而不是对象数量的时间。 我想避免访问每个对象的变换。
【问题讨论】:
-
transform.rotation 是如何低效的?您的对象是彼此的父对象吗?
-
不。按照统一的规定,变换通常效率低下。 unity3d.com/learn/tutorials/topics/performance-optimization/…
-
文章告诉你设置localRotation是高效的。
标签: unity3d