创建材质一般有以下 3 种方式:
参考模型的导入和使用教程,我们可以先将模型导入到编辑器,一般情况下,模型已经自动绑定好材质,用户可以不用做任何操作;
如果想要修改模型材质,我们可以点击 duplicate and remap
按钮来生成一份该材质的副本,注意 Remap 会修改模型预设,如下图所有模型实例都会受到影响:
如果只想修改某个模型的材质,可以使用增量修改的功能:
我们直接将材质拖到场景中即可进行绑定。
我们还可以通过脚本来创建/修改材质,我们将脚本挂载到立方体实体上,实现替换材质的一个 Demo:
export default class extends Script {
onStart() {
// 获取所有 renderer
const renderers = [];
this.entity.getComponentsIncludeChildren(MeshRenderer, renderers);
const renderer = renderers[0];
// 直接修改材质
const material = renderer.getMaterial();
material.baseColor.set(1, 0, 0, 1);
// 或者替换材质
const pbrMaterial = new PBRMaterial(engine);
const material = renderer.setMaterial(material);
}
}