[0]laya3.0.4 材质类型识别的bug问题

目前在layaAir3.0.4中,无论是选择哪种材质,都是直接打印出父类的Material的类型,此种类型下,无论是否进行强转pbr/blinnphong,albedoTexture等这些字段都显示undefined,无法使用,而且也没有办法直接instanceof判断类型,在demo中有打印并附上截图,但是在有的工程中也有极个别的材质会打印出PbrMaterail,但是移到新的工程又无法复现,很困扰,请告知正确的使用方式,谢谢哈。
haha111.png
已邀请:

phhh

赞同来自:

如果你是需要给材质上的属性赋值,想pbr这类属于引擎默认的材质类型,所以是material类型
类似的给属性赋值的方法
1. 获取属性特定ID
Shad3d.propertyNameToID("name");
2.从材质上获取shaderData(参见material.ts)
3.通过获取到的shaderData对象调用特定的setXXX(id, value)方法(参见shaderData.ts)
 

终点其实是起点。

赞同来自:

而且这个问题很奇怪,这个是我整工程里面的对已上传的demo中的“dianshi”模型节点的打印,就是可以直接打印出来是pbrMaterial类型,但是我拿出来建新工程的放入这个“dianshi”模型,未做任何修改,打印出来就是Material类型,为什么呢?

要回复问题请先

商务合作
商务合作