欢迎来到天天文库
浏览记录
ID:57410072
大小:1.37 MB
页数:32页
时间:2020-08-18
《动画技术论述课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
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个影响vBlend=
3、V1W1+V2W2+V3W3+V4(1.0-(W1+W2+W3))//4个影响几个权重之和为1.0,因此其中一个可以通过其他权重计算出来,在存储时可以少存储1个权重。DirectX支持最多4个世界顶点的混合,因此每个顶点可以包含2~4个矩阵信息(矩阵索引)和1~3个权重信息。12.1骨骼动画基础2.顶点权重12.1.1顶点混合概念权重信息由美术师设计角色时用建模工具定义。水平部分受到水平骨骼影响的权重为1,在关节附近影响的程度减小,权重也减小,超过一定范围不受水平骨骼影响。12.1骨骼动画基础3.在DirectX中使用顶点混合12.1.1顶点混合概念Vn=VTnWn权重存储每个顶点
4、受到各个骨骼影响的权重各不相同。骨骼数量较少在顶点中附加几个骨骼的权重信息很容易。权重信息是存储在顶点中的DirectX支持最多顶点3个权重用于混合,每个权重对应特定的矩阵。12.1骨骼动画基础3.在DirectX中使用顶点混合12.1.1顶点混合概念1)设置世界变换矩阵。顶点混合使用额外的世界变换矩阵。矩阵类型:D3DTS_WORLDMATRIX(n)或D3DTS_WORLDn。其中n取0~255,矩阵索引可使用一个字节存储。m_pD3DDevice->SetTransform(D3DTS_WORLDMATRIX(0),&matBlend[0]);m_pD3DDevice->Se
5、tTransform(D3DTS_WORLDMATRIX(1),&matBlend[1]);m_pD3DDevice->SetTransform(D3DTS_WORLDMATRIX(2),&matBlend[2]);12.1骨骼动画基础3.在DirectX中使用顶点混合12.1.1顶点混合概念2)指定权重个数。d3dDevice->SetRenderState(D3DRS_VERTEXBLEND,D3DVBF_2WEIGHTS);DirectX支持多达3个权重(4个世界变换矩阵)用于顶点混合。typedefenum_D3DVERTEXBLENDFLAGS{D3DVBF_DISABL
6、E=0,//关闭D3DVBF_1WEIGHTS=1,//1权重,2个矩阵D3DVBF_2WEIGHTS=2,//2权重,3个矩阵D3DVBF_3WEIGHTS=3,//3权重,4个矩阵D3DVBF_TWEENING=255,//用D3DRS_TWEENFACTOR对两个点混合D3DVBF_0WEIGHTS=256//使用单一矩阵,权重为1.0}D3DVERTEXBLENDFLAGS;12.1骨骼动画基础3.在DirectX中使用顶点混合12.1.1顶点混合概念3)顶点定义。权重的格式:D3DFVF_XYZB1、D3DFVF_XYZB2或D3DFVF_XYZB3。顶点应该包含每个矩阵
7、的权重信息,用于指定顶点混合系数。#defineD3DFVF_BLENDVERTEX(D3DFVF_XYZB3
8、D3DFVF_NORMAL
9、D3DFVF_TEX1)structBLENDVERTEX{D3DXVECTOR3v;//位置FLOATblend1;//权重1FLOATblend2;//权重2FLOATblend3;//权重3D3DXVECTOR3n;//法线FLOATtu,tv;//纹理坐标};12.1骨骼动画基础4.索引顶点混合12.1.1顶点混合概念骨骼
此文档下载收益归作者所有