• 如果觉得本站的内容有帮助,可以考虑打赏博主哦!

  • 在本站开通年度VIP,无限制下载本站资源和阅读本站文章

  • 本站会放置Google广告用于维持域名以及网站服务器费用。

  • 工资「喂饱肚子」,副业「养活灵魂」!

  • 本站由于前段时间遭受到大量临时和国外邮箱注册,所以对可注册的邮箱类型进行了限制!

  • 计算机图形学与计算几何经典必备书单整理,下载链接可参考:https://www.stubbornhuang.com/1256/

  • 感谢大家访问本站,希望本站的内容可以帮助到大家!

  • 问题反馈可发送邮件到stubbornhuang@qq.com

  • 欢迎大家交换友链,可在https://www.stubbornhuang.com/申请友情链接进行友链交换申请!

ThreeJS – 动态更换fbx模型的某个子Mesh现有的纹理贴图为指定的纹理贴图

ThreeJS 发布于2021-01-28 阅读 5,893次 0次评论 1次点赞 本文共774个字,阅读需要2分钟。

1 动态更换fbx模型的指定纹理贴图

在使用ThreeJS中的FBXLoader的过程中,我们在有的时候只需要Fbx模型的网格信息,而每个网格的纹理我们想自己动态的指定,这在OpenGL中很简单,在ThreeJS同样也是非常简单。

动态更换子mesh中纹理贴图可参考以下代码:

var fbxModelfilepath = './example.fbx';
var fbxLoader = new THREE.FBXLoader();
fbxLoader.load(fbxModelfilepath,function(fbxObject){
    fbxObject.traverse(function(child){
        if(child instanceof THREE.Mesh)
        {
            if(child.name.indexOf("Body") != -1)
            {
                // 如果贴图格式为tga则使用THREE.TGALoader
                // var loader = new THREE.TGALoader();
                // 如果贴图格式为其他普通格式,则使用Three.TextureLoader
                var loader = new Three.TextureLoader();
                loader.load(
                    './Resource/body.png',   // 本地路径的图片

                    // 加载完贴图后的回调函数
                    function (texture) {
                        child.material.map = texture;
                        child.material.needsUpdate = true;
                        console.log("身体贴图更新完毕");
                    },

                    // 目前不支持加载贴图过程中的回调函数
                    undefined,

                    // 加载出错时候的回调函数
                    function (err) {
                        console.error('An error happened.');
                    }
                );

            }
        }
    });

    scene.add(fbxObject);
});

欢迎扫码关注我的微信公众号,及时获取文章更新

微信公众号二维码

本文作者:StubbornHuang

版权声明:本文为站长原创文章,如果转载请注明原文链接!

原文标题:ThreeJS – 动态更换fbx模型的某个子Mesh现有的纹理贴图为指定的纹理贴图

原文链接:https://www.stubbornhuang.com/1125/

发布于:2021年01月28日 15:44:40

修改于:2023年06月26日 21:58:11

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

文章末尾
上一篇
C++ - 获取当前进程内存使用情况
C++
下一篇
C++ - std::string输出双引号到字符串
C++
当前分类随机文章推荐

发表评论

您必须 [ 登录 ] 才能发表留言!

关注我们的公众号

微信公众号