一、Mathf是什么?
Mathf提供数学计算的函数与常量,面有所有数学计算时需要用到的函数。Mathf对象没有构造函数,是一个固有的对象,并不像String那样是对象的类,因此没有构造函数 Math()。
二、常用的用法
1.Mathf.Round 四舍五入
代码如下(示例):
Debug.Log(Mathf.Round(10.2f));
// Prints 10
2.Mathf.RoundToInt 四舍五入到整数
代码如下(示例):
// Prints 10
Debug.Log(Mathf.RoundToInt(10.5f));
// Prints 12
Debug.Log(Mathf.RoundToInt(11.5f));
它的解释是这样的:如果数字末尾是.5,因此它是在两个整数中间,不管是偶数或是奇数,将返回偶数。 其他的就是正常的四舍五入了。
3.Mathf.Ceil 上限值
返回 f 指定数字或表达式的上限值。数字的上限值是大于等于该数字的最接近的整数。
// Prints 10
Debug.Log(Mathf.Ceil(10.0f));
// Prints 11
Debug.Log(Mathf.Ceil(10.2f));
4.Mathf.CeilToInt 最小整数
返回最小的整数大于或等于f。
// Prints 11
Debug.Log(Mathf.CeilToInt(10.7f));
// Prints -10
Debug.Log(Mathf.CeilToInt(-10.7f));
5.Mathf.Floor 下限值
返回参数 f 中指定的数字或表达式的下限值。下限值是小于等于指定数字或表达式的最接近的整数
// Prints 10
Debug.Log(Mathf.Floor(10.7f));
// Prints -11
Debug.Log(Mathf.Floor(-10.7f));
6.Mathf.Abs 绝对值
计算并返回指定参数 f 绝对值。
// prints 10.5
print(Mathf.Abs(-10.5f));
7.Mathf.Sign 符号
当 f 为正或为0返回1,为负返回-1。
Debug.Log(Mathf.Sign(-10));
Debug.Log(Mathf.Sign(10));
8.Mathf.Sign 符号
当 f 为正或为0返回1,为负返回-1。
Debug.Log(Mathf.Sign(-10));
Debug.Log(Mathf.Sign(10));
9.Mathf.ClosestPowerOfTwo 最近的二次方
返回距离value最近的2的次方数。
// prints 8
Debug.Log(Mathf.ClosestPowerOfTwo(7));
// prints 16
Debug.Log(Mathf.ClosestPowerOfTwo(19));
10.Mathf.Clamp 限制
限制value的值在min和max之间, 如果value小于min,返回min。 如果value大于max,返回max,否则返回value
//现在10在1~3之间,3被打印到控制台
print(Mathf.Clamp(10, 1, 3));
11.Mathf.Max 最大值
返回两个或更多值中最大的值。
//现在10在1~3之间,3被打印到控制台
// prints 2
print(Mathf.Max(1, 2));
12.Mathf.Min 最小值
返回两个或更多值中最小的值。
//现在10在1~3之间,3被打印到控制台
// prints 1
print(Mathf.Min(1, 2));
13.Mathf.Lerp 插值
基于浮点数t返回a到b之间的插值,t限制在0~1之间。
// 在一秒内从minimum渐变到maximum
float minimum = 10.0;
float maximum = 20.0;
void Update () {
transform.position = Vector3(Mathf.Lerp(minimum, maximum, Time.time), 0, 0);
}