Unity(二)——3D数学

数学计算公共类------Mathf

一、Mathf和Math

Math是c#中的数学方法,是一个静态类

Mathf是Unity中封装好的方法,是一个结构体

Math中有的,Mathf中都有

二、Mathf中一般计算一次的

三、Mathf中不停计算的

三角函数

一、角度和弧度

π=180度

二、三角函数

三、反三角函数

从值得到弧度是多少,然后弧度转角度

坐标系

一、世界坐标系

模型正朝向是z轴

向上为y轴

向右为x轴

二、物体坐标系

前面加Local

相对于父对象的坐标系

三、屏幕坐标系

四、视口坐标系

左下角为(0,0)右上角为(1,1)

Vector3向量

一、向量

1.两点决定一个向量

终点减起点

2.零向量和负向量

Vector3.zero

-Vector3.forward

3.向量的模长

magnitude

Vector3.Distance

4.单位向量

normalized

二、向量加减乘除

三、向量点乘

点乘>0两向量夹角为锐角

点乘=0两向量夹角为直角

点乘<0两向量夹角为钝角

1.调试画线

2.通过点乘判断对象的方位

两向量的点乘,结果判断大于小于0

3.公式求两向量夹角

β=Acos(单位向量A*单位向量B)

除了点乘的方法还有

Unity自带的API

四、向量叉乘

1.计算

X Y Z

Xa Xb

Ya Yb

Za Zb

算x向量 x行不看,从上到下,

x=YaZb-ZaYb

算Y向量同理

Y=ZaXb-XaZb

Z=XaYb-YaXb

直接使用API

2.几何意义

是A向量和B向量平面的法向量

A×B= -(B×A)

结果>0 A在B左侧

结果<0 A在B右侧

五、向量插值运算

1.线性插值

2.球形插值

是弧形轨迹

Quaternion四元数

一、为何使用四元素

1.欧拉角

heading:物体绕Y轴转

pitch:物体绕X轴转

bank:物体绕Z轴转

heading------pitch------bank

在Unity中,Rotation就是调整欧拉角

2.万向节死锁

欧拉角会出现万向节死锁,所以在界面上改数值是会产生死锁的,所以要用四元数来解决

二、四元数是什么

1.四元数的构成

由实数加上三个虚数单位组成

轴-角对

假设绕n轴旋转β度,n轴为(x,y,z)

四元数Q=cos(β/2),sin(β/2)\*n(一个标量和三个向量,表示绕着n轴旋转β度)

2.Unity中的四元数

3.四元数和欧拉角的相互转换

三、四元数的常用方法

1.单位四元数

标量为1或者-1且没有旋转角度的时候

2.四元数的插值运算

3.向量指向转四元数

面朝像盯向目标物体

类似于LookAt

四、四元数的计算

1.四元数相乘

相当于旋转

2.四元数乘向量

四元数乘向量返回新的向量

将向量转几度

相关推荐
点心的游戏开发世界3 小时前
GDScript 入门笔记(二):变量与数据类型
笔记·游戏引擎·godot
一梭键盘任平生3 小时前
Shader入门笔记2
unity
点心的游戏开发世界11 小时前
Unity C# 脚本学习笔记:命名空间与 using
学习·unity·c#
点心的游戏开发世界13 小时前
Unity C# 脚本学习笔记:泛型
学习·unity·c#
郝学胜-神的一滴1 天前
CMake 047:解锁安装阶段自定义操作,告别配置阶段提前执行坑
运维·服务器·c++·游戏引擎·图形渲染·opengl
微三云生态系统架构师-彭丹2 天前
任务卷轴积分系统架构设计:从任务状态机到合规风控的完整实现
unity·系统架构·游戏引擎
XR技术研习社2 天前
从 PICO 文档看未来短期内的 Unity 版本选择
unity·游戏引擎·xr·vr
玖玥拾2 天前
Unity 热更新(一)
unity·游戏引擎
软件黑马王子2 天前
1.non-MonoBehaviour 单例模式泛型基类
unity·前端框架·c#
KhalilRuan3 天前
Unity性能优化
unity·性能优化·游戏引擎