作者littleshan (我要加入剑道社!)
看板GameDesign
标题Re: [程式] 能否请大大解惑
时间Wed Jan 17 20:05:59 2007
※ 引述《justin760204 (华华)》之铭言:
: 小弟我只是个门外汉,会写C,C++,MFC,也会用3dsMax...
: 可是觉得3dsMax好像作的都是影片,没办法跟使用者互动耶
: 查了一下发现似乎有VirTool Dev和 Macromedia DirectorMX可以支援互动
: 可是这两套软体都好昂贵,想说是不是可以不要买,自己用程式写
: 想请问各为大大,建立好3d图档之後,要怎麽样让他能够与使用者互动呢?
我不知道你说的「互动」是怎样的互动
假设是「接受使用者按键,人物会跑会跳」好了
首先你需要一个人物的 model
除了静态的 model 以外,你还需要制作它的 animation
以这个例子来说就是跑步和跳跃
而且既然是人 (或是会像人一样跑步跳跃的东西)
通常会使用 bone skin animation
亦即除了人物的表面 你还要建出它的骨架
然後做出骨架跑步及跳跃的 animation
虽然我没用过 3D studio max,不过我想这部份它都能做到
接下来的工作是让你的程式能读进这些 model 与 animation 的资料
我会建议你使用既有的工具做这件事
比如说,如果你用 Ogre 这套 graphics engine
它会用自己的格式去存 model 与 animation 的资料
所以你要做的事就是用 Ogre 附的 3dsMax exporter 把资料输出成它的格式
然後呼叫 Ogre 提供的函式把它画到萤幕上
Ogre 也提供函式处理 bone skin animation
所以你的程式在接受使用者的按键後
呼叫 Ogre 的函式就可以把跑步或跳跃的 animation 播出来
当然,除了 Ogre 以外,也有很多其它的 graphics engine 可以帮你做这部份
就算不用其它人写好的引擎,自己硬干也是可以
不过这一块要做的事相当多,自己写还要花不知道多久的时间 debug
所以建议你找一套 graphics engine 来做这件事
: 而且我的程式希望可以跑比较复杂的逻辑,例如A.I.等等
: 所以希望程式语言可以作这方面的实现
: 如果自己开发引擎会很困难吗?
开发「可以用」的引擎不难,但开发「好用」的引擎就很难了
: OpenGL可以拿来写互动的东西吗?
当然可以,不过 OpenGL 只处理「把东西画到萤幕上」的部份
其它部分,包括 bone skin animation 和读取资料等
都不在 OpenGL 的处理范围中
: 能请大大解答吗? 我已经找了好几天的资料了,仍然一头雾水....谢谢罗<(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.62.3.35
※ 编辑: littleshan 来自: 61.62.3.35 (01/17 20:07)
1F:推 justin760204:真的实在是太感谢了,终於弄清楚关键核心在哪里 01/17 20:27
2F:→ justin760204:说明的好详细,找了好几天的资料集合起来都没有大大你 01/17 20:27
3F:→ justin760204:说的清楚.......<(_ _)> 01/17 20:28
4F:→ justin760204:我说的"互动"的确就是你所说的,接收IO讯息,然後可以 01/17 20:28
5F:→ justin760204:传进程式,印出不同的图形并让程式可以去运算..谢谢罗 01/17 20:29
6F:推 ppaass:Ogre 很多人用喔! 02/03 11:50