这个东西不理解也就算了,每次还都不会使用,烦死了,这次记录一下。
Quaternion.AngleAxis(角度,沿axis轴)方法
返回一个旋转,意义是绕axis轴旋转angle

Quaterion*Quaternion
在lq的旋转状态下进行rq的旋转意义

Unity当中的旋转方向(世界坐标系是左手坐标系)
y: 正是往右边旋转
x: 正是下面旋转
z: 正是往左边旋转

速度*时间=某时移动矢量

为了确保同时按下w和d移动速度不变(因为两个方向的速度矢量肯定最后向量长度会变成根号2),可以把移动向量Normalize化

Vector3.Normalize()
静态方法:使向量的长度为1

Quaternion*Vector3
返回Vector3,意义是让Vector3旋转一个q的角度然后返回新的向量。

Quaternion.FromToRotation(v1,v2)
创建一个从v1到v2的旋转

Mathf.Acos(cos值)
返回弧度

Quaternion.AngleAxis(角度,axis)
绕axis轴旋转angle,创建一个旋转,角度是矢量

q1.RotationTo(q2)
返回一个旋转,目标是让原始旋转q1 能够转向 q2。

q.Right() 以及 q.Foward()
意义跟v.Right(),v.Forward() 是一样的,代表物体当前旋转的right,forward局部方向向量。

q.Inverse()
返回反向的旋转。 沿y正45,反着就是负45了。

transform.right
在想想transform.方向这种东西,代表的是物体的局部right轴或者up轴,在物体什么旋转都没有的时候,当然就代表跟世界的是一样的,例如Vector3.right,当然经过一个矩阵的旋转之后,例如绕y旋转,right轴也会受到影响,自然Vector3.right*旋转矩阵计算出来的新的right轴就是物体的局部right轴。
测试代码。

 float angle = Vector3.Angle(Vector3.right, transform.right);// 假设angle 是30度angle = 30;//Vector3 newV =  Quaternion.AngleAxis(angle,Vector3.up) *Vector3.right;//Debug.LogError($"newV:{newV}");//transform.right = newV;//Vector3 newV = Quaternion.AngleAxis(angle, Vector3.right) * Vector3.right;Vector3 newV = Quaternion.AngleAxis(angle, Vector3.right) * Vector3.up;Debug.LogError($"newV:{newV}");transform.up = newV;

所以其实我想说的是一个代表旋转的最终的旋转四元数*世界轴向量得出来的就是局部轴向量

        Vector3 lRight = transform.rotation.Right();Vector3 lForward = transform.rotation.Forward();Debug.LogError($"qlRight: {lRight}");Debug.LogError($"qlForward: {lForward}");lRight = transform.right;lForward = transform.forward;Debug.LogError($"lRight:{lRight}");Debug.LogError($"lForward:{lForward}");lRight = transform.rotation * Vector3.right;lForward = transform.rotation * Vector3.forward;Debug.LogError($"lRight:{lRight}");Debug.LogError($"lForward:{lForward}");

速度:每秒xx的单位

帧速:速度/每秒多少帧

Input.GetAxis()的值范围

鼠标的话范围也许在1-20之间。
左上 正
右下 负
Mouse1 的话按下时1,松开是0

推荐学习文章:
复数是怎么代表角度的:https://www.shuxuele.com/algebra/complex-number-multiply.html , 转化成极坐标,在极坐标数学规律上寻找几何意义
四元数与旋转矩阵 https://openhome.cc/Gossip/WebGL/Quaternion.html

