D3D11 MD5骨骼动画模型的加载

MD5模型由两个文件组成:md5mesh和md5anim文件,正如名字所示,一个用于加载md5模型,一个用于动画。本章节介绍的是如何从md5mesh文件加载md5骨骼动画模型以及如何基于骨骼布局来设置顶点位置。本章会介绍如下点:

1.md5mesh格式

2.四元素概念

3.骨骼是怎样在蒙皮模型上工作的

 

简介:

由于静态的obj格式不存储动画,所以就选择了MD5格式来做这件事。虽然可以用obj格式来做混合帧动画,但对需要细致效果时,会需要很多的关键帧,而每帧都添加相同的顶点,这很消耗内存。

MD5格式使用骨骼(关节)结构来定义顶点位置。它由文件md5mesh和md5anim构成,它们都是以ascii格式存储便于读取。本章节介绍md5mesh文件,它保存模型的信息,比如几何体和材质。而md5anim文件用来保存模型的动画。关于md5mesh和md5anim更详细信息可参考网址1和网址2

 

骨骼动画:

骨骼动画是除关键帧动画(它在每个动画帧内保存模型的一个版本)外的一个选择,骨骼动画为每个模型定义一套骨骼,每个模型顶点被加权到一个或多个骨骼节点,当骨骼移动或改变位置时,顶点就会对它们加权。每个顶点都由一个或多个权重点构成,每个权重点关联对应骨骼节点位置以及一个偏差。在每个顶点不止一个权重点的情况下,这个偏差决定了某个顶点的权重大小。所有顶点的权重偏差需要添加到1为止。

有两种不同类型的骨骼动画结果。一个用于关节,一个用在类似于真实骨头的系统。

关节系统定义关节和父关节的位置以及方向。除顶层的根关节外的所有关节都有父关节,根关节为-1。子骨骼会跟着父骨骼一起旋转或移动。比如,若移动人的上臂,那么下臂,手掌以及手指都会跟着一起移动。

你可能感兴趣的:(DIRECT3D)