【问题标题】:How do you export indices for Json geometry如何导出 Json 几何的索引
【发布时间】:2014-10-23 08:55:27
【问题描述】:

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

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

【问题讨论】:

    标签: json webgl maxscript


    【解决方案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

    你可能想用那种特定的格式写出来。

    【讨论】:

    • 查看其他脚本并查看您的答案,Klaudikus,另一个问题出现了。我应该导出面索引还是顶点索引?
    • 在提供的链接中,顶点索引是隐含的,因为您的顶点列表实际上是由坐标组成的。所以前三个坐标,属于索引为 0 的顶点,列出索引 3 到 5 的值是属于顶点 1 的 x y 和 z 坐标,等等。在面的情况下,你并不需要它们的索引。你只需要知道每个面的顶点是什么,它们的坐标和法线是什么。我参考的格式包括所有这些信息。
    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 1970-01-01
    • 1970-01-01
    • 2016-08-18
    • 1970-01-01
    相关资源
    最近更新 更多