骨骼动画网格模型学习

13.7.1 骨骼动画基本原理

骨骼动画模型的骨骼是以树状层次结构组织起来的,整个骨骼结构中有一块根骨骼,其他的骨骼都直接或间接连接到跟骨骼上,形成角色模型的整个骨骼框架。一般每块骨骼带有两个矩阵,一个是初始变换矩阵(localtransformmatrix),表示骨骼的初始位置,另一个是组合变换矩阵(combinetransformmatrix),用于对骨骼进行变换,从而实现角色动画。

(子骨骼)combinetransformmatrix= (子骨骼)localtransformmatrix * (父骨骼)combinetransformmatrix.

网格模型一般只是保存关键帧的变换矩阵,然后任意时刻用两个关键帧的矩阵差值求出。

Mat = (1 - w)*Mat1 + w *Mat2; 其中w一般用最简单的线性插值 = (s-s1)/(s2-s1).

13.7.2 骨骼动画类的设计与实现

D3DXMESHCONTAINER结构用于保存模型的网格数据(肉),D3DCFRAME用于保存模型的骨骼框架(骨头)。

CAllocateHierarchy类的设计与实现:

为了方便加载.X文件中的框架和网格模型数据,D3D提供了一个ID3DXAllocate Hierarchy接口,该接口中有四个纯虚函数:CreateFrame(), CreateMeshContainer(), DestoryFrame(), DestoryMeshContainer().

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/liumeng-blog/archive/2013/06/11/3122762.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值