《Unity》 向量四元数以及常用数学公式相关推荐

  1. unity入门API————最常用的基类总结

    unity入门API----最常用的基类总结 前言 学校的一个大创项目要用到unity,所以小学一下.但是unity这个体量似乎有点太大了吧-在书店淘了一本张尧写的<Unity3D从入门到实战& ...

  2. 【自动驾驶】30.c++实现基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换(附代码)

    矩阵的使用可参考系列博客:点击此处 原文链接:基于eigen实现欧拉角(RPY), 旋转矩阵, 旋转向量, 四元数之间的变换. 也可以参考另一篇博客:eigen 中四元数.欧拉角.旋转矩阵.旋转向量. ...

  3. Unity向量按照某一点进行旋转

    一.unity的旋转 首先要知道一点就是在Unity的旋转中使用过四元数进行旋转的,如果对一个物体的rotation直接赋值你会发现结果不是你最终想要的结果,这个时候我们需要去借助Quaternion ...

  4. 三维空间坐标的旋转算法详解_视觉slam | 三维空间刚体运动的五种表达:旋转矩阵 变化矩阵 欧拉角 旋转向量 四元数及互相转换...

    原po:高翔slam十四讲-刚体运动 1.旋转矩阵 考虑一次旋转 Before: 坐标系(e1,e2,e3), 向量(a1,a2,a3) After: 坐标系(e1',e2',e3'), 向量(a1' ...

  5. Latex常用数学公式

    Latex常用数学公式 1.戴帽子的字母 2.希腊字母 3.任意 | 存在 | 非 4.运算符 基本运算符 优雅的省略号 美丽的括号 字体 矩阵 常用箭头 行列式,矩阵,方程组Latex表示 1 行列 ...

  6. Unity脚本介绍和常用API

    Unity脚本介绍和常用API 脚本介绍 1.脚本 介绍 语法结构 编译过程 2.开发工具 MonoDevelop Visual Studio 3.脚本生命周期 简介 脚本生命周期的阶段 1.初始阶段 ...

  7. 几何公式和定理(初中)一些常用数学公式

    几何公式和定理(初中)一些常用数学公式 1 过两点有且只有一条直线    2 两点之间线段最短  3 同角或等角的补角相等    4 同角或等角的余角相等  5 过一点有且只有一条直线和已知直线垂直  ...

  8. 常用数学公式的编程表达

    今天把常用数学公式用C/C++表达组织一下,以便日后使用. 排列组合数 随机输出任意一个全排列 排列组合数 先来看看排列组合数的公式: Amn=n(n−1)-(n−m+1)=n!(n−m)! A_n^ ...

  9. Markdown 常用数学公式符号记录

    这篇文章记录一些markdown文本编辑中常用的数学公式符号,尤其是一些生僻的符号,会持续更新. 上下标 1. $\vec{a}$ 向量 2. $\overline{a}$ 平均值 3. $\unde ...

最新文章

  1. 2018-2019-2 网络对抗技术 20165324 Exp4:恶意代码分析
  2. SpringMVC的文件上传和拦截器
  3. 总线协议之I2C总线时序
  4. python怎么只打印其中一行_如何在Python中让两个print()函数的输出打印在一行内?...
  5. 【CodeForces - 227A】Where do I Turn? (计算几何,叉积判断直线拐向)
  6. 10个理由告诉你为何要学Java编程?
  7. python监听键盘库_python监听、操作键盘鼠标库pynput详细教程|python基础教程|python入门|python教程...
  8. 华为云PB级数据库GaussDB(for Redis)揭秘第十期:GaussDB(for Redis)迁移系列(上)
  9. iPhone 12 5G更耗电?续航时间较4G妥妥地缩短不少
  10. 程序员面试题之解读构造函数
  11. 字节流 system.out ----printStream
  12. 光纤跳线接口_你知道光纤接头、尾纤、终端盒的作用与接法嘛?读懂这篇足够...
  13. UCF101数据集标签错误解决方案
  14. 目标跟踪 | 目标跟踪算法总结
  15. Unity 自定义扩展Hierachy右键菜单
  16. 短代码 html,WooCommerce 默认提供的简码短代码
  17. 微信小程序答题页——swiper渲染优化及swiper分页实现
  18. 教教你如何配置汤姆猫 和 Java 环境变量的设置
  19. 计算点到直线/线段的距离
  20. SDX62出现WARNING: CPU: 0 PID: 8743 at net/netfilter/nf_nat_core.c:614 nf_nat_setup_info+0x8e4/0x900

热门文章

  1. Word 无法打开该文件,因为文件格式与文件扩展名不匹配。
  2. 架构设计:负载均衡层设计方案(8)——负载均衡层总结上篇
  3. 《数字营销实战》思维导图
  4. 设计模式学习--观察者模式(Observer Pattern)
  5. 隔壁老王的iptables防火墙
  6. Apple Developer注册教程
  7. 仿微信清理内存图表动画(解决surfaceView闪烁问题)
  8. 软件环境:安装报Error opening file for writing
  9. 一种用于NDN的安全的链路状态路由协议
  10. c语言程序执行不了,为什么C语言程序中if和else后的语句执行不了?