【问题标题】:3D model format with multiple UV coords and custom attributes per vertex具有多个 UV 坐标和每个顶点的自定义属性的 3D 模型格式
【发布时间】:2011-06-15 05:25:01
【问题描述】:

假设我正在使用自定义 GLSL 着色器,它使用由 11 个浮点数组成的特殊交错数组格式:位置(3 个浮点数)、正常(3 个浮点数)、UVcoord-1(2 个浮点数)、UVcoord-2(2 个浮点数) ),自定义属性(1 个浮点数)。

我需要一种文件格式(最好是 ASCII),它允许我从 3D 建模软件(例如 Blender、Maya 等)导出每个顶点的所有这些信息(尤其是用于多纹理的多个 UV 坐标),然后导入它到我的应用程序。我在网上搜索过,似乎找不到允许每个顶点有多个(自定义)数据通道的格式。我错过了什么明显的东西吗?

例如:我使用的是 .OBJ 格式,它似乎只导出位置、法线和要导出的 1 个纹理。

【问题讨论】:

    标签: 3d 3d-modelling


    【解决方案1】:

    为什么不直接定义您自己的格式?如果您正在寻找可以使用的东西,请查看 OpenCTM http://openctm.sourceforge.net

    【讨论】:

    • 好吧,即使我定义了自己的文件格式,我仍然需要一个导出器来从建模应用程序中获取数据。在我看来,在着色器和非固定管道的今天,旧的 pos/normal/texture 格式很快就会过时。奇怪的是,我找不到一种流行的格式,可以让我保存 3D 模型以便轻松处理成顶点数组以发送到着色器。
    • @Radu094:你如何定义“流行”?您在询问基于 ASCII 的格式。如果您不向其中添加大量类似 XML 的 mubo-jumbo,那么编写和阅读这种格式就很容易了。所以通常人们倾向于只实现他们自己的格式。还有 COLLADA(XML 地狱)和我已经链接的 OpenCTM。不要觉得有必要使用一些人们声称是标准的古老格式。
    • @Radu094:为 Blender 编写导出器非常简单。 OpenCTM 也提供了一个。我所知道的任何其他 3D 建模师也是如此。
    • OpenCTM 看起来很划算。只需多几个步骤即可从 modeller->OpenCTM->application 安排整个管道,但它看起来很有希望。谢谢!
    猜你喜欢
    • 2011-09-05
    • 2018-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多