【问题标题】:Is there a 3D mesh file format that allows for dynamic parameters?是否有允许动态参数的 3D 网格文件格式?
【发布时间】:2013-03-05 19:39:31
【问题描述】:

假设我希望能够在 3D 程序中显示对象的 3D 模型,但是这个网格的形状由许多参数(a、b、c..)控制,因此实例可以有任何几千种可能的组合。

想象一个螺栓库,其中螺栓的基本形状可以很容易地在标准 CAD 程序中为 一个 特定的螺栓实例(一定的长度、直径、头部直径),但不必为所有排列创建数千个几乎相等的模型文件,我想将网格创建为“动态”或“参数”。请注意,整个模型甚至模型的一部分的简单比例是不够的。单个顶点基本上必须具有动态位置(x,y,z) = f(a, b, c)

这个问题的解决方案可能需要文件格式(将动态模板模型编码到文件中)和一些代码来应用参数并获得最终模型。我知道 AutoCad 有所谓的“动态块”,但我不知道它们是否可以在独立应用程序中被解析和使用。

到目前为止,我想出的唯一解决方案是以标准 CAD 格式在具有整数坐标的归一化坐标系中绘制模型,以便模型的各个平面与已知坐标对齐,然后我会编码一个映射,以便例如例如,任何坐标 (x,y,3) 都将映射到 (x,y,a)。这是相当有限的,因为它只允许平面部分的映射,并且模型本身将包含文件该文件的外部硬编码映射集。

需要明确获取模型,即我不能仅在可视化步骤中使用“隐式”变换,例如使用骨架和顶点着色器,因为我需要能够保存最终变换的网格。

将使用 Direct3D9 进行可视化,代码为 C#/.NET 4.0

【问题讨论】:

    标签: 3d file-format


    【解决方案1】:

    这就是现代参数化 CAD 软件的工作原理。最值得注意的应用程序是 Solidworks、Creo (Pro|engineer)、Catia、NX。也可能是发明家。从这个意义上说,Auto-CAD 非常初级,它仅落后于当前最先进的技术 30 年。我见过 Pro|engineer 的模型,它们通过所有相关的计算和模拟构建了整个 90% 的石油钻井平台最终设计。因此,所有这些都可以按照您的要求进行。就我每天所做的复杂性而言,螺栓示例非常简单。事实上,我的任何学生都可以在第一次练习之后毫无问题地做到这一点。

    现在相关格式称为 SETP ap 214。但是实际上完全支持这种格式的东西并不多(该格式的标准大约有 5000 页长)。由于它需要非常强大的3D引擎来解析所以基本上是上述软件之一。

    编辑:

    但是,如果您的模型是用于游戏的多边形模型,那么做您想做的事情实际上是微不足道的,只是不是非常用户友好。只需将您的参数化导出为关节数据并移动/缩放大多数 DCC 格式具有此功能的关节。但请注意游戏图形与 CAD 无关。或cad格式。他们为此有不同的软件,例如 3dsMax 或 Maya。此类别中的大多数格式都支持关节。如果使用 collada 等格式,您可以为参数化的关节运动规则添加一些扩展。取决于 a 但取决于您希望如何对其进行参数化。我必须自己测试一下,但由于它在 Maya 中有效,我看不出它为什么不能以某种格式工作。

    问题是帽子游戏不完全是一个平台。

    【讨论】:

    • 我正在创建需要显示这些模型的软件。我可以使用例如Solidworks 创建模型,但感觉它并没有解决整个问题(除非例如 STEP 有一种非常简单的方法来描述参数化三角形网格)。我正在创建的软件当然不是(也不会是)一个完整的参数化 cad 软件包。考虑例如如果有人在游戏中想要一些参数化可重复使用的三角形网格块。这就是这里的场景。
    • Step 不处理多边形。在这种情况下,建议您联系coretechnologie.de/PRODUCT_SUITE 并获取 kernel_IO 但是确实没有这种格式。自己动手是微不足道的。
    • 在第二次挑战中,COLLADA 可以通过扩展来做到这一点。
    • 它没有进入游戏引擎,也没有进入 cad 引擎。它基本上是一个简单的可视化。我知道一些 STEP 格式允许三角形网格边界表示(例如 IFC 格式)。 IFC 或 COLLADA 的某些扩展可能允许对三角形网格进行参数化,我将对此进行研究。我想到了使用骨骼/蒙皮来创建变形的想法,但我不知道自己将骨骼权重应用于网格是否微不足道(即不仅通过顶点着色器进行,而且作为“真实”转换) ?
    • 自己应用加权运动是微不足道的,毕竟它们只是向量的加权和。我认为您应该修改您的问题,使其更符合您的要求。然后我们可以一起改写答案以适应你的精神。您针对可视化的平台是什么,例如它是 opengl、webgl 和现有应用程序还是其他什么。无论如何,顶点着色器是“真正的”转换。
    猜你喜欢
    • 2016-12-23
    • 2017-05-10
    • 2020-01-05
    • 2014-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    相关资源
    最近更新 更多