动画技术论述ppt课件.ppt
《动画技术论述ppt课件.ppt》由会员分享,可在线阅读,更多相关《动画技术论述ppt课件.ppt(32页珍藏版)》请在三一办公上搜索。
1、第12章 动画技术,骨骼动画基础刚体动画蒙皮动画,刚体动画蒙皮动画,刚体动画蒙皮动画,理解骨骼动画原理理解蒙皮动画原理,12.1 骨骼动画基础,1为什么使用顶点混合,12.1.1 顶点混合概念,骨骼动画是用于在计算机上模拟或再现动物运行的技术。一个骨骼动画由骨骼支撑下的顶点运动构成。如果有网格附着在骨骼上,就必须将网格分割成受不同骨骼控制的片断,骨骼运动时势必导致网格断裂,或者部分重叠。实际应用模型动画是采用网格与多个骨骼共同协作完成的。,将蒙皮分割成受到不同骨骼控制的片段,适合刚体动画例如机器人,关节处出现断裂、重叠现象,12.1 骨骼动画基础,1为什么使用顶点混合,12.1.1 顶点混合概
2、念,要使网格在弯曲时实现平滑过渡,需要使用顶点混合技术。,渲染系统在顶点上使用额外的世界变换矩阵进行变换,得到多个结果,然后再进行线性混合。所谓混合就是根据多个顶点,按照一定的比例计算中间值即权重,,混合:根据多顶点,按照一定比例计算出一个中间值。权重:这个比例称之为权重(weight),它代表了一个顶点对结果的影响程度,所有顶点的权重之和为1。,混合与权重,12.1 骨骼动画基础,2顶点权重,12.1.1 顶点混合概念,假设顶点为Vn,该顶点的权重为Wn。一般由建模软件计算。,vBlend=V1W1+V2(1.0-W1)/2个影响vBlend=V1W1+V2W2+V3(1.0-(W1+W2)
3、/3个影响vBlend=V1W1+V2W2+V3W3+V4(1.0-(W1+W2+W3)/4个影响,几个权重之和为1.0,因此其中一个可以通过其他权重计算出来,在存储时可以少存储1个权重。DirectX支持最多4个世界顶点的混合,因此每个顶点可以包含24个矩阵信息(矩阵索引)和13个权重信息。,12.1 骨骼动画基础,2顶点权重,12.1.1 顶点混合概念,权重信息由美术师设计角色时用建模工具定义。,水平部分受到水平骨骼影响的权重为1,在关节附近影响的程度减小,权重也减小,超过一定范围不受水平骨骼影响。,12.1 骨骼动画基础,3在DirectX中使用顶点混合,12.1.1 顶点混合概念,Vn
4、=VTnWn,权重存储,每个顶点受到各个骨骼影响的权重各不相同。,骨骼数量较少,在顶点中附加几个骨骼的权重信息很容易。,权重信息是存储在顶点中的,DirectX支持最多顶点3个权重用于混合,每个权重对应特定的矩阵。,12.1 骨骼动画基础,3在DirectX中使用顶点混合,12.1.1 顶点混合概念,1)设置世界变换矩阵。,顶点混合使用额外的世界变换矩阵。矩阵类型:D3DTS_WORLDMATRIX(n)或D3DTS_WORLDn。其中n取0255,矩阵索引可使用一个字节存储。,m_pD3DDevice-SetTransform(D3DTS_WORLDMATRIX(0),12.1 骨骼动画基础
5、,3在DirectX中使用顶点混合,12.1.1 顶点混合概念,2)指定权重个数。,d3dDevice-SetRenderState(D3DRS_VERTEXBLEND,D3DVBF_2WEIGHTS);,DirectX支持多达3个权重(4个世界变换矩阵)用于顶点混合。,typedef enum _D3DVERTEXBLENDFLAGS D3DVBF_DISABLE=0,/关闭 D3DVBF_1WEIGHTS=1,/1权重,2个矩阵 D3DVBF_2WEIGHTS=2,/2权重,3个矩阵 D3DVBF_3WEIGHTS=3,/3权重,4个矩阵 D3DVBF_TWEENING=255,/用D3D
6、RS_TWEENFACTOR对两个点混合 D3DVBF_0WEIGHTS=256/使用单一矩阵,权重为1.0 D3DVERTEXBLENDFLAGS;,12.1 骨骼动画基础,3在DirectX中使用顶点混合,12.1.1 顶点混合概念,3)顶点定义。,权重的格式:D3DFVF_XYZB1、D3DFVF_XYZB2或D3DFVF_XYZB3。,顶点应该包含每个矩阵的权重信息,用于指定顶点混合系数。,#define D3DFVF_BLENDVERTEX(D3DFVF_XYZB3|D3DFVF_NORMAL|D3DFVF_TEX1)struct BLENDVERTEX D3DXVECTOR3 v;
7、/位置 FLOAT blend1;/权重1 FLOAT blend2;/权重2 FLOAT blend3;/权重3 D3DXVECTOR3 n;/法线 FLOAT tu,tv;/纹理坐标;,12.1 骨骼动画基础,4索引顶点混合,12.1.1 顶点混合概念,骨骼系统比较复杂时,需要反复切换矩阵,效率较低。,DirectX提供一种索引的方法使用矩阵:索引顶点混合(Indexed Vertex Blending),注意:这里的索引是对混合进行索引,和顶点索引没有任何关系。,设备可以设置多达255个矩阵,用4个字节足够存储4个索引:,m_pD3DDevice-SetRenderState(D3DRS
8、_INDEXEDVERTEXBLENDENABLE,TRUE);,12.1 骨骼动画基础,12.1.2 运动插值,关键帧动画使用像素图,因此只能做到近似的平滑。,骨骼动画也使用关键帧存储一系列关键的状态数据,利用这些数据可以计算出关键帧中间的一些状态,因此能够实现平滑的动画。,矩阵存储骨骼状态,但插值困难,一般都是用缩放、旋转和平移变量进行插值。存储运动数据的数据类型:向量:存储缩放比例和平移量。四元数:存储转动量。,12.1 骨骼动画基础,12.1.2 运动插值,1向量线性插值,向量插值较为简单,插值方法分为线性插值和二次曲线插值算法。,V=Vn*t+Vn+1*(1-t),D3DXVECTO
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 动画 技术 论述 ppt 课件
链接地址:https://www.31ppt.com/p-2118008.html