如何导出Json几何的索引

时间:2014-10-23 08:55:27

标签: json webgl maxscript

我在MaxScript中编写了一个脚本,成功导出了网格的顶点位置。顶点按照3dsMax索引顺序排序。我应该如何编写索引,以便webgl应用程序可以读取正确的顺序并构建原始三角形?

换句话说,如果我在输出文件中输入print,我得到的网格索引:1,2,3,4,5,6,7等......这不是webgl的正确顺序。< / p>

1 个答案:

答案 0 :(得分:1)

我不熟悉WebGL,但我确信顶点位置不够,你需要知道每个面的构建方式及其法线。

您可以收集顶点的位置,然后按照构建顺序获取构成每个面的顶点。在某些情况下,您需要知道关闭顶点是什么,因此您可能希望将其添加到数组中(我将其作为第四个ID包含在内)。

例如:

normals = #(#(0.07, 0.01, 0.07), #(0.0, 1,.0, 0.0), etc...)
vertices = #(#(102.003, 200.44, 4598.93), #(405.77, 234.65, 4599.01), etc...)
faces = #(#(32, 35, 33, 32), #(512, 423, 511, 512), etc..)

我建议转储到包含所有这些信息的字典,以及映射您的面部或顶点位置。例如:

{
    'normals' : {'32': [0.07, 0.01, 0.07], '33': [0.0, 1,.0, 0.0], etc.. },
    'vertices' : {'32': [102.003, 200.44, 4598.93], 33: [405.77, 234.65, 4599.01], etc...},
    'faces': {'152': [32, 35, 33, 32], '153': [512, 423, 511, 512], etc... }
}

在几何构建方面,这些是必需品。

希望这有助于您走上正确的轨道。

编辑:阅读此https://github.com/mrdoob/three.js/wiki/JSON-Model-format-3

您可能希望以特定格式写出来。