【发布时间】:2018-09-15 11:34:33
【问题描述】:
我正在创建一个无限的 2d 地形生成器,其中包含各种瓷砖/块。此外,某些图块具有在其自己的脚本中描述的特殊功能。
例如,蜂箱瓷砖可以在其周围生成蜜蜂。如果附近有草等,泥瓦会变成草。
现在,所有这些图块几乎都是相同的游戏对象,唯一的区别是它们使用的精灵(图标)和描述它们行为的脚本。
现在我可以轻松地制作所有瓦片的预制件,并在加载新地形时实例化预制件并在卸载时销毁预制件,但这对于垃圾收集器肯定不是一个好主意,因为这些瓦片会生成100 秒的订单。
此外,对象池不是在这里是一个选项,因为我需要在开始时创建太多对象(成千上万)。
所以,这是我的问题:
我有一块泥土瓷砖,上面有泥土脚本。过了一段时间,我想将其转换为具有草脚本组件但没有污垢的草瓦。
除了删除 Dirt 脚本和添加 Grass 脚本之外,还有其他更好的方法来转换这些 GameObjects 吗?另外,大量添加和移除组件的效率如何?
【问题讨论】: