如何为一个简单的三角形制作 .3ds 文件

how to make .3ds file for a simple triangle

我有一个代码可以解析 .3ds 文件并上传网格。我有几个 .3ds 文件,但我的代码中有一个错误。所以现在我正在尝试生成一个简单的 .3ds 文件(又名单个三角形或立方体),但我不确定如何创建 .3ds 文件。

我目前拥有的文件已加密。我在其他网站上找到了 couple,他们没有任何更简单的模型。

如何为简单的三角形和立方体制作 .3ds 文件?有没有现成的软件可以制作一个?或者我可以为它写一个脚本吗?

创建 3ds 文件比解析它要难一些

因为您需要按顺序使用 3D studio 所需的所有块,没有任何错误。在解析时,您只需要几何、矩阵和纹理,可以忽略其余部分。 3ds 文件格式未打开且仅部分打开 decoded/documented 因此这可能是一个很难解决的问题。

我会专注于调试解析器本身:

  1. 尽可能多地下载 3ds 文件

    例如 TurboSquid 中有相当多的免费 3ds 文件,只是 select 过滤器:

    • 最高价格 0
    • *.3ds 扩展名
    • 3D 模型
  2. 按类型排序

    • 仅限几何
    • 有颜色
    • 有纹理
    • 有子网格
    • 和组合
  3. 开始解码最简单的(只有几何)

    您会发现有些模型可以,有些则不行。因此,对那些可以的和不可以的进行排序,并查看它们使用了哪些块,这将帮助您确定问题出在哪里。最好在某处输出每个文件的已用块列表,这样您就可以更轻松地确定要编码和忽略哪些块。

可悲的是,我的 C++ 3ds 解析器约为 54 KB

这几乎是这里答案正文限制的两倍,所以我不能在这里直接post它。这也意味着你不能 post 你的整个代码在这里(只是块枚举几乎是 30KB)所以尽量只关注重要的事情。当您遇到特定问题时 post 地址到 3ds 文件 + 输出图像 + 您正在使用和忽略的块列表,以便我们实际提供帮助。

几年前我编写的代码是我的一个更大的库的一部分,所以代码并不完整。它仅包含 3ds 解析部分 + 导出到基于 OpenGL VBO 的我的几何图形 class,但它应该足以与您的代码进行比较以查看问题出在哪里。这个解析器也不是 100% 工作,仍然有一些文件它不能正确支持(因此目录名称)。参见 loadsave 成员函数 ...