游戏动画中欧拉角与万向锁的理解

总结:如果动画师在某个关键帧处指定了会引发万向锁的方位,则下一个关键帧的方位一旦超出了万向锁的约束范围,则这两个关键帧之间的路径就会发生偏移,反映在角色动画上是旋转偏移,反映在镜头控制上就是镜头抖动。

要获得路径偏移的感性认识,可以参考这个视频:这个视频和我的描述有些不同,该视频使用一个称为万向节的奇怪装置解释的,而我是直接用的物体坐标系但路径偏移都是一样的。

http://v.youku.com/v_show/id_XNzkyOTIyMTI=.html

怎样解决万向锁这个问题?

出现这个问题的根本原因是在万向锁情况下对欧拉角的插值不是线性的,因此旋转路径发生偏移。

解决方法是:

将欧拉角转换为四元数,对四元数进行slerp即球面线性插值,再将这一系列四元数转换为对应的欧拉角,而后作用于角色。缺点是耗费一定的内存,但角色可以任意旋转,灵活度高。

转载:http://blog.csdn.net/huazai434/article/details/6458257
https://zhuanlan.zhihu.com/HomoLuden
http://blog.csdn.net/candycat1992/article/details/41254799/

时间: 2024-11-05 06:25:50

游戏动画中欧拉角与万向锁的理解的相关文章

游戏动画中欧拉角与万向锁的理解(转)

http://blog.csdn.net/huazai434/article/details/6458257 我在2009年5月份左右拜读了<3D数学基础:图形与游戏开发>,当时对欧拉角中万向锁的概念一直是百思不得其解,也从未遇到过这种情况.书上有这样一句话:"如果您从来没有遇到过万向锁情况,你可能会对此感到困惑,而且不幸的是,很难在本书中讲清楚这个问题,你需要亲身经历才能明白."今天我用3个多小时的时间再次回想了一下这个问题,总算想明白了,现在把思考的结果分享给大家. 下

【最终幻想15 国王之剑】制作介绍1:不再是游戏动画,而是“电影”制作

日文链接:http://cgworld.jp/interview/201606-kgffxv-01intro.html [最终幻想]系列在全世界有着累计销售1亿1500万份的成绩.用与最新的游戏[最终幻想15(FFXV)]同样的世界,事件,角色来描绘的长篇剧场动画[最终幻想15 国王之剑]公开了.包括史克威尔艾尼克斯的第2商务部在内,约50个国内外的强力工作室协作的前作未有的挑战.来看看这些的幕后信息吧. [最终幻想15 国王之剑]的预告视频 STRATEGY:不是游戏动画,而是“电影”制作 [

骨骼蒙皮动画中的坐标变换

背景知识 模型视图变换 OpenGL没有视图矩阵,只有模型视图矩阵,一般游戏引擎都会抽象出视图矩阵的. 总的变换为: v` = projection * view * mode * v; 父子节点变换 v` = worldMatrix * v = (parentWorldMatrix * localMatrix) * v; 骨骼变换 其实真正表示的关节,而不是骨头,只是骨头比较好理解. 默认姿态网格对象坐标空空变换到骨骼局部坐标空间(offsetMatrix). 完了后又从骨骼空间变换回动画姿态

Cocos2d-x手机游戏开发中-组合动作

动作往往不是单一,而是复杂的组合.我们可以按照一定的次序将上述基本动作组合起来,形成连贯的一套组合动作.组合动作包括以下几类:顺序.并列.有限次数重复.无限次数重复.反动作和动画.动画我们会在下一节介绍,本节我们重点顺序.并列.有限次数重复.无限次数重复和反动 下面我们通过一个实例介绍一下组合动作的使用,这个实例如下图所示,下图是一个操作菜单场景,选择菜单可以进入到下图动作场景,在下图动作场景中点击Go按钮可以执行我们选择的动作效果,点击Back按钮可以返回到菜单场景. 下面我们再看看具体的程序

[C++基础]位运算 游戏开发中的应用

位运算的定义:通俗点说,位运算就是对一个整数在计算机中二进制进行操作. 任何一个整数都可以用二进度的方式来表示的,不同类型的整数它的位数的长度也不一样,INT8或者char是由8个2进度 位表示,INT16或者short是由16个2进度位表示,INT32是由32位状态位表示. 位运算在游戏中的应用 往往,在游戏开发中做位运算的时候,我关注的主要是某一位的值是0,还是1,而并不是去关注这个整数的值是多少. 比如:00100010,这个8位的整数从右到左,它的第一位为0,第二位为1,第三位为0,第六

说说我们的游戏动画设计

游戏美术行情在线 在我国游戏动画行业是比较特殊的行业,是国家大力发展行业,是一个起点低发展快的行业,游戏动画设计制作人才是我国游戏动画发展的不可缺少的一部分.在此背景下,游戏动画人才水涨船高,成为人才市场上最紧俏的人才之一.加上游戏动画产业范围广.衍生品多,.拓展空间大,所以我国游戏动画设计制作人才需求量非常大. 目前游戏美术培训机构多以3dmax游戏动画制作课程为主,那到底什么是3dmax游戏动画制作呢? 我们制作的过程分成九个步骤,分别是: 一.模型检查:检查模型是否符合动作制作要求以及项目

【张宴】PHP在金山游戏运营中的应用

PPT下载地址1(国外服务器):http://blog.s135.com/attachment/201105/2011phptc_zy.zip PPT下载地址2(国内服务器):http://ishare.iask.sina.com.cn/f/15231659.html 原文:http://blog.s135.com/2011phptc/ 大家好,现在我来跟大家分享的是PHP在金山游戏运营中的,包括团队开发,以及像系统结 构,设计,运营平台这些信息.我议题主要有两个,一个是在金山游戏官方网站做的一

位运算 游戏开发中的应用

位运算的定义: 通俗点说,位运算就是对一个整数在计算机中二进制进行操作. 位运算的原理是很简单的,百度百科里就能找到它的一些基本的用法,以及相关的运算符号. 大部分刚刚进入到游戏行业里的程序员,你问他什么叫位运算,他都懂,但实际中往往却不记得去使用它. 任何一个整数都可以用二进度的方式来表示的,不同类型的整数它的位数的长度也不一样,INT8或者char是由8个2进度位表示,INT16或者short是由16个2进度位表示,INT32是由32位状态位表示. 位运算在游戏中的应用 往往,在游戏开发中做

英雄联盟设计师:游戏动画压缩如何保质量

转自:http://www.gamelook.com.cn/2015/08/226312 Gamelook报道/不论是哪个平台的游戏,开发商最为头疼的问题之一就是包体大小,因为它不仅影响玩家硬件的存储空间,还直接决定玩家从发现到体验游戏的时间差.而游戏动画则是占用资源最大的部分,所以如何压缩动画是所有开发者都需要面对的问题. 最近,<英雄联盟>开发商Riot Games发布了相关的技术贴,设计师Jaewon Jung通过博客的形式讨论了如何在不降低动画质量的情况下进行动画压缩的话题,并且在文章