MD2关键帧动画实现方法

阅读更多
本想用骨骼动画的,无奈.x格式的太过于复杂,而且游戏业里也不怎么用。
     只是把它的原理弄明白一些了,但是,我弱小的意志在DirectX SDK那个1000多行的SkinedMesh例子面前顺利地崩溃了,心想,还是先从最基本的关键帧动画开始做吧-_-!

确定文件格式:md2(正好连找都不用找了,老师给了)

以下是我Copy的:MD2文件格式简介



MD2 是Quake2中使用的模型文件格式,由于其比较简单,容易实现,所以应用很广,是一种经典的动画模型格式。该文件格式由2部分组成:一部分是文件头,包含了文件ID号、版本号和有关模型的各种数据的起始地址等;另一部分是文件的主体,包含了有关模型的各种数据,如顶点数据、纹理数据、法向量数据等。



MD2是基于关键帧动画的,关键帧插值的数学公式为:

p(t) = p(0) + t ( p1 - p0 )

其中:



t — 当前时间。0表示开始,1表示结束;



p(t) — 时间t 时方程的值;



p0 — 起始位置;



p1 — 结束位置。



MD2共有16个关键帧:

start:0 end:39 name:stand
start:40 end:45 name:run
start:46 end:53 name:attack
start:54 end:65 name:pain
start:66 end:71 name:jump
start:72 end:83 name:flip
start:84 end:94 name:salute
start:95 end:111 name:taunt
start:112 end:122 name:wave
start:123 end:134 name:point
start:135 end:153 name:crstnd
start:154 end:159 name:crwalk
start:160 end:168 name:crattack
start:169 end:172 name:crpain
start:173 end:177 name:crdeath
start:178 end:197 name:death


说白了,一个模型有16个动作,每个动作有很多帧组成,每帧由很多三角形组成一个网络,每个三角形由三个顶点组成,每个顶点由x,y,z三个坐标组成,每个……(再说就欠揍了)
那么怎么让它动呢?知道怎么放电影不?就是一帧帧地画就行了

你可能感兴趣的:(游戏,网络应用)