UnityAPI之Mathf类

Mathf类是Unity中的数学类,只有静态属性和静态方法,不可被实例化。

1.Deg2Rad:表示从角度到弧度常量 其值为(2*Pi)/360=0.01745329

Red2Deg:表示从弧度到角度

Infinity:表示正无穷大

静态方法:

1.Clamp方法:返回有限范围值 

Clamp(float value,float min,float max)

Clamp(int value,int min,int max)

返回min到max中的值当value值小于min时返回min当value大于max时返回max

ClosestPowerOfTwo方法:返回2的某次幂

ClosesPowerOfTwo(int value)

DeltaAngle方法:最小增量角度

DeltaAngle(float current,float target)

UnityAPI之Mathf类

InverseLerp方法:计算比例值

UnityAPI之Mathf类

Lerp方法:线性插值  比较常用的一个方法

float Lerp(float from,float to,float t)   UnityAPI之Mathf类


LerpAngle方法:角度插值

LerpAngle(float a,float b,float t)

最终得到的是a和b的角度差值,并且得到的值在0到180之间,对于a,b参数会先进行规范化,使得角度在0到360之间。

MovToWards方法:选择性插值

MoveToWards(float current,float target,float maxDelta)

参数current为当前值 target为目标值 参数maxDelta为最大约束值

MoveTowardsAngle方法:角度的选择性插值

MoveTowardAngle(float current,float target,float maxDelta)

其中参数current为当前角度,target为结束角度参数maxDelta为最大约束值。此方法作用是返回一个从当前角度current向目标角度target旋转的插值,没帧旋转角度不超过maxDelta度。

PingPong方法:往复运动

PingPong(float t,float length)

此方法用于模仿乒乓球的往复运动。f=Mathf.PingPong(t,1)其中f,t和1均为float类型值

Repeat方法:取模运算

Repeat(float t,float length)

UnityAPI之Mathf类

Round方法:浮点数的整形值(四舍五入)

UnityAPI之Mathf类

SmoothDamp方法:模拟阻尼运动

UnityAPI之Mathf类

SmoothDampAngle方法:阻尼旋转

UnityAPI之Mathf类

SmoothStep方法:平滑差值

UnityAPI之Mathf类