javascript - 为 Three.js 导出 Colada 纹理

标签 javascript three.js collada fbx

我有一个 .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();

        });

请帮忙。

最佳答案

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

关于javascript - 为 Three.js 导出 Colada 纹理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21494379/

相关文章:

javascript - 如何在 Windows 8 应用程序中实现和激活搜索?

javascript - jquery 在页面中间居中一个div

javascript - Angularjs - 在不更改 url 的情况下更改模板

javascript - 为什么我的窗口调整大小事件监听器不起作用?使用 Three.js 和 Vuetify.js

javascript - InstancedBufferGeometry 的 PhongMaterial

javascript - ColladaLoader 和 progressCallback

JavaScript 函数数组 : Pass each function as parameter to another function

javascript - Heroku 部署 - 推送被拒绝,未检测到 Cedar 支持的应用程序

ios - 无法显示缓存目录中的 3d 文件

javascript - 为什么 THREE.ColladaLoader 会停止网站上的所有事件?