岁月流转,往昔空明

C++博客 首页 新随笔 联系 聚合 管理
  118 Posts :: 3 Stories :: 413 Comments :: 0 Trackbacks

以前看D3D的时候,就发现骨骼动画是个有点难以掌握的东西。
但是也可以说,骨骼动画是3D齐次空间变换的集大成者,掌握了骨骼动画,差不多3D空间变换你也就掌握了。
其他所有的层级变换,基本上都不会脱离骨骼动画需要你了解的东西。

网上骨骼动画的demo多如牛毛,我空间想象能力不行,看过无数资料都不大明白骨骼怎么转,皮肤怎么蒙。况且那些基于DX、基于GL的代码都长的不行,难看的明白。

前两天vczh搞了个C#的弱智版的2D物理Engine,我今天就搞个C#和GDIPlus的低能版骨骼变换。虽然是2D的,但是原理和实现基本和3D的完全一样。希望这已经简单到不能再简单的代码能帮助大家搞明白骨骼动画是咋回事。

代码框架上都有注释了,矩阵使用的是Sharp3D的数学库,已经在包中了。不过也就用了矩阵乘法和矩阵-矢量乘法,还有一些矢量加减法。

源代码在此下载


2楼的回帖给了一个地址,是关于骨骼运动变换的数学推理和理论解释,还讨论了左右手系的问题。理论上有问题的亲们可以参照此篇文章

截图:

骨骼的初始状态


变换后的骨骼


加了一圈子顶点,这个虽然是2D的,但也是货真价实的蒙皮哈。

posted on 2008-06-07 19:35 空明流转 阅读(8402) 评论(9)  编辑 收藏 引用

评论

# re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致 2008-06-07 19:54 陈梓瀚(vczh)
够抽象……  回复  更多评论
  

# re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致 2008-06-07 22:12 w2001
http://www.cnblogs.com/neoragex2002/archive/2007/09/13/891945.html  回复  更多评论
  

# re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致 2008-06-08 12:14 六水
弱智版 vs 低能版
你和vc都异样地强大.....
很巧我最近也在搞骨骼动画,不过我研究的是自动生成
我也要晒晒我的真家伙版:
http://www.sixwater.com.cn/default.asp?cat=10
  回复  更多评论
  

# re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致 2008-06-10 15:46 亨德列克
老吴,你很强大  回复  更多评论
  

# re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致 2008-06-11 16:27 陈梓瀚(vczh)
老亨,你也很强大……  回复  更多评论
  

# re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致 2008-08-29 16:54 女巫
这个问题还可以再精简,做成两个骨骼。我在OpenGL时遇到这样类似的问题。  回复  更多评论
  

# re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致 2008-08-29 21:28 空明流转
@女巫
两个就没办法表现层次了。  回复  更多评论
  

# re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致 2013-04-10 00:05 le
厉害!  回复  更多评论
  

# re: 一个3D骨骼动画 2D版超精简Demo,原理和实现几乎同3D一致 2014-04-03 10:05 往往
当建立在某一种相当于可能或者一旦不可能建立起来的扎实性的收入语言的模式前面一般具备几种要素的可能,那就是不立即退出不扎实的收入语言层民,一个是不具备把握扎实性的收入的基本面,造成在对于各种各样的收入出现的情况的时候发生各种各样的一种极端沟通现象的可能并且造成对于自己在建立关注点上面造成极端不平衡的一个视野上面的一个事实。  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理