2022年2月13日

预制件的新增与改进

此新版本的 Evergine 为 Prefab System 添加了多项修复和改进。最显著的新功能是能够向 Prefab Instance 实体添加和移除组件,以及添加子实体的选项。

 

向预制体实例添加实体

向预制体实例添加实体,就像向普通实体添加一个普通子实体一样,您只需拖放实体或从实体层级面板创建即可。

在下图中,我们向一棵树的预制体实例添加了一只鸟实体(可以注意到,树实体带有(Prefab)标签,而鸟实体没有)。

向预制体实例添加实体不会更改同一预制体的其他实例。

 

为避免意外后果,Evergine不允许从预制体实例层级中移除实体,但根预制体实例实体除外,移除根实体会导致从场景中移除整个预制体实例。

向预制体实例添加和移除组件

另一个令人兴奋的新增功能是可以向预制体实例实体添加和移除组件。同样,操作方式与普通实体相同。Evergine会区分新增组件与实例化组件,并追踪已移除的组件。

让我们向其中一棵树添加一个Spinner组件。

 

我们决定提供移除组件而非实体的功能,是因为我们认识到,与删除实体并可能移除整个层级分支相比,失去层级一致性的风险更小。在处理预制体时,我们需要牢记,它们通常需要至少一点内部一致性才能正常工作。

 

后续Evergine版本将为预制体系统带来新的有趣功能。敬请期待!

Antonio avila
作者
Antonio Ávila
Plain Concepts Research