主题:游戏制作者(如eastcowboy)请进,请教一个3ds的问题。
林杰杰
[专家分:8970] 发布于 2010-04-19 20:17:00
以前从来没有接触过这方面的东西。
需求就是把3d max制作的模型显示出来。
依据大家的经验,应该往哪个方向努力呢?
声明:这个问题看起来相当愚蠢,但是依我现在的知识水平,只能问到这个水平了。
回复列表 (共5个回复)
沙发
liudan319 [专家分:3780] 发布于 2010-04-19 20:56:00
网上搜很多的,你用哪个游戏引擎啊。如果是jme,联系我
板凳
强强 [专家分:4740] 发布于 2010-04-19 23:20:00
我也想知道
3 楼
林杰杰 [专家分:8970] 发布于 2010-04-19 23:47:00
我不是做游戏的,只是用来显示一个3ds文件的而已。上网找了一下,好像用D3D可以解决这问题?
4 楼
eastcowboy [专家分:25370] 发布于 2010-04-20 14:33:00
呵呵,其实我也没怎么做过。不过有一些办法。
方法一:可以搜索到读取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 楼
林杰杰 [专家分:8970] 发布于 2010-04-20 23:56:00
谢谢eastcowboy。我去看看Irrlicht
我来回复