zoukankan      html  css  js  c++  java
  • FBX骨骼坐标系与模型坐标系的关系

    采用assimp加载FBX文件。首先记录下ubuntu下assimp的编译安装。

    cd assimp_unzip_dir
    mkdir build
    cd build && cmake ..
    make
    sudo make install
    //这样,assimp的头文件就安装在/usr/local/include,lib文件在/usr/local/lib

    -------------------------------------------------------------------------------------------------------------

    assimp加载完模型后,aiScene里面,aiMesh数组负责保存mesh相关的几何信息(还包括该mesh种架设的骨骼们),而aiNode,一棵场景树保存了各个mesh?node?bone?的层级关系。而骨骼动画就依赖这棵树。

    每个bone会关联一些定点及对应的权值。bone变换会依据权重施加到对应的定点上。如何施加呢?

    首先,assimp的mesh的vertice们定义在模型坐标系下,在这套坐标系下定义了一颗场景树,根节点保存了模型坐标系到根节点坐标系的变换矩阵,而场景树的内部节点和叶子节点都会保存其相对于父节点坐标系的变换矩阵。对于定义了骨骼的节点,为了将定义在模型坐标系下的定点坐标转换到骨骼坐标系下,每个骨骼还会关联一个mOffsetMatrix。这样我们对定点施加变换时首先利用mOffsetMatrix将定点转换到骨骼坐标系下,然后进行变换,接着沿着树结构一直向上到根节点,最后再转换到模型坐标系下。

  • 相关阅读:
    vue-fullcalendar插件
    iframe 父框架调用子框架的函数
    关于调试的一点感想
    hdfs 删除和新增节点
    hadoop yarn 实战错误汇总
    Ganglia 安装 No package 'ck' found
    storm on yarn(CDH5) 部署笔记
    spark on yarn 安装笔记
    storm on yarn安装时 提交到yarn失败 failed
    yarn storm spark
  • 原文地址:https://www.cnblogs.com/redips-l/p/10452656.html
Copyright © 2011-2022 走看看