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

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

将向量转几度

相关推荐
mxwin10 小时前
Unity Shader FLOWMAP岩浆流动制作案例
unity·游戏引擎·shader·uv
小贺儿开发11 小时前
【Arduino与Unity交互探究】01 摇杆模块
科技·unity·游戏引擎·arduino·串口通信·摇杆·硬件交互
Yasin Chen13 小时前
Unity TMP_SDF 分析(三)顶点着色器1
unity·游戏引擎·着色器
mxwin13 小时前
Unity Shader 使用 Noise 图 制作Shader 溶解效果
unity·游戏引擎
mxwin15 小时前
Unity Shader 用 Ramp 贴图实现薄膜干涉效果
unity·游戏引擎·贴图·shader·uv
魔士于安16 小时前
Unity星球资源,八大星球,带fps显示
游戏·unity·游戏引擎·贴图·模型
张老师带你学17 小时前
unity资源,深空陨石,适合太空背景的游戏开发
游戏·unity·模型
鹿野素材屋19 小时前
Unity动画幅度太大怎么办
unity·游戏引擎
垂葛酒肝汤20 小时前
Unity Sprite Rect 越界问题笔记
笔记·unity·游戏引擎
平行云20 小时前
数字孪生信创云渲染系列(一):混合信创与全国产化架构
unity·ue5·3dsmax·webgl·gpu算力·实时云渲染·像素流送