回 帖 发 新 帖 刷新版面

主题:游戏制作者(如eastcowboy)请进,请教一个3ds的问题。

以前从来没有接触过这方面的东西。
需求就是把3d max制作的模型显示出来。
依据大家的经验,应该往哪个方向努力呢?

声明:这个问题看起来相当愚蠢,但是依我现在的知识水平,只能问到这个水平了。

回复列表 (共5个回复)

沙发

网上搜很多的,你用哪个游戏引擎啊。如果是jme,联系我

板凳

我也想知道

3 楼

我不是做游戏的,只是用来显示一个3ds文件的而已。上网找了一下,好像用D3D可以解决这问题?

4 楼

呵呵,其实我也没怎么做过。不过有一些办法。

方法一:可以搜索到读取3DS格式文件,并进行显示的源代码。不过除非运气特别好,否则无法直接用。
方法二:一些软件,可以把3DS格式的文件转化为C语言源代码(其实就是若干个长度很大的数组,保存了数据若干。外加一点用于显示的函数。)如果只显示少量的、固定的几个3DS文件的话,可以这样做。我毕业设计也是这么干的。当时用的记得是Deep Exploration(应该是免费试用一段时间)。
方法三:一些开源的游戏引擎,可以直接读取3DS(以及其它各种格式)的文件,并进行显示。我推荐Irrlicht引擎,它对网上能下载到的多种格式都能支持,并且统一接口。看它官方教材第一课Hello, World,然后把对应的md2文件换成3DS文件,估计就搞定了。
方法四:最后的办法就是搜索3DS文件格式,然后自己读取了。

一般的说,模型都由若干个图元(可以理解为点、线、三角形、四边形、多边形等,一般以三角形为主)组成。模型文件记录了这些图元,而D3D和OpenGL可以显示这些图元。所以问题很简单,就是把模型文件里面的图元读取出来,然后送到D3D或者OpenGL里面去,就搞定了。

如果是比较复杂的3DS文件,可能是带有动画的(即:图元的数据随时间的流逝而变化,从而表现出诸如人物跑步等动作)。这时方法二好像行不通,因为它的数组里面可能只保存固定的图元。

推荐Irrlicht引擎。直接下载编译好的版本,只有一个dll,记得有2.5M左右。通过修改编译选项,去掉不需要的部分(我去掉了GUI,以及除了OpenGL之外的所有Renderer)再编译的话,应该就只有1.5M了。

5 楼

谢谢eastcowboy。我去看看Irrlicht

我来回复

您尚未登录,请登录后再回复。点此登录或注册