【问题标题】:Colada texture export for Three.jsThree.js 的 Colada 纹理导出
【发布时间】:2014-02-24 23:49:01
【问题描述】:

我在 .FBX 中有一个文件,我需要在 collada 中转换它们,以便可以在 Three.js 中使用它们。 我设法用 FBX Converter 转换它们,但后来我丢失了纹理。 如何转换它们以便我可以使用纹理。

这是使用 FBX Converter 转换的 FBX: pearl.dae

这是我在 Maya 2013 中导出为 FBX_DAE 的模型链接 model2.dae 我刚刚导入 FBX 并导出为 FBX_DAE

如果我在 Mac 上进行快速预览,在 Maya 中导出的模型有纹理,但是当我在 Three.js 中加载它时,它没有纹理。

而用FXB转换器转换的pearl.dae在快速预览和Three.js中都没有纹理

这是我的加载器代码:

var Loader  = new THREE.ColladaLoader();
        Loader.options.convertUpAxis = true;
        Loader.load('./models/pearl.dae', function(collada){
            Bracelet = collada.scene;
            Skin = collada.skins[0];

            Bracelet.scale.x = Bracelet.scale.y = Bracelet.scale.z = 1;
            Bracelet.updateMatrix();

            init();
            render();

        });

请帮忙。

【问题讨论】:

    标签: javascript three.js collada fbx


    【解决方案1】:

    我查看了您的模型文件,pearl.dae 不包含对任何纹理的引用。您可能需要仔细检查您的 FBX 转换器设置以及您可能收到的任何错误或警告。另一方面,model2.dae 确实引用了具有“../../Model/Nialaya_perla.fbm/Perla_diffuse.jpg”相对路径的纹理(纹理不包含在模型文件本身中)。我不记得 Three.JS 是否会自动从 Collada 模型文件中加载纹理,但除非该路径正确,否则它肯定会失败。根据我使用 Three.JS 的经验,加载纹理、创建着色器并将它们应用到仅使用代码的普通模型通常会更好。这也将使您能够最大程度地控制最终外观。

    【讨论】:

    • 好的,但是我怎样才能改变那个参考路径呢?
    • 您可以在 Maya 中更改纹理文件的路径,然后重新导出,或者由于 Collada 文件只是 XML,您可以在文本编辑器中打开它们并手动编辑纹理路径。此外,请检查您浏览器的网络面板以查看是否正在请求文件。至于手动创建贴图,这里有一些使用 Three.JS 创建材质的教程:stemkoski.github.io/Three.js/#materials-solid
    猜你喜欢
    • 2017-06-10
    • 2016-02-27
    • 2017-04-26
    • 2012-09-17
    • 2017-10-05
    • 2015-05-16
    • 2018-11-23
    • 2013-12-08
    • 2016-05-17
    相关资源
    最近更新 更多