骨骼定义理解

直观的来说,一个Mesh想要动起来,那么就需要去对每个顶点做Transform(位移/旋转/缩放),当我们连续做很多帧这样的Transform并按顺序播放,就变成了动画。但是一个几万面的Mesh,在资源层面一帧就要保存几万个Transform,即使引入关键帧,也肯定还会占非常多的空间,因此这个做法明显不现实。那么能想到最直接的解决办法就是对这几万个Transform数据做压缩,把相同的归并在一起。

骨骼这个概念,本质上就是压缩相同顶点的Transform的一种方式。具体来说,就是把Mesh上一部分的顶点和其中一个或多个骨骼做绑定,那么我们只要记录这个骨骼的Transform就好了,这样一个Mesh就被划分成了多个部分,不同部分受不同的骨骼影响。最后计算顶点的实际位置时就只需要让顶点乘以关联的骨骼Transform就可以了。如果顶点是和多个骨骼关联,那么也可以分别乘以不同骨骼的Transform以及受影响的百分比,再求和,就可以得到最终的顶点位置。
 

猜你喜欢

转载自blog.csdn.net/weixin_44453202/article/details/130828291
今日推荐