美文网首页
Unity基础【唐老狮】(二)四元数

Unity基础【唐老狮】(二)四元数

作者: Die时而动 | 来源:发表于2022-06-28 20:31 被阅读0次

3D数学-四元数

  • 欧拉角的缺陷
    • 同一旋转的表示不唯一
    • 万向节死锁
      • 两个轴重合时,失去一维的调节能力
  • 四元数是什么
    • 四元数构成
      • 超复数:实数+三个虚数单位
      • [W,V]标量+3维向量
      • 轴角对
      • [cos(b/2),sin(b/2)*n],n为轴向量,b为旋转角度
    • Unity四元数
      • Quaternion
      • 初始化
        • new Quaternion(sin(b/2)x,sin(b/2)y,sin(b/2)z,cos(b/2))
        • Quaternion.AngleAxis(角度,轴)
      • 角度四元数转换
        • Quaternion.Euler(x,y,z)
        • Quaternion q; q.eulerAngles
    • 四元数解决欧拉角缺陷
  • 四元数常用方法
    • 单位四元数:无旋转
      • Quaternion.identity
    • 插值运算
      • Quaternion.Slerp
      • 实现匀/变速转动
    • 向量转换四元数
      • Quaternion.LookRotation(Vector3 n)
    • 练习
      • c#拓展方法
      • 匀变速运镜
  • 四元数计算
    • 四元数相乘
      • 旋转量叠加
    • 四元数乘向量
      • 旋转向量
    • 练习
      • 模拟飞机发射不同类型的子弹
        • 按数字键切换发射模式
        • 不同模式实现方法
        • 利用四元数相乘旋转设置子弹实例化的方向
      • 摄像机跟随效果
        • 需求
          • 摄像机在人物斜后方,通过角度控制斜率
          • 通过鼠标滚轮控制摄像机距离人物的距离
          • 摄像机看向人物头顶一个位置
          • Vector3.Lerp实现相机跟随人物
          • Quaternion.Slerp实现摄像机看向人物
        • 实现
          • 旋转方向:轴朝向自己,顺时针为正
          • 角度叠加,旋转向量,点的平移
          • 匀/变速的实现

相关文章

网友评论

      本文标题:Unity基础【唐老狮】(二)四元数

      本文链接:https://www.haomeiwen.com/subject/tndzvrtx.html