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.四元数乘向量

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

将向量转几度

相关推荐
叶帆15 天前
【YFIOs】用C#开发硬件之设备上云
开发语言·unity·c#
久数君15 天前
AI三维建模工具“造形家”:地理场景三维化的高效解决方案
unity·glb·ai算法·ai三维建模工具·地图框选·造形家·城市建筑模型
会思考的猴子15 天前
Unity VFX 属性 Postion 和 TargetPostion
unity
hai31524754315 天前
九章编程法 · 猜数字游戏 (GW-BASIC 重构版) *
人工智能·microsoft·游戏引擎·游戏程序
心前阳光15 天前
Unity资源导入之自动化资源导入
unity·自动化·游戏引擎
心前阳光15 天前
Unity之2021.3.45f2c1发布安卓程序遇到的问题
android·unity·游戏引擎
纪纯15 天前
PicoVR Unity Integration SDK 3.4 常用交互API
unity·游戏引擎·vr·pico
龙智DevSecOps解决方案16 天前
3A 游戏优化技术栈:如何打通引擎级分析工具与 DevOps 持续集成管线?
unity·性能优化·游戏开发·技术美术·perforce·unrealengine
葛兰岱尔16 天前
从 SolidWorks 到 Three.js,从 Inventor 到 Unity——制造业CAD模型“几何-语义一体化“转换,不再是天方夜谭!
开发语言·javascript·unity
鼎艺创新科技16 天前
三维电子沙盘中OSGB倾斜摄影数据的加载与渲染
游戏引擎·cocos2d