岁月流转,往昔空明

C++博客 首页 新随笔 联系 聚合 管理
  69 Posts :: 3 Stories :: 184 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 空明流转 阅读(1589) 评论(7)  编辑 收藏 引用

评论

# 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 空明流转
@女巫
两个就没办法表现层次了。  回复  更多评论
  


标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航: