【问题标题】:Exporting mtl files from 3ds max problem从 3ds max 导出 mtl 文件的问题
【发布时间】:2011-11-12 04:57:16
【问题描述】:

我在 3ds max 中导出 mtl 文件时遇到了一个小问题。我想在 opengl 程序中使用 obj + 它的材质库。模型导出得很好,但是当我导出它们时我失去了材料的所有反射/折射参数(颜色等似乎很好,所以它发现它们只是不完全,但所有材料都变成了标准)。我尝试从场景和垫子中导出材料。库以及相同的结果。谁能帮我在导出后如何保持材料的反射参数?

【问题讨论】:

  • 如果它没有按照您现在导出的方式包含此信息,那么我假设您可以编写一个函数来将所需数据导出到一个新的 ascii 文件中,然后您将其读回您的 opengl 程序,以及您现在正在导出的文件。
  • 感谢您的回复。我应该为此编写什么函数?我知道有一个基于 c++ 的 MaxSDK,它支持编写插件,但我不熟悉它。我想创建的功能可以吗,还是您建议使用不同的“框架”?
  • 最简单的方法是使用 maxscript。并且由于它是面向材料的(而不是网格导出),它会非常快。编写一个输出数据的简单脚本并不难。但我需要知道你的场景中最大的材料类型是什么? (它是“标准材质”着色器吗?)还是不同的东西?
  • 添加了光线追踪反射贴图的标准材质或光线追踪(尚未决定使用哪一种)。
  • 究竟需要导出哪些参数?

标签: graphics 3dsmax


【解决方案1】:

正如您在电子邮件中所说,您使用 Glut 作为 API。有几个教程, 我最初以为您使用了引擎,并且只需要一些值。 但你需要的不仅仅是这个。

要在 opengl 中使用反射\环境映射,您需要一个支持此功能的着色器。

所以你需要做的是实现一个反射着色器,并将位图传递给你的着色器。

在示例文件中,渲染图像效果很好(因为 3dsmax 支持它自己的光线跟踪材质),但这不会以任何方式导出。

【讨论】:

  • 感谢您为此付出的时间和精力,如果我提供的信息在这里和那里有点不清楚,我很抱歉,两周前才开始整个 3d 开发工作,现在仍然有点困惑关于一些东西:)
猜你喜欢
  • 2013-01-25
  • 2013-12-06
  • 1970-01-01
  • 1970-01-01
  • 2011-06-15
  • 2012-11-02
  • 2015-06-14
  • 2014-02-24
  • 2022-10-19
相关资源
最近更新 更多