有点蠢的问题
@property({ type: cc.Material, displayName: '要更换的材质'}) RZMaterial = null;
@property({ type: cc.RenderableComponent, displayName: '目标节点带有Mesh'}) RZMesh = null;
见上,我有两个开放的编辑器槽,一个传入资产里的材质,另一个传入一个节点,这个节点是带 cc.MeshRenderer
的,Mesh是设置了一个资产的模型,Meaterials数量有1个,也是设置了。
我希望通过代码也就是获取目标节点的MeshRenderer后设置它的材质。
代码类似:
this.RZMesh._materials[0] = this.RZMaterial;
console.log('-------------------'+this.RZMesh.materials()[0]);
当然它是错误的。api文档我看了在
https://docs.cocos.com/creator3d/api/zh/classes/model.renderablecomponent.html
另外编辑器开放接口不能设置为cc.MeshRenderer 它不认,然后即便定义是cc.Node然后用getComponent(cc.MeshRenderer) 是null
所以它到底是什么逻辑?