【问题标题】:How to save a geometry and its material created in Three.js as collada file?如何将 Three.js 中创建的几何图形及其材质保存为 collada 文件?
【发布时间】:2013-04-20 14:44:34
【问题描述】:

我对编程比较陌生,目前正在尝试了解有关 three.js 的更多信息,这是一个 JavaScript 3D 库。许多事情相对容易理解,但我很难保存几何图形及其材料。

我已经构建了一个简单的立方体,并且每当加载图片时都会将图像投影到它上面。 像这样:

$('#picture')[0].onload = function() {
    var texture = new THREE.Texture(this,null);
    texture.needsUpdate = true;
    cube.material = new THREE.MeshBasicMaterial( { map: texture } );
    render();
}

我的目标是保存立方体及其材料。理想情况下,我想将其直接保存为 .dae 文件,因为我想在其中导入我的多维数据集的另一个程序只需要 .dae 文件。

但是,我找不到 THREE.js 的 collada 导出器。因此,我搜索了其他可以生成我可以打开的文件格式的导出器,例如Blender 或 MeshLab 并从那里另存为 .dae。不幸的是,我无法使用这些导出器保存几何和材质/图片:

GeometryExporter.js、OBJExporter.js、SceneExporter.js

我还研究了 OBJ 和 MTL 的组合。我确实找到了 OBJMTLLoader.js,但是我缺乏将 OBJMTLLoader.js 重写为 OBJMTLExporter.js 的知识

谁能帮我找到从 THREE.js 中的立方体及其(图片)材料到 .dae 文件的方法?

【问题讨论】:

    标签: save three.js collada exporter


    【解决方案1】:

    对于这样一个非常简单的用例,您可以手动编写 DAE,或者更简单,即时修改现有 DAE。如果您更改文件扩展名,它只是 XML。

    在 Blender 中使用材质创建简单的立方体,将其导出到 DAE,并将其用作模板。使用文本编辑器阅读简单的 DAE 文件并不难,您可以找到相关部分并在 javascript 中搜索和替换这些部分(可能是纹理参考、材料属性和 UV)。

    这可能不是您正在寻找的,但可以工作。没有多少格式对材料有适当的支持,而且我怀疑你是否能成功地找到一个工作的、功能齐全的 Three.js 导出器来处理这样的事情(虽然不确定)。

    【讨论】:

      猜你喜欢
      • 2015-01-28
      • 1970-01-01
      • 1970-01-01
      • 2015-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-07
      • 1970-01-01
      相关资源
      最近更新 更多