【零基础入门unity游戏开发——进阶篇】Marhf和Math的使用
考虑到每个人基础可能不一样,且并不是所有人都有同时做2D、3D开发的需求,所以我把 【零基础入门unity游戏开发】 分为成了
C#篇、unity通用篇、unity3D篇、unity2D篇
。
- 【C#篇】:主要讲解C#的基础语法,包括变量、数据类型、运算符、流程控制、面向对象等,适合没有编程基础的同学入门。
- 【unity通用篇】:主要讲解unity的基础通用的知识,包括unity界面、unity脚本、unity资源管理、unity动画、unity摄像机等,适合unity初学者入门。
- 【unity3D篇】:主要讲解unity3D的知识,unity3D角色、unity3D物理系统、unity3D光照等,适合只想做2D游戏的开发者学习。
- 【unity2D篇】unity2D篇:主要讲解unity2D的知识,包括unity2D角色、unity2D物理系统、unity2D光照等,适合只想做3D游戏的开发者学习。
这样方便大家按需选择性的去学习,比如有编程基础的大概率可以直接从unity通用篇开始入门,没有编程基础的建议从C#篇开始学习。只想做2D游戏的话,可以直接从unity2D篇开始学习,3D篇大概率就不需要看了,节约学习时间成本。
文章目录
- 一、Mathf 和 Math介绍
- 二、Mathf 和 Math 的区别
- 三、Mathf 中的常用方法
-
-
- 1. **π - PI**
- 2. **取绝对值 - Abs**
- 3. **向上取整 - CeilToInt**
- 4. **向下取整 - FloorToInt**
- 5. **钳制函数 - Clamp**
- 6. **获取最大值 - Max**
- 7. **获取最小值 - Min**
- 8. **一个数的 n 次幂 - Pow**
- 9. **四舍五入 - RoundToInt**
- 10. **返回一个数的平方根 - Sqrt**
- 11. **判断一个数是否是 2 的 n 次方 - IsPowerOfTwo**
- 12. **判断正负数 - Sign**
- 13. **插值运算 - Lerp**
-
- 总结
- 专栏推荐
- 完结
一、Mathf 和 Math介绍
- Math 是 C# 中封装好的用于数学计算的工具类,位于
System
命名空间中。 - Mathf 是 Unity 中封装好的用于数学计算的工具结构体,位于
UnityEngine
命名空间中。 - 它们都提供了用于进行数学相关计算的功能。
二、Mathf 和 Math 的区别
- Mathf 和 Math 中的相关方法几乎一样。
- Math 是 C# 自带的工具类,主要提供一些数学相关的计算方法。
- Mathf 是 Unity 专门封装的,不仅包含 Math 中的方法,还多了一些适用于游戏开发的方法。
- 因此,在进行 Unity 游戏开发时,使用 Mathf 中的方法进行数学计算即可。
三、Mathf 中的常用方法
1. π - PI
- 功能:获取圆周率 π 的值(约等于 3.14159)。
- 使用场景:用于计算圆的周长、面积等与圆相关的数学运算。
print(Mathf.PI); // 输出:3.141592
2. 取绝对值 - Abs
- 功能:返回一个数的绝对值(无论正负,都返回正数)。
- 使用场景:计算距离、差值等需要忽略符号的场景。
print(Mathf.Abs(-10)); // 输出:10
print(Mathf.Abs(20)); // 输出:20
3. 向上取整 - CeilToInt
- 功能:将一个浮点数向上取整为最接近的整数。
- 使用场景:当需要确保数值不小于某个值时使用,例如计算物品数量、网格对齐等。
print(Mathf.CeilToInt(1.3f)); // 输出:2
print(Mathf.CeilToInt(1.0001f)); // 输出:2
4. 向下取整 - FloorToInt
- 功能:将一个浮点数向下取整为最接近的整数。
- 使用场景:当需要确保数值不超过某个值时使用,例如计算网格索引、分配资源等。
print(