Skip to main content

替换对象(Replace Object)

replace-object-cd77e3decd37abd9d0100f67dc66b1c1.png

替换对象(Replace Object)组件能够完全替换原虚拟形象中一个游戏对象(GameObject)的内容。

适用场景

该组件在您想将原来的虚拟形象中的一个对象替换成另一个对象时很有用。 例如,您想替换虚拟形象的动骨(PhysBone)配置,或者替换虚拟形象的身体网格(Mesh)。

非适用场景

一个对象只能被另一个对象替换。因此,使用了替换对象(Replace Object)后,会限制该资产与其他也使用替换对象(Replace Object)的资产的兼容性。

详细操作

处理子对象

替换对象(Replace Object)组件只替换所指定的对象。原对象和新对象下的子对象都将会被置于新对象下。

对象命名

替换对象(Replace Object)组件不会修改新对象的名称;如果新对象的名称和原对象不同,那么最终的对象名称就不同。但是,替换对象(Replace Object)组件把动画中的引用从原对象改为新对象。

替换对象(Replace Object)在虚拟形象编译流程中的执行顺序比较靠后,因此大部分情况下的差别不大。但是某些情况下会有问题 - 比如说 - 您在替换 Body(身体) 网格的同时想要保持 MMD 世界的兼容 (或者相反,您想给虚拟形象添加 MMD 兼容)时。

处理组件引用

替换对象(Replace Object)组件会尝试将对原对象的引用改为对新对象的引用。 如果原对象中有多于一个同种组件,那么在新对象中将会根据组件在原对象的索引进行引用(或者新对象中该类型组件的数量不够时作废)。

替换对象(Replace Object)组件不会执行模糊匹配;比如说,您将一个盒型碰撞体(Box Collider)替换为球型碰撞体(Sphere Collider),对旧的盒型碰撞体的引用将作废。