首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在THREE.js中修改gltf模型的材料?

如何在THREE.js中修改gltf模型的材料?
EN

Stack Overflow用户
提问于 2022-06-07 08:01:38
回答 2查看 560关注 0票数 1

因此,我有一个模型,我用搅拌机,所有的照明和纹理烘焙,但当我导入到THREE.js (保存在.glb格式),它默认的标准材料。这在某些情况下可能是好的,但正如我前面所说,我有所有的照明和纹理烘焙。我如何改变材料从标准到基本,而不失去我的烘焙信息和纹理/必须将它们作为单独的图像导入?

EN

回答 2

Stack Overflow用户

发布于 2022-06-07 12:47:57

您要寻找的是KHR_materials_unlit在glTF中,或者在Blender中称为“无阴影”。您可以使用glTF将其从Blender导出到下面的节点图

通过这种安排,导出的glTF文件将KHR_materials_unlit应用到材料上,而纹理中的烘焙照明将保存在ThreeJS中。

票数 0
EN

Stack Overflow用户

发布于 2022-06-07 13:09:00

通过这种方式,您可以加载您的模型,并在其上放置自定义材料。

这也适用于你的glb模型。但是有三个js强烈建议使用gltf。

代码语言:javascript
复制
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 );
} );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72527819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档