OGL(教程38)——骨骼动画

原文地址:http://ogldev.atspace.co.uk/www/tutorial38/tutorial38.html

背景知识:
最终,学习到这里。本教程大约百万的读者(也许有些夸张,但是确实有不少读者)会问:骨骼动画,也就是通常说的蒙皮,这里使用的是Assimp库。

骨骼动画实际上有两个处理过程。第一个是有设计师执行,第二个是有你们,程序员执行(或者是你写的引擎执行)。第一个部分发生在模型软件内部,这个叫做装配阶段。这里发生了什么呢,设计师在网格内部定义了骨骼。网格代表了皮肤对象,它可以是人类,怪物或者是任何其他的东西,而骨骼被用来移动网格,以一种模拟现实实际的移动方式。这是通过把每个顶点分配给一个或者多个骨骼实现。当一个顶点被分配到一个骨骼,就会定义一个权重,此权重决定了骨骼对顶点移动的影响大小。最常见的方式保证一个顶点的所有权重加起来等于1。比如,一个顶点处于两个骨骼之间,我们可以把两个骨骼对此顶点的影响权重分别设置为0.5,因为我们想两个骨骼对顶点的影响相同。但是如果把两个骨骼对其权重都设置为1,那么意味着每个骨骼只能独立影响此顶点。

猜你喜欢

转载自blog.csdn.net/wodownload2/article/details/83539712