c# - 以一种所有人都表现相同的方式克隆对象
问题描述
是否可以在 Unity 中以所有克隆对象的行为相同的方式实例化预制件?
例如,如果我旋转一个,所有副本必须旋转相同,如果我改变颜色,所有副本都必须得到相同的颜色
我确实知道如何迭代数组并将操作应用于每个数组,但我想知道是否有更简单或更自动化的方法
谢谢!!
解决方案
正如您所提到的,实现您想要实现的目标的一个好方法是使用管理器来处理逻辑,然后将响应操作发送到它正在管理的所有对象。如果您不想使用管理器,您可以拥有一些处理移动、旋转、缩放等逻辑的对象的原始实例以及所有其他克隆的子对象。
每当原始对象更改时,原始对象的所有子代克隆都会移动、旋转和缩放。需要注意的是,实例化时的克隆将是相对于父对象的位置、旋转和缩放。您可以通过实例化对象的旋转来确保旋转相同Quaternion.Identity
。如果您愿意,可以对比例和位置采取类似的方法。至于颜色,只需设置一个材质并编辑sharedmaterial
它会将对象的所有实例的颜色设置为您设置的任何颜色。
我不相信所有这些更改都适用于所有克隆的内置方式。实现一个管理器来保持一个结构来保存和更新每个克隆会更干净。如果您希望克隆模仿的只是变换数据和颜色,则可以按照我提到的方式完成。但是,并非所有内容都可以通过这种方式进行更新,因此您在没有经理的情况下可以做的事情受到限制。
推荐阅读
- android - 仅将 Firebase 分析重新路由到另一个帐户
- java - Java 持久异常
- jquery - $(...).tabOverride 在使用 tabOverride jquery api 时不是一个函数
- excel - 如何根据单元格Excel VBA中的列表过滤不等于数据
- java - 删除有约束的行
- ruby-on-rails - 根页面#home 还是根帖子#index?
- python - 如何使用 python selenium 迭代网页中的动态表?
- python - pip 正在成功安装 h2o4gpu,仍然收到“ImportError: No module named h2o4gpu”
- android - 来自同一事件的Android后退按钮
- wordpress - 将 wordpress 类别显示为分层