博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
游戏动画中欧拉角与万向锁的理解
阅读量:6903 次
发布时间:2019-06-27

本文共 534 字,大约阅读时间需要 1 分钟。

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

 

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

 

 

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

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

解决方法是:

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

 

 

转载:http://blog.csdn.net/huazai434/article/details/6458257

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

转载于:https://www.cnblogs.com/porter/p/7574424.html

你可能感兴趣的文章
React Render props
查看>>
自动类型转换
查看>>
C# winfrom 当前程序内存读取和控制
查看>>
电话号码分身
查看>>
Redis持久化方案
查看>>
Unity保存序列化数据
查看>>
测试jupyter notebook导出md格式的兼容性
查看>>
【转】WPF MultiBinding 和 IMultiValueConverter
查看>>
解决springMVC文件上传报错: The current request is not a multipart request
查看>>
Struts2国际化-getText()方法
查看>>
实时监听组件中路由的变化
查看>>
MnasNet:迈向移动端机器学习模型设计的自动化之路
查看>>
选项卡的JS
查看>>
青蛙的约会(扩展欧几里得)
查看>>
Asia Yokohama Regional Contest 2018 C题 - Arithmetic Progressions(思维)
查看>>
UVa 101 - The Blocks Problem STL
查看>>
计算机专业术语
查看>>
Leetcode-探索 | 移动零
查看>>
DBI 数据库模块剖析:Perl DBI 数据库通讯模块规范,工作原理和实例
查看>>
Tesseract+opencv+VS+win实现OCR
查看>>