【问题标题】:How to convert an ASCII JSON 3D model file to binary?如何将 ASCII JSON 3D 模型文件转换为二进制文件?
【发布时间】:2012-03-05 00:32:24
【问题描述】:

在查看一些 webGL 示例(主要是基于 Three.js 的示例)时,我注意到大型模型是通过 ASCII+二进制 JSON 的组合加载的。由于减小了文件大小,这种方法对我很有吸引力。 ASCII JSON 的一般格式为(取自 Three.js 示例,webgl_geometry_large_mesh.html):

{

    "metadata" :
    {
        "formatVersion" : 3,
        "sourceFile"    : "lucy100k.obj",
        "generatedBy"   : "OBJConverter",
        "vertices"      : 50002,
        "faces"         : 100000,
        "normals"       : 0,
        "uvs"           : 0,
        "materials"     : 0
    },

    "materials": [  {
    "DbgColor" : 15658734,
    "DbgIndex" : 0,
    "DbgName" : "default"
    }],

    "buffers": "Lucy100k_bin.bin"

}

如上所示,它不是包含大量顶点、法线、UV 等的部分,而是全部打包到引用的二进制文件中。有谁知道如何创建该二进制文件?我可以用搅拌机做吗?如果没有,有没有我可以使用的脚本?

谢谢

【问题讨论】:

    标签: javascript json 3d three.js


    【解决方案1】:

    根据这一行:

    "generatedBy"   : "OBJConverter"
    

    该文件由OBJConverter 生成(来自一些 .obj 和 .mtl 文件)。

    OBJConverter 是一个名为 convert_obj_three.py 的 Python 脚本,位于 three.js / utils / converters / obj

    自己的脚本有关于“如何使用 Blender 获取正确的 OBJ + MTL 文件”的注释。

    【讨论】:

    • convert_obj_three.py 更新后的网站是three.js / utils / converters / obj
    猜你喜欢
    • 2017-07-11
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-07
    相关资源
    最近更新 更多