以一种让所有对象都表现相同的方式克隆对象

Cloning objects in a way for all to behave the same

是否可以在 Unity 中以所有克隆对象行为相同的方式实例化预制件?

例如,如果我旋转一个,所有副​​本必须旋转相同,如果我改变颜色,所有副本必须得到相同的颜色

我确实知道如何迭代数组并将操作应用于每个数组,但我想知道是否有更简单或更自动化的方法

谢谢!!

正如您所提到的,实现您所尝试的目标的一个好方法是使用管理器来处理逻辑,然后将响应操作发送到它正在管理的所有对象。如果您不想使用管理器,您可以拥有一些对象的原始实例来处理移动、旋转、缩放等逻辑,并为所有其他克隆子代。

只要原始对象发生变化,原始对象的所有子克隆都会移动、旋转和缩放。需要注意的是,实例化时的克隆将是相对于父对象的位置、旋转和缩放。您可以通过使用 Quaternion.Identity. A similar approach can be taken for the scale and position if you would like. As for the color, simply set a material and edit the sharedmaterial 的旋转实例化对象来确保旋转相同,这会将对象的所有实例的颜色设置为您设置的颜色。

我不相信有一种内置的方法可以将所有这些更改应用于所有克隆。实现一个保留结构来保存和更新每个克隆的管理器会更干净。如果您只希望克隆模仿变换数据和颜色,则可以按照我提到的方式完成。但是,并非所有内容都可以通过这种方式更新,因此您在没有经理的情况下可以做的事情受到限制。