this.normalMap = m.getProperty(“normalMap”) as Texture2D;
this.metallicRoughnessMap = m.getProperty(“metallicRoughnessMap”) as Texture2D;
this.emissiveMap = m.getProperty(“emissiveMap”) as Texture2D;
let m2 = new Material();
// 初始化
m2.initialize({
effectName: "builtin-standard",
defines: {
USE_ALBEDO_MAP: true,
USE_NORMAL_MAP: true,
USE_METALLIC_ROUGHNESS_MAP: true,
USE_EMISSIVE_MAP: true,
}
})
// 复制
m.copy(m2);
m2.setProperty("albedoMap", this.albedoMap);
m2.setProperty("normalMap", this.normalMap);
m2.setProperty("metallicRoughnessMap", this.metallicRoughnessMap);
m2.setProperty("emissiveMap", this.emissiveMap);
这是我从m材质复制到m2的逻辑代码,现在m2.setProperty(“metallicRoughnessMap”, this.metallicRoughnessMap);这一行报错,说没有"metallicRoughnessMap"这个属性,有人知道为什么吗