当前位置: 首页 > news >正文

【零基础入门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 的区别

  • MathfMath 中的相关方法几乎一样。
  • 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(

相关文章:

  • Java基础 | Java枚举(Enum)详解:从入门到实践
  • Web Worker如何在本地使用
  • 自动化测试介绍及学习路线
  • 《领导力21法则》第七章「尊重法则」笔记
  • 商业智能BI的未来,如何看待AI+BI这种模式?
  • 香港电商市场迅猛发展,多用户商城系统软件厂商如何抓住机遇
  • LeetCode 1447 最简分数
  • Ubuntu20.04安装Nvidia显卡驱动教程
  • Spring 事务
  • c#面试题整理9
  • Java Lambda表达式:现代编程的简洁之道
  • 文档解析:如何避免deepseek的大模型幻觉?
  • llm数据存储基础设施
  • 软考高级信息系统项目管理师笔记-第22章组织通用治理
  • 19、Vue项⽬常⻅优化点
  • 使用Java爬虫根据关键词获取衣联网商品列表:实战指南
  • pytorch retain_grad vs requires_grad
  • Python 融于ASP框架
  • snmp开发
  • C++内存模型和原子操作_第五章_《C++并发编程实战》笔记
  • 化州市住房和城乡建设局网站/百度关键词工具在哪里
  • 网站优化成都哪里好/苏州关键词搜索排名
  • 东莞网站建设平台/怎么查百度搜索排名
  • 如何wordpress建站/seo网站优化课程
  • 网站怎么做能中英文的/新手怎么做seo优化
  • 关于我们网页设计模板/搜索引擎优化的方法与技巧