【零基础入门unity游戏开发——进阶篇】Marhf和Math的使用

ops/2025/3/15 23:45:24/

考虑到每个人基础可能不一样,且并不是所有人都有同时做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(
文章来源:https://blog.csdn.net/qq_36303853/article/details/145148897
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ppmy.cn/ops/166068.html

相关文章

IDEA 创建SpringCloud 工程(图文)

创建父工程 打开IDEA,【New Project】新建一个Spring Boot 项目。 选择【Spring Web】依赖之后【Create】。 删除【src文件夹】以及【mvn开头文件】。 在pom文件中增加【packaging 标签】。 创建子工程 在父工程中,【New】→【Module】。 也同样…

ArcGIS助力水文分析:数据处理、地图制作与流域特征提取

在水文水环境保护中,对于信息的采集、处理和分析是关键步骤。水文水环境及其相关数据均具有空间分布特征,传统的方法难以发挥作用。地理信息系统(GIS)强大的空间数据管理和分析功能,在空间信息处理上有独到的优势&…

大模型巅峰对决:DeepSeek vs GPT-4/Claude/PaLM-2 全面对比与核心差异揭秘

喜欢可以到主页订阅专栏 目录 技术架构对比性能表现与基准测试多模态与多语言能力推理效率与成本分析开源生态与行业适配应用场景与案例研究未来发展与技术趋势代码实现与调用示例1. 技术架构对比 DeepSeek:动态稀疏激活的混合专家系统(MoE) 动态路由机制:每个输入仅激活…

【每日学点HarmonyOS Next知识】tab对齐、相对布局、自定义弹窗全屏、动画集合、回到桌面

1、HarmonyOS Tabs 是否能支持 tabbar 居左对齐&#xff1f; 当前方案为自定义tabbar实现&#xff0c;示例demo&#xff1a; Entry Component struct TabsExample {State tabArray: Array<number> [0, 1,2]State focusIndex: number 0State pre: number 0State inde…

Manus全球首个通用Agent,Manus AI:Agent应用的ChatGPT时刻

文章目录 前言Manus AI: 全球首个通用AgentManus AI: 技术架构与创始人经历AI Agent的实现框架与启示AI Agent的发展预测行业风险提示 前言 这是一篇关于Manus AI及其在通用人工智能领域的应用和前景的报告&#xff0c;主要介绍了Manus AI的产品定位、功能、技术架构、创始人经…

数据分析项目:基于LSTM的微博评论情感分析

一、引言 随着社交媒体的蓬勃发展&#xff0c;微博等平台积累了海量的用户生成内容&#xff0c;其中蕴含着丰富的用户情感信息。对这些情感信息进行分析&#xff0c;能够帮助我们更好地理解公众舆论、品牌口碑以及用户需求等。本项目旨在构建一个基于长短期记忆网络&#xff0…

【机器学习chp12】半监督学习(自我训练+协同训练多视角学习+生成模型+半监督SVM+基于图的半监督算法+半监督聚类)

目录 一、半监督学习简介 1、半监督学习的定义和基本思想 2、归纳学习 和 直推学习 &#xff08;1&#xff09;归纳学习 &#xff08;2&#xff09;直推学习 3、半监督学习的作用与优势 4、半监督学习的关键假设 5、半监督学习的应用 6、半监督学习的常见方法 7、半…

深入理解Linux网络随笔(七):容器网络虚拟化--Veth设备对

深入理解Linux网络随笔&#xff08;七&#xff09;&#xff1a;容器网络虚拟化 微服务架构中服务被拆分成多个独立的容器&#xff0c;docker网络虚拟化的核心技术为&#xff1a;Veth设备对、Network Namespace、Bridg。 Veth设备对 veth设备是一种 成对 出现的虚拟网络接口&…