Unity基础——3D数学

简介: Unity基础——3D数学

关于Mathf和Math

Unity 的 Mathf类提供了一组常见的数学函数,包括三角函数、对数函数以及游戏和应用开发中常用的其他函数。Unity 的 Math类为三角函数、对数函数和其他通用数学函数提供常数和静态方法。

Mathf是Unity中封装好的用于数学计算的工具结构体,位于UnityEngine的命名空间内;Math是C#中封装好的用于数学计算的工具类,位于System的命名空间内,他们都是提供用来进行数学相关计算的静态的工具结构体和工具类。

Math和Mathf的相关方法相似度非常高,Math是C#自带的工具类,主要提供一些数学相关的计算方式,而Mathf是Unity专门封装的,它不仅包含了Math中的方法,还多了一些适用于游戏开发的方法,所以我们在进行Unity游戏的时候,大多会使用Mathf中的方法进行数学计算。

Math类定义的常数有Math.PI(获取PI的值)和Math.E(获取E的值),而Mathf的常用方法一般只计算几次,例如Mathf.PI(获取PI的值)、Mathf.Abs()(获取绝对值)、Mathf.Max()(获取最大值)、Mathf.Pow()(获取一个数的N次幂)等,当然,Mathf中也有不停计算的方式,比如插值运算-Lerp。

Lerp的函数公式为:

result=Mathf.Lerp(start,end,t);//start为开始值,end为结束值,t为插值系数,取值范围为0-1

插值运算有两个用法

用法一:每帧都会改变start的值,变化速度先快后慢,位置无限接近于结果值,但是不会得到结果值的位置

start=Mathf.Lerp(start,10,Time.deltaTime);

用法二:每帧都会改变t的值,变化速度保持匀速,位置每帧接近于结果值,当差值系数大于等于一时,得到结果

time+=Time.deltaTme;
Result=Mathf.Lerp(start,10,time);

我们可以在一个物体跟随另一个物体移动的时候使用该函数从而得到想要的效果。

目录
相关文章
|
10天前
|
前端开发 图形学
unity UGUI跟随3D物体的坐标转换
在 Unity 中实现 UGUI 元素跟随 3D 物体,关键是将 3D 物体的世界坐标转换为屏幕或画布坐标。通过 Camera.WorldToScreenPoint 方法,可将 3D 物体位置映射到屏幕上,再更新 UGUI 元素的位置。代码示例展示了如何使用该方法,使 UGUI 图像跟随 3D 模型,并提供文字显示、图像和线条的显示/隐藏功能。
|
10天前
|
图形学
Unity 获取鼠标位置下的UGUI或3D物体
本文总结了两种检测方法,分别用于UGUI和3D物体的检测。第一种方法`GetOverUIobj`专门用于检测鼠标悬停的UGUI元素,通过`GraphicRaycaster`实现。第二种方法`GetOverWordGameObject`则同时适用于UI和3D物体检测,利用`PhysicsRaycaster`进行射线检测。两者均返回悬停对象或null。
|
8月前
|
图形学
【推荐100个unity插件之19】武器拖尾特效插件——Pocket RPG Weapon Trails(2d 3d通用)
【推荐100个unity插件之19】武器拖尾特效插件——Pocket RPG Weapon Trails(2d 3d通用)
176 0
|
8月前
|
图形学
【unity实战】3D水系统,游泳,潜水,钓鱼功能实现
【unity实战】3D水系统,游泳,潜水,钓鱼功能实现
233 0
|
8月前
|
Rust 图形学
【unity实战】使用unity制作一个类似Rust的3D生存建造建筑系统,具有很好的吸附性(附项目源码)
【unity实战】使用unity制作一个类似Rust的3D生存建造建筑系统,具有很好的吸附性(附项目源码)
234 1
|
8月前
|
图形学
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱12(附带项目源码)
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱12(附带项目源码)
92 0
|
8月前
|
图形学
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱10(附带项目源码)
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱10(附带项目源码)
92 1
|
8月前
|
图形学
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱8(附带项目源码)
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱8(附带项目源码)
72 1
|
8月前
|
图形学
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱7(附带项目源码)
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱7(附带项目源码)
50 0
|
8月前
|
存储 图形学
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱6(附带项目源码)
【制作100个unity游戏之25】3D背包、库存、制作、快捷栏、存储系统、砍伐树木获取资源、随机战利品宝箱6(附带项目源码)
53 0