因此,我有一个模型,我用搅拌机,所有的照明和纹理烘焙,但当我导入到THREE.js (保存在.glb格式),它默认的标准材料。这在某些情况下可能是好的,但正如我前面所说,我有所有的照明和纹理烘焙。我如何改变材料从标准到基本,而不失去我的烘焙信息和纹理/必须将它们作为单独的图像导入?
发布于 2022-06-07 12:47:57
您要寻找的是KHR_materials_unlit在glTF中,或者在Blender中称为“无阴影”。您可以使用glTF将其从Blender导出到下面的节点图

通过这种安排,导出的glTF文件将KHR_materials_unlit应用到材料上,而纹理中的烘焙照明将保存在ThreeJS中。
发布于 2022-06-07 13:09:00
通过这种方式,您可以加载您的模型,并在其上放置自定义材料。
这也适用于你的glb模型。但是有三个js强烈建议使用gltf。
const modelPath = "your model path";
const texturePath = "your texture path"
const loader = new GLTFLoader();
const texture = new TextureLoader().load(texturePath);
loader.load( modelPath, function ( gltf ) {
const model = gltf.scene;
model.traverse((obj) => {
if(obj instanceof Mesh){
obj.material = new MeshBasicMaterial({map: texture})
}
}
)
}, undefined, function ( error ) {
console.error( error );
} );https://stackoverflow.com/questions/72527819
复制相似问题