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

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

将向量转几度

相关推荐
爱搞虚幻的阿恺2 天前
Niagara粒子系统-超炫酷的闪电特效(加餐 纸牌螺旋上升效果)
游戏·游戏引擎
_Li.2 天前
Simulink - 6DOF (Euler Angles)
人工智能·算法·机器学习·游戏引擎·cocos2d
weixin_424294672 天前
Unity 调用Steamworks API 的 SteamUserStats.RequestCurrentStats()报错
unity·游戏引擎·steamwork
HoFunGames2 天前
Unity小地图,Easy Minimap System MT-GPS插件
unity·游戏引擎
wy3258643643 天前
Unity 新输入系统InputSystem(基本操作)
unity·c#·游戏引擎
WarPigs3 天前
着色器multi_compile笔记
unity·着色器
ECHO飞跃 0123 天前
Unity2019 本地推理 通义千问0.5-1.5B微调导入
人工智能·深度学习·unity·llama
Unity游戏资源学习屋3 天前
【Unity UI资源包】GUI Pro - Casual Game 专为休闲手游打造的专业级UI资源包
ui·unity
冰凌糕3 天前
Unity3D Shader 顶点法线外扩实现描边效果
unity
星和月3 天前
Untiy使用说明
c#·游戏引擎