我有一个 .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/