一Mathf总述
Math是C#中封装好的用于数学计算的工具类
Mathf是Unity中封装好的用于数学计算的工具结构体
Mathf既有Math的方法,还有特有的一些游戏开发的方法
Unity开发,使用Mathf中的方法。
二、常用方法
1圆周率
cs
print(Mathf.PI);
2绝对值
cs
print(Mathf.Abs(-10));
3向上取整
cs
print(Mathf.CeilToInt(1.001f));
4向下取整
cs
print(Mathf.FloorToInt(9.6f));
5钳制函数
(x,y,z)x在yz之间就取x,比x大或小,就取对应边界
cs
print(Mathf.Clamp(10, 11, 20));
print(Mathf.Clamp(21, 11, 20));
print(Mathf.Clamp(15, 11, 20));
6获取最大值
cs
print(Mathf.Max(1, 3, 9, 10));
7获取最小值
cs
print(Mathf.Min(1, 9, -10, 6));
8一个数的n次方 pow (x,y) x的y次方
cs
print(Mathf.Pow(3,2));
9四舍五入
cs
print(Mathf.RoundToInt(1.3f));
10返回一个数的平方根
cs
print(Mathf.Sqrt(16));
11判断一个数是否2的n次方
cs
print(Mathf.IsPowerOfTwo(4));
12判断正负数
返回的是float类型的1或者-1
cs
print(Mathf.Sign(10));
三、Math中的不停计算
插值运算公式 Mathf.Lerp(start,end,t)
t为插值系数,为0-1 结果result=start+(end-start)*t;
插值运算用法一
每帧改变start的值 ,变化速度先快后慢,位置无限接近,但是不会到达end位置
cs
start = Mathf.Lerp(start, 10, Time.deltaTime);
插值用法二
每帧改变t的值,变化速度匀速,每帧位置接近 当t>=1时,到达end位置
cs
time += Time.deltaTime;
result = Mathf.Lerp(start, 10, time);