Creator 版本:
- 3.3.2
目标平台
- Chrome
重现方式:
- 创建一个 Prefab,内含一个自定义组件,包含 2 个自定义属性。:
- 在场景中拖拽进 2 个上述 Prefab,修改位置,并在编辑器中修改属性
ab的值。
@property
a: number = 100;
@property
b: string = 'xxxx'
期望表现
- 2 个 Prefab 实例拥有不同的位置,及不同的
ab属性
实际表现:
- 2 个实例拥有不同的位置,但
ab属性的赋值未生效,ab还是 Prefab 内的初始值。
建议
- 除 Node 本身和 UITransform 外,Prefab 上其它组件的属性也支持覆写。
- 相当于实例各组件的实际属性值 =
Object.assign(实例覆写值, Prefab 原始值)
- 相当于实例各组件的实际属性值 =
- 可通过属性名的颜色来标识,该属性是由实例覆写的,还是 Prefab 的原始值,并提供一个属性级别的 “回滚” 按钮以清除覆写。
- 可以参考 Figma,它的组件和实例即是上面这种关系,可以自由覆写任意属性,非常灵活好用。





