Unity基础数学计算公共类Mathf

目录

1.Math和Mathf

2.区别

3.Mathf中的常用方法(一般计算一次)

 1  Π-PI

 2  取绝对值-Abs

 3  向上取整-CeilToInt

 4   向下取整-FloorToInt

 5  钳制函数/夹紧函数-Clamp

 6  获取最大值-Max

 7  获取最小值

 8  一个数的n次幂-Pow

 9  四舍五入-RoundToInt

 10  返回一个数的平方根-Sqrt

 11  判断一个数是否是2的n次方-IsPowerOfTwo

 12  判断正负数-Sign

4.Mathf中的常用方法(不停的运算)

1 用法一(每帧改变start的值--变化速度先快后慢,最终位置无限接近end位置,但是不等于end.

2 用法二(每帧改变t的值--变化速度匀速,位置每帧接近,当t>=1时,得到结果


1.Math和Mathf

Math是C#中封装好的用于数学计算的工具类(位于System命名空间中).

Mathf是Unity中封装好的用于数学计算的工具结构体(位于UnityEngine命名空间中)。

它们都是提供来用于数学相关计算的。

2.区别

Math是C#自带的工具类,主要就提供一些数学相关计算方法。

Mathf是Unity专门封装的,不仅包含Math中的方法,还多了一些适用于游戏开发的方法。

所以我们在游戏开发中使用Mathf中的方法即可。

3.Mathf中的常用方法(一般计算一次)

 1  Π-PI

里面储存了其值,可以通过下列方法得到其较为准确的值。

print(Mathf.PI);
 2  取绝对值-Abs
print(Mathf.Abs(-10));
 3  向上取整-CeilToInt

使用强行转换时,是向下取整的。

float f=1.3f;
int i=(int) f;
print(i);

使用Mathf方法向下取整

print(Mathf.CeilToInt(f));
 4   向下取整-FloorToInt
print(Mathf.FloorToInt(9.6f));
 5  钳制函数/夹紧函数-Clamp
print(Mathf.Clamp(10,11,20));
 6  获取最大值-Max
print(Mathf.Max(1,2));
 7  获取最小值
print(Mathf.Min(1,2,3,4));
print(Mathf.Min(1.1f,1.2f));
 8  一个数的n次幂-Pow
print(Mathf.Pow(4,2));
//两个参数的意思为:(以上述代码为例,意思是四的平方)
 9  四舍五入-RoundToInt
print(Mathf.RoundToInt(1.3f));
 10  返回一个数的平方根-Sqrt
print(Mathf.Sqrt(4));
 11  判断一个数是否是2的n次方-IsPowerOfTwo
print(Mathf.IsPowerOfTwo(4));
//返回值为bool类型,返回true或者false
 12  判断正负数-Sign
print(Mathf.Sign(0));
//其输出结果:0或者正数就返回1,负数就返回-1

4.Mathf中的常用方法(不停的运算)

插值运算-Lerp,其公式为:

result=Mathf.Lerp(start,end,t);(其中t为插值系数,取值范围为0-1)

result=start+(end-start)*t;

1 用法一(每帧改变start的值--变化速度先快后慢,最终位置无限接近end位置,但是不等于end.

start=Mathf.Lerp(start,10,Time.deltaTime);

2 用法二(每帧改变t的值--变化速度匀速,位置每帧接近,当t>=1时,得到结果

time+=Time.deltaTime;

result=Mathf.Lerp(start,10,time);

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Mathf.CeilToInt()是一个Unity中的数学函数,用于向上取整并返回一个整数值。它可以将一个浮点数值向上取整到比它大的最近的整数。例如,Mathf.CeilToInt(10.7f)将返回11,Mathf.CeilToInt(-10.2f)将返回-10。\[1\] 需要注意的是,Mathf.CeilToInt()函数是根据四舍五入规则进行取整的,而不是简单地将小数部分舍去。这意味着当小数部分大于等于0.5时,取整结果会向上取整;当小数部分小于0.5时,取整结果会向下取整。因此,Mathf.CeilToInt(10.5f)将返回10,而不是11。\[3\] 除了Mathf.CeilToInt()函数,Unity还提供了其他一些数学函数,如Mathf.Abs()用于返回一个数的绝对值,Mathf.Clamp()用于将一个值限定在指定的范围内,Mathf.ClosestPowerOfTwo()用于返回离指定数最近的2的n次幂,Mathf.Max()用于返回一组数中的最大值,Mathf.Min()用于返回一组数中的最小值,Mathf.Sqrt()用于返回一个数的平方根等等。这些函数可以帮助开发者在游戏开发中进行数学计算和数值处理。\[2\] #### 引用[.reference_title] - *1* *3* [Mathf 中常用方法](https://blog.csdn.net/yf391005/article/details/93633977)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【UnityMathf的常用函数Abs,Ceil,Floor,Lerp等](https://blog.csdn.net/weixin_38211198/article/details/90489629)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Nicole Potter

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

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

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

打赏作者

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

抵扣说明:

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

余额充值