2012-02-14 22 views
-1

我有一个3D模型,它有位置,uv,normal,indices的信息。我需要把它放在一个场景中,并渲染到渲染器中,这个渲染器需要摄像头,灯光,几何图形和所有的变换。我有一些如何通过对相机进行硬编码来成功地显示模型,使用我已有的几何信息获得光源属性。我想出了照相机和灯光的变换,以适应视图中的模型,并通过反复试验方法正确点亮。但是这对于这个特定的几何体来说很麻烦和特定。我需要对相机,灯光和3D几何图形进行硬编码转换以获得满意的视图。是否有任何3D软件可以从我的程序中获取光线,相机和几何图形的转换矩阵以使用这些值?有没有任何3D软件可以给场景元素的变换矩阵

+0

什么文件格式是你的车型?你有一个标签,上面写着'3dsmax',如果是这样,那么所有的转换矩阵都在3ds/fbx文件中... – cmannett85 2012-02-14 07:23:19

+0

不是它们是只有geom信息的自定义文件格式... – 2012-02-14 08:47:01

+0

然后你失去了你的信息需要。 – cmannett85 2012-02-14 09:38:09

回答

0

任何3D软件都将所有必要的转换矩阵保存在场景文件中 - 它还应该做什么?猜猜放置相机的位置?

你应该尝试的这种做法:

  1. 将您自定义的文件格式转换成一些你选择的3D软件可以读取和渲染。
  2. 将相机和灯光
  3. 保存新场景
  4. 转换的场景文件转换成文本或东西在那里你可以阅读你所关心

我建议尝试Blender因为它使用了几个矩阵Python脚本语言(docs) - 这将允许您完全自动化整个过程。

+0

它相当合理,我明白没有捷径。但转换为搅拌机可以理解的格式不属于该项目的范围。我很贪心地通过用立方体逼近几何图形并定位相机并相应点亮来单独从3D软件中窃取转换矩阵。 – 2012-02-14 09:28:00

+0

使用立方体和一些灯光在搅拌机中创建一个场景,然后使用python脚本来打印场景中所有对象的变换矩阵(可能还需要一些额外的变换以将它们放入可以真正使用的形式)。 – 2012-02-14 13:27:39