level 5
伊斯帕丶火纹
楼主
如题,假设你有一组预制体,每个预制体分别负责一个独立功能:比如体积触发器、提示指示器、Mesh和角色显示等等。根据不同的需求,你需要以不同的方式组合它们。
通常我们可以把这些组合好的对象做成一个更大的预制体,但如果组合数量难以预估,最好的方式是通过代码在运行时生成组合体——这就是我目前采用的方案。
我在场景里预先制作了这些组合,并将它们烘焙成 ScriptableObject 以便实例化。但由于各个组件之间存在差异,整个数据结构和烘焙-实例化系统显得比较冗余。
有没有更好的方式来管理这些预制体的组合变体?
(主要是我们在实现一个用来生成所有物体的对象池,所以整个游戏的所有场景都是预先堆好后统一烘焙成数据,再从数据反向建构的。对于静态物体而言很好实现,但对于有具体功能的物体,特别是需要专门记录其具体自定义数据的物体而言就得想想办法了。最简单的就是把它们也整成预制体,但这样一来可能会失去做对象池的意义,二来多继承预制体的管理会非常麻烦,不知道业内是怎么处理这种问题的。)
2025年05月01日 02点05分
1
通常我们可以把这些组合好的对象做成一个更大的预制体,但如果组合数量难以预估,最好的方式是通过代码在运行时生成组合体——这就是我目前采用的方案。
我在场景里预先制作了这些组合,并将它们烘焙成 ScriptableObject 以便实例化。但由于各个组件之间存在差异,整个数据结构和烘焙-实例化系统显得比较冗余。
有没有更好的方式来管理这些预制体的组合变体?
(主要是我们在实现一个用来生成所有物体的对象池,所以整个游戏的所有场景都是预先堆好后统一烘焙成数据,再从数据反向建构的。对于静态物体而言很好实现,但对于有具体功能的物体,特别是需要专门记录其具体自定义数据的物体而言就得想想办法了。最简单的就是把它们也整成预制体,但这样一来可能会失去做对象池的意义,二来多继承预制体的管理会非常麻烦,不知道业内是怎么处理这种问题的。)