Unity中Mathf函数

1、静态变量:

(1)Deg2Rad  度到弧度的转化常量。

(PI * 2) / 360。

(2)Epsilon  大于0的最小浮点数。

可用来比较浮点型是否相等

using UnityEngine;
using System.Collections; 
public class ExampleClass : MonoBehaviour 
{   
     bool isEqual(float a, float b) 
    {
        if (a >= b - Mathf.Epsilon && a <= b + Mathf.Epsilon) 
           return true;
        else
            return false;
    }
}

(3)Infinity  正无穷

表示正无穷,也就是无穷大,∞。

(4)NegativeInfinity  负无穷

表示负无穷,也就是无穷小,-∞。

(5)PI  圆周率

就是圆周率(π)的值3.14159265358979323846…

(6)Rad2Deg  弧度到度的转化常量。

360 / (PI * 2)。

2、静态函数

(1)Abs  绝对值

(2)Acos  反余弦

(3)Approximately 近视值

比较两个浮点数值,看它们是否非常接近。

由于浮点数值不精确,不建议使用等于来比较它们。例如,1.0==10.0/10.0也许不会返回true。

using UnityEngine;
using System.Collections; 
public class ExampleClass : MonoBehaviour
{    
    void Example() 
    {        
        if (Mathf.Approximately(1.0F, 10.0F / 10.0F))
           print("same"); 
    }
}

(4)Asin  反正弦

(5)Atan  反正切

返回值介于负二分之 pi 与正二分之 pi 之间。

(6)Atan  反正切2

返回弧度角的正切是y/x。

返回值是x轴与起始零点和终点2D向量(x,y)的之间夹角。

注意此函数,x为0的情况,返回正确的角度,而不是抛出被零除的异常。

(7)Ceil  向上进位取整

返回大于或等于f的最小整数。

(8)CeilToInt  向上进位取整

返回大于或等于f的最小整数。

(9)Clamp  钳制

float:限制value的值在min和max之间, 如果value小于min,返回min。 如果value大于max,返回max,否则返回value

int:限制value的值在min和max之间,并返回value。

transform.position = new Vector3(Mathf.Clamp(Time.time, 1.0F, 3.0F), 0, 0);

Mathf.Clamp(10, 1, 3);

(10)Clamp01  钳制01

限制value在0,1之间并返回value。如果value小于0,返回0。如果value大于1,返回1,否则返回value 。

(11)ClosestPowerOfTwo  最接近二次方

返回距离value最近的2的次方数。

(12)Cos  余弦

(13)DeltaAngle  增量角

计算给定的两个角之间最短的差异。

(14)Exp  指数

返回 e 的 power 次方的值。

(15)Floor  向下舍位取整

返回小于或等于该数的最大整数。

(16)FloorToInt  向下舍位取整

返回小于或等于该数的最大整数。

(17)GammaToLinearSpace  伽马转线性空间

转换给定值从gamma到线性颜色空间。

(18)InverseLerp 反插值

计算两个值之间的Lerp参数。也就是value在from和to之间的比例值。

(19)IsPowerOfTwo 是否是二的次方

如果该值是2的次方,返回true。

(20)Lerp 插值

基于浮点数t返回a到b之间的插值,t限制在0~1之间。

当t = 0返回from,当t = 1 返回to。当t = 0.5 返回from和to的平均值。

(21)LerpAngle 插值角度

和Lerp的原理一样,当他们环绕360度确保插值正确。

变量a和b是代表度数。

(22)LinearToGammaSpace 线性转伽马空间

转换给定值从线性到伽马颜色空间。

(23)Log 对数

返回指定基数的指定对数。

(24)Log10 对数10

返回指定值的对数,基数为10。

(25)Max 最大值

返回两个或更多值中最大的值。

(26)Min  最小值

返回两个或更多值中最小的值。

(27)MoveTowards  移向

改变一个当前值向目标值靠近。

这实际上和 Mathf.Lerp相同,而是该函数将确保我们的速度不会超过maxDelta。maxDelta为负值将目标从推离。

(28)MoveTowardsAngle  移向角度

像MoveTowards,但是当它们环绕360度时确保插值正确。

(29)NextPowerOfTwo  最接近的二次方

返回最接近的二次方的值。

(30)PerlinNoise  柏林噪波

返回0.0 ~ 1.0的浮点数值

生成二维柏林噪波。

柏林噪波是在2D平面浮点值生成的伪随机图案(尽管该技术已经普及到三维或者更多维数,但在Unity还未实现)。此噪波不是由每个点的完全随机值构成,而是由逐渐增加和减少交错波形图案值构成。此噪波可以作为基本纹理效果,但也可用于动画、生成地形高度图以及其他东西。

可以通过正确的XY坐标取样平面上的任意点。同一坐标将始终返回相同的样本值,但平面基本上是无限的,所以很容易通过选择一个随机样本以避免重复区域。

(31)PingPong  乒乓

让数值t在 0到length之间往返。t值永远不会大于length的值,也永远不会小于0。

返回值将在0和length之间来回移动。

(32)Pow  幂

计算并返回 f 的 p 次幂。

(33)Repeat 重复

循环t值,从来不会比length大,并且从不会小于0,取值在0~length之间。

这是类似于模运算符,但可以使用浮点数。例如,t=3.0,length=2.5,结果是0.5;t=5,length=2.5,结果是0.0。注意,不过,对于负数是未定义的行为,作为模运算。

(34)Round 四舍五入

返回浮点数 f 进行四舍五入最接近的整数。

如果数字末尾是.5,因此它是在两个整数中间,不管是偶数或是奇数,将返回偶数。

(35)RoundToInt 四舍五入到整数

返回浮点数 f 进行四舍五入最接近的整数。

如果数字末尾是.5,因此它是在两个整数中间,不管是偶数或是奇数,将返回偶数。

(36)Sign 数字符号

返回 f 的数字符号。

当 f 为正或为0返回1,为负返回-1。

(37)Sin 正弦

返回弧度角 f 的正弦值。

(38)SmoothDamp 平滑阻尼

随着时间的推移逐渐改变一个值到目标值。

这个值就像被一个不会崩溃的弹簧减振器一样被平滑。这个函数可以用来平滑任何类型的值,位置,颜色,标量。

(39)SmoothDampAngle 平滑阻尼角度

随着时间的推移逐渐改变一个给定的角度到期望的角度。

这个值通过一些弹簧减震器类似的功能被平滑。这个函数可以用来平滑任何一种值,位置,颜色,标量。最常见的是平滑一个跟随摄像机。

(40)SmoothStep 平滑插值

在min和max之间平滑插值。

在min和max之间插值,类似于Lerp方法。然而,插值从开始处将逐渐加快,到结束处减慢。这通常用于创建渐变和其他过渡看起来比较自然的动画。

(41)Sqrt 平方根

计算并返回 f 的平方根。

(42)Tan 正切

返回互动f角的正切值。

  • 14
    点赞
  • 79
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

末零

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值