终点其实是起点。 目前在layaAir3.0.4中,无论是选择哪种材质,都是直接打印出父类的Material的类型,此种类型下,无论是否进行强转pbr/blinnphong,albedoTexture等这些字段都显示undefined,无法使用,而且也没有办法直接instanceof判断类型,在demo中有打印并附上截图,但是在有的工程中也有极个别的材质会打印出PbrMaterail,但是移到新的工程又无法复现,很困扰,请告知正确的使用方式,谢谢哈。附件:MaterialTest.rar MaterialTest.rar0B
phhh 如果你是需要给材质上的属性赋值,想pbr这类属于引擎默认的材质类型,所以是material类型类似的给属性赋值的方法1. 获取属性特定IDShad3d.propertyNameToID("name");2.从材质上获取shaderData(参见material.ts)3.通过获取到的shaderData对象调用特定的setXXX(id, value)方法(参见shaderData.ts)
终点其实是起点。 phhh 我现在是使用一个编辑器内的材质,我希望获取这个材质内的贴图信息,所以去访问albedoTexture为undefined,并且对这个贴图进行克隆,暂时未找到对贴图克隆的方法,然后将克隆的信息给与我自己代码动态新建的材质上,应该怎么做呢?
终点其实是起点。 而且这个问题很奇怪,这个是我整工程里面的对已上传的demo中的“dianshi”模型节点的打印,就是可以直接打印出来是pbrMaterial类型,但是我拿出来建新工程的放入这个“dianshi”模型,未做任何修改,打印出来就是Material类型,为什么呢?