当前位置: 首页 > news >正文

OpenGL step by step 38 : Skeletal Animation with Assimp

一般骨架模型由两部分组成:

  • Rigging(bone):相当于骨架,可以用来控制模型的动作
  • Mesh(skin):相当于表面皮肤

 

骨架模型一般是层级结构的,比如上面 背骨是root,他的孩子包括胳膊、腿,手指就是再下一层的结构。当父结构运动时,带动子结构也运动。而子结构运动时,父结构不一定运动。

图形引擎制作动画:

对于每个顶点添加一个槽数组,每个槽包含一个骨骼的ID和权重。此处给每个数组分配了四个槽(与每个顶点关联的骨骼不超过4个)

骨骼ID是一系列骨骼转换的索引。权值用于将一系列骨骼的转换合并为一个转换,并且在任何情况下权值总和为1。通常会在动画关键帧之间插值,并更新每一帧的骨骼转换数组。

 

 

骨骼转换阵列的创建通常是比较复杂的部分。转换是一个层级结构,通常的做法是为树的每个节点绑定一个缩放向量、一个旋转四元数和一个平移向量。数组中的每个条目都必须有一个时间戳。应用程序时间与其中一个时间戳完全匹配的情况很少,因此我们的代码必须能够插值 缩放/旋转/转换 三种变换,以获得应用程序时间点的正确转换。我们对从当前骨骼到根骨骼的每个节点都做同样的处理,然后将这个转换链相乘得到最终结果。对每个骨骼都这样做,然后更新着色器。

 以上所说都是通用的。

 

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

完整翻译:https://blog.csdn.net/zju_fish1996/article/details/52450008

相关文章:

  • 顺为资本第四期美元基金募集完成 规模12.1亿美元
  • 【经验分享】:如何将PDF格式的文件进行翻译
  • 当奶猫来敲门
  • Jquery attr()方法 属性赋值和属性获取
  • [译] Google 工程师提升网页性能的新策略:空闲执行,紧急优先
  • 程序员的炼金术,如何用技术变现
  • java中如何使用Junit测试
  • 马斯克放大招!直逼高铁时速的240km h汽车隧道挖成了!
  • 书摘—松下幸之助全传
  • [洛谷P3567][POI2014]KUR-Couriers
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • 以太坊分片:Overview and Finality
  • MySQL自定义函数递归查询父节点和子节点
  • “加息”道路越走越窄,小牛在线需主动自省求变
  • Cetos 7 防火墙设置
  • 5、React组件事件详解
  • Android单元测试 - 几个重要问题
  • Apache的基本使用
  • Go 语言编译器的 //go: 详解
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript HTML DOM
  • JavaScript设计模式系列一:工厂模式
  • Java知识点总结(JavaIO-打印流)
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Python_网络编程
  • vue脚手架vue-cli
  • 彻底搞懂浏览器Event-loop
  • 诡异!React stopPropagation失灵
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 前端之Sass/Scss实战笔记
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 实现简单的正则表达式引擎
  • 说说动画卡顿的解决方案
  • 微信开放平台全网发布【失败】的几点排查方法
  • elasticsearch-head插件安装
  • Linux权限管理(week1_day5)--技术流ken
  • MyCAT水平分库
  • 正则表达式-基础知识Review
  • ​水经微图Web1.5.0版即将上线
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (2/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (vue)页面文件上传获取:action地址
  • (二)斐波那契Fabonacci函数
  • (附源码)计算机毕业设计SSM疫情社区管理系统
  • (南京观海微电子)——I3C协议介绍
  • (三分钟)速览传统边缘检测算子
  • (一)appium-desktop定位元素原理
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • .apk文件,IIS不支持下载解决
  • .gitignore文件—git忽略文件
  • .Net 4.0并行库实用性演练
  • .NET6使用MiniExcel根据数据源横向导出头部标题及数据
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET面试题解析(11)-SQL语言基础及数据库基本原理