【问题标题】:How to apply texture for .fbx model in three.js?如何在three.js中为.fbx模型应用纹理?
【发布时间】:2017-07-25 10:01:47
【问题描述】:

如何在运行时更改三个js库中“.fbx”模型的纹理?

【问题讨论】:

    标签: three.js fbx


    【解决方案1】:

    将纹理应用于 .FBX 模型的主要问题是 .FBX 作为一组子模型加载,每个子模型都有自己的材质。替换这些纹理的方法是遍历模型结构:

    // FBX loader returns a group containing a multiple sub-objects. Traverse and apply texture to all. 
    group.traverse(function (child) {
        if (child instanceof THREE.Mesh) {
    
            // apply texture
            child.material.map = texture
            child.material.needsUpdate = true;
        }
    });
    

    对于一个工作示例,我修改了默认的 three.js FBX 示例来演示这一点:

    http://www.eponalabs.com/experiments/FBXReplaceTexture/fbx_replace_texture.html

    当您按下按钮时,上面的代码片段用于将纹理替换为来自Unsplash.it 的占位符图像。

    【讨论】:

    • mesh 是一个群吗?也许您应该将其称为 group 以避免混淆。
    猜你喜欢
    • 2017-02-26
    • 1970-01-01
    • 2018-10-06
    • 2017-09-18
    • 2016-09-09
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    • 2010-12-18
    相关资源
    最近更新 更多