游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4932|回复: 11

再谈DX骨骼动画

[复制链接]

10

主题

149

帖子

149

积分

注册会员

Rank: 2

积分
149
QQ
发表于 2008-4-18 09:15:00 | 显示全部楼层 |阅读模式
以前用D3DX库提供的接口,很方便的实现了骨骼动画,现在才发现,D3DX库要做游戏里的动画,还真的少很多功能啊!
比如换装系统,换装就是找到特定的骨骼,然后将衣服和武器的模型绑定在骨骼上,用D3DX来做,还真有点麻烦.还有就是控制动画,D3DX库提供了AnimationController接口,一系列动画就是AnimationSet,可是许多编辑器上,几种动画是连在一起的(比如MS3D),还有就是大多数3D游戏的控制中,人物跑时候也可以攻击,也可以做出其它动作,这就需要上半身和下半身做不同的动作了,综上所述,要灵活的实现游戏中的骨骼动画,还是自己写比较好...........

D3DX库提供了强大的功能,但是也使我们对它产生了一种依赖,因为平时用D3DX,现在自己写,根本写不出来了.......就好像离开了MFC,什么也做不出来一样..........

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2008-4-18 13:31:00 | 显示全部楼层

Re:再谈DX骨骼动画

谁说跑的时候就不能做其它动作了?dx是支持多动画集合成的。
没仔细研究就作出断言,太不负责了吧。

10

主题

173

帖子

178

积分

注册会员

Rank: 2

积分
178
发表于 2008-4-18 14:58:00 | 显示全部楼层

Re: 再谈DX骨骼动画

x文件是一个很不错的骨骼动画入手学习,逐步深入的一个很好的格式。作为一个范例动画文件,它尽可能的包罗万象了。但是需求不同,x文件也就不可能做到一一恰到好处对应了。

打个比方,就好像是在堆积木,x格式用这些积木堆了一个帝国大厦。ms3d格式则用这些积木堆了一个双子大楼。

用什么样的动画格式,还是觉得根据需求来做量身定位比较好。
1、快速读取并解析。
2、渲染状态切换恰到好处。
3、控制简单明确。
4、千万不要想着去包罗万象。

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
发表于 2008-4-18 15:21:00 | 显示全部楼层

Re:再谈DX骨骼动画

最近也在学习骨骼动画,实现起来挺复杂啊,楼上几位看来都满有心得的,有没有好的资料介绍一下啊,就一本书上的内容太有限了~

10

主题

173

帖子

178

积分

注册会员

Rank: 2

积分
178
发表于 2008-4-18 16:47:00 | 显示全部楼层

Re:再谈DX骨骼动画

学习方法各有不同。我的方法效率可能比较慢。
1、先看书或者资料,了解骨骼动画这个单词的意思。然后就可以把书或者资料仍到一边了。
2、找一个前人编写的x格式或者md3格式的骨骼动画代码。自己手动抄写一遍,然后编译。这样做的目的是为了让自己脑子里面有个大概的轮廓。
3、自己解析x格式或者md3格式,并将其输出到自己定义的格式中去。这样做的目的就是弄清楚源格式中的那些数据是做什么用的,它们之间的关系又是什么。自己定义的格式在这个阶段可能很丑陋。嘿嘿嘿,不过没有关系。
4、编写程序,参照第二步,不过这里是读取上一步中自己定义的那个格式。一般来说,这里都会有很多错误了。读取的错误,运算的错误,渲染的错误。慢慢改错吧。
至此当错误改完了,也就差不多明白了。


然后想想,读取效率,动画计算效率,渲染状态切换效率等等,是否可以提高点。
之后,在搞搞换装,上身A动作下身B动作等等什么的。

==============================================================
我的看法是:
书看的差不多囫囵吞枣,了解个大概就可以了。多找前人的代码来修改翻写就好了。街头PK比打沙包容易获取实战经验,而且这里还不用考虑可能会受伤。

15

主题

56

帖子

56

积分

注册会员

Rank: 2

积分
56
发表于 2008-4-18 17:50:00 | 显示全部楼层

Re:再谈DX骨骼动画

实际游戏中开发用哪种模型的最多?

10

主题

149

帖子

149

积分

注册会员

Rank: 2

积分
149
QQ
 楼主| 发表于 2008-4-18 17:52:00 | 显示全部楼层

Re:再谈DX骨骼动画

哎......我是说一个动画集就是一个AnimationSet,比如跑步算是一个动画集, 跑的时候,手是跑的动作的

现在我要边跑边打,手就不是跑的动作而是打的动作了,而打又是另一个动画集,这就需要找到相应的骨骼,不同的骨骼作不同的动作.

我只是说一下想法,不知道为什么楼上几位带有火药味?有没和你们争什么............

0

主题

769

帖子

1052

积分

金牌会员

Rank: 6Rank: 6

积分
1052
发表于 2008-4-19 00:19:00 | 显示全部楼层

Re:再谈DX骨骼动画

LS的去看下MultiAnimation 这个例子吧
里面就有混合动画

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-4-19 01:57:00 | 显示全部楼层

Re: Re: 再谈DX骨骼动画

Avanna: Re: 再谈DX骨骼动画

x文件是一个很不错的骨骼动画入手学习,逐步深入的一个很好的格式。作为一个范例动画文件,它尽可能的包罗万...


讨厌包罗万象的.x格式,特别是嵌套语法,累赘

16

主题

191

帖子

191

积分

注册会员

Rank: 2

积分
191
发表于 2008-4-19 11:19:00 | 显示全部楼层

Re:再谈DX骨骼动画

在具体游戏中根据需要做好骨骼的切分 假如上身和下身组合的动画比较多而杂的话就分别做动画骨骼 到时候像换装一样组合连接

如果只是做游戏 可以直接使用开源引擎 里面这些基本功能别人早就做成类可以直接调用了 比如irrlicht引擎
在动画序列中指定做某个动作设定下起始终止帧就行了:setFrameLoop(160, 183);
如果想显示某个固定动作,setFrameLoop(160, 160);就能把怪的动作固定静止到160帧,非常方便。现在是信息爆炸年代,什么都从基础开始学很费时间的,能站在巨人肩膀上那就站上去。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 17:52

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表