zoukankan      html  css  js  c++  java
  • 骨骼动画中的顶点变换过程详解

         在研究过OGRE骨骼动画的源码之后,对骨骼动画的理解有了进一步的加深,参考部分英文文献,我想在这节一步一步来解释一下骨骼动画中的顶点变换,帮助你更清晰的了解骨骼动画。如果对骨骼动画基本原理不是很理解,可以先参考《引擎技术中的骨骼动画蒙皮设计与实现》。下面我们结合Maya来谈谈LBS中的顶点变换过程。

         首先载入模型,skin之后我们可以分配给每个顶点bone assignment,下面我们来测试顶点的变形:

         如上图,可知选中点在骨骼变换之前的V点的坐标是(6.419,17.606,-0.823),由于我们的骨骼比较特殊,在reference骨骼空间中,初始只有平移,没有旋转,因此我们可以定义为如下形式

     

        现在做下一步,把shoulder骨骼旋转180度,那么我们可以得到如下矩阵,即矩阵A:

       由于是rigid蒙皮,所以V点只跟shoulder有关,所以可以得到变换后的坐标位置为:

       展开得:

         

    假设绕x周旋转的角度是180度,带入上式可得:

    带入相应的值,可以求出V点的坐标为(6.418,14.760,-1.890),得到的效果如下:

    对比V点变换前后的坐标,可以知道,V点的坐标又上变下了,这符合骨骼动画的旋转,当每个节点跟很多骨骼相关的时候,在混合的情况下,有可能会出现极端的情况,这就是cand-wrapper的由来.

  • 相关阅读:
    javaScript类型和对象
    极客时间买课全额返现
    极客时间返利课程返利文字版
    负责范围
    list查询
    缺件修改
    修改信息
    Windows系统解决占用端口问题
    mysql系列——常用的几十个函数详解(六)
    史上最全日期时间类讲解
  • 原文地址:https://www.cnblogs.com/bite_the_bullet/p/2032137.html
Copyright © 2011-2022 走看看