Mathf.Abs(f)——绝对值
计算并返回指定参数 f 绝对值
Mathf.Sin(f)——正弦
计算并返回以弧度为单位指定的角 f 的正弦值
Mathf.Asin(f)——反正弦
以弧度为单位计算并返回参数 f 中指定的数字的反正弦值
Mathf.Cos(f)——余弦
计算并返回以弧度为单位指定的角 f 的余弦值
Mathf.Acos(f)——反余弦
以弧度为单位计算并返回参数 f 中指定的数字的反余弦值
Mathf.Tan(f)——正切
计算并返回以弧度为单位 f 指定角度的正切值。
Mathf.Atan(y : float, x :float)——反正切
以弧度为单位计算并返回 y/x 的反正切值。
返回值表示相对直角三角形对角的角,其中 x 是临边边长,而 y 是对边边长。
返回值是在x轴和一个二维向量开始于0个结束在(x,y)处之间的角。
Mathf.Atan2(f:float)——反正切
计算并返回参数 f 中指定的数字的反正切值。返回值介于负二分之 PI与正二分之 PI 之间。
Mathf.Approximately(f)——近似
比较两个浮点数值,看它们是否非常接近, 返回bool值。
Mathf.Sqrt(f)——平方根
计算并返回 f 的平方根
Mathf.SmoothStep(min,max,Time.time)——平滑插值
和lerp类似,在最小和最大值之间的插值,并在限制处渐入渐出
Mathf.CeilToInt(f)——最小整数
返回最小的整数,该整数大于或等于f
Mathf.FloorToInt(f)——最大整数
返回最大的整数,该整数小于或等于f
Mathf.Ceil(f)——上限值
返回 f 指定数字或表达式的上限值。数字的上限值是大于等于该数字的最接近的整数
Mathf.Floor(f)——下限值
返回参数 f 中指定的数字或表达式的下限值。下限值是小于等于指定数字或表达式的最接近的整数。
Mathf.Clamp(value:float,min:float,max:float)——限制
限制value的值在min和max之间, 如果value小于min,返回min;如果value大于max,返回max,否则返回value
Mathf.Clamp01 (value : float)——限制0-1
限制value在0,1之间并返回value。如果value小于0,返回0。如果value大于1,返回1,否则返回value
Mathf.Exp (power : float)——指数
返回 e 的 power 次方的值。
Mathf.ClosestPowerOfTwo(value:int)——最近的二次方
返回距离value最近的2的次方数。
Mathf.Deg2Rad——度转弧度
度到弧度的转化常量。这等于(PI * 2) / 360。(只读)
Mathf.Rad2Deg——弧度转度
弧度到度的转化常量。这等于 360 / (PI * 2)。 (只读)
Mathf.IsPowerOfTwo(value:int)——是否2的幂
如果该值是2的幂,返回true。
Mathf.NextPowerOfTwo(value:int)——下个2的幂
返回大于或等于参数的下一个 2 的幂
Mathf.Lerp(from : float, to :float, t : float)——插值
基于浮点数t返回a到b之间的插值,t限制在0~1之间。
当t = 0返回from,当t = 1 返回to。当t = 0.5 返回from和to的平均值
Mathf.LerpAngle(a : float, b :float, t : float)——插值角度
和Lerp的原理一样,当他们环绕360度确保插值正确。
a和b是代表度数。
Mathf.SmoothStep(from : float,to : float, t : float)——平滑差值
和lerp类似,在最小和最大值之间的插值,并在限制处渐入渐出。
Mathf.Max(a : float, b : float) / Mathf.Max(values:float[])——最大值
返回两个或更多值中最大的值
Mathf.Min(a : float, b : float) / Mathf.Min(values:float[])——最小值
返回两个或更多值中最小的值
Mathf.MoveTowardsAngle(current :float, target : float,maxDelta:float)——移动角
变量current和target是度数。为优化原因,maxDelta负值的不被支持,可能引起振荡。
Mathf.MoveTowards(current :float, target : float, maxDelta : float)——移向
改变一个当前值向目标值靠近。
和 Mathf.Lerp相同,该函数将确保我们的速度不会超过maxDelta。maxDelta为负值将目标从推离。
Mathf.PingPong(t : float, length: float)——乒乓(做来回运动)
0到length之间往返。t值永远不会大于length的值,也永远不会小于0。
返回值将在0和length之间来回移动。
Mathf.PI——圆周率
只读
Mathf.Pow(f : float, p : float)——次方
计算并返回 f 的 p 次方。
Mathf.Repeat(t : float, length :float)——重复
循环数值t,0到length之间。t值永远不会大于length的值,也永远不会小于0。
这是类似于模运算符,但可以使用浮点数。
Mathf.Round(f:float)——四舍五入
返回浮点数 f 进行四舍五入最接近的整数,返回float类型。
如果数字末尾是.5,将返回偶数。
Mathf.RoundToInt(f:float)——四舍五入到整数
返回浮点数 f 进行四舍五入最接近的整数,返回int类型。
如果数字末尾是.5,将返回偶数。
Mathf.DeltaAngle(current :float, target : float)——增量角
计算给定的两个角之间最短的差异。
// Prints 90
Debug.Log(Mathf.DeltaAngle(1080,90));
Mathf.Epsilon——小正数
一个很小的浮点数值。(只读)
最小的浮点值,不同于0。
Mathf.Infinity——正无穷
表示正无穷,也就是无穷大,∞ (只读)
Mathf.NegativeInfinity——负无穷
表示负无穷,也就是无穷小,-∞(只读)
Mathf.InverseLerp(from,to,value)——反插值
计算两个值之间的Lerp参数。也就是value在from和to之间的比例值。
Mathf.Log10(f:float)——基数10的对数
返回f的对数,基数为10。
Mathf.Log(f:float,p:float)——对数
返回以p为底f的对数。
Mathf.Sign(f:float)——符号
返回 f 的符号。
Mathf.SmoothDampAngle(
current :float,
target : float,
ref currentVelocity :float,
smoothTime : float,
maxSpeed : float = Mathf.Infinity,
deltaTime : float = Time.deltaTime)——平滑阻尼角度
current——当前的位置。
target——我们试图达到的位置。
currentVelocity——当前速度,这个值在你访问这个函数的时候会被随时修改。
smoothTime ——要到达目标位置的近似时间,实际到达目标时要快一些。
maxSpeed——可选参数,允许你限制的最大速度。
deltaTime——上次调用该函数到现在的时间。缺省为Time.deltaTime。
随着时间的推移逐渐改变一个给定的角度到期望的角度。
这个值通过一些弹簧减震器类似的功能被平滑。这个函数可以用来平滑任何一种值,位置,颜色,标量。最常见的是平滑一个跟随摄像机。
//一个简单的平滑跟随摄像机
//跟随目标的朝向
public class example : MonoBehaviour {
publicTransform target;
publicfloat smooth = 0.3F;
publicfloat distance = 5.0F;
privatefloat yVelocity = 0.0F;
voidUpdate() {
//从目前的y角度变换到目标y角度
floatyAngle = Mathf.SmoothDampAngle(transform.eulerAngles.y, target.eulerAngles.y,ref yVelocity, smooth);
//target的位置
Vector3position = target.position;
//然后,新角度之后的距离偏移
position+= Quaternion.Euler(0, yAngle, 0) * new Vector3(0, 0, -distance);
//应用位置
transform.position= position;
//看向目标
transform.LookAt(target);
}
}
Mathf.SmoothDamp(
current :float,
target : float,
ref currentVelocity : float,
smoothTime : float,
maxSpeed : float = Mathf.Infinity,
deltaTime : float = Time.deltaTime)——平滑阻尼
current——当前的位置
target——我们试图达到的位置。
currentVelocity——当前速度,这个值在你访问这个函数的时候会被随时修改。
smoothTime——要到达目标位置的近似时间,实际到达目标时要快一些。
maxSpeed——可选参数,允许你限制的最大速度。
deltaTime——上次调用该函数到现在的时间。缺省为Time.deltaTime。
随着时间的推移逐渐改变一个值到期望值。
这个值就像被一个不会崩溃的弹簧减振器一样被平滑。这个函数可以用来平滑任何类型的值,位置,颜色,标量。
public class example : MonoBehaviour {
publicTransform target;
publicfloat smoothTime = 0.3F;
privatefloat yVelocity = 0.0F;
voidUpdate() {
floatnewPosition = Mathf.SmoothDamp(transform.position.y, target.position.y, refyVelocity, smoothTime);
transform.position= new Vector3(transform.position.x, newPosition, transform.position.z);
}
}