unity之Mathf类

说明:Mathf类主要提供数学计算的函数与常量,包含了所有数学计算时需要用到的函数。所以掌握Mathf类里面的成员变量和成员函数是必要的。

使用Mathf:通常的如果使用一个类中的成员变量或者成员函数,首先需要定义一个类对象,然后通过类对象再使用里面的属性和函数。但是如果使用Mathf的成员变量和成员函数的话,可以直接使用Mathf类来访问。如使用PI时,可以用Mathf.PI。原因是在Mathf类中,其所有的成员变量和成员函数全部是公有的静态的。

类变量:

Class Variables类变量


  • PI 圆周率(π)的值3.14159265358979323846
  • Infinity 表示正无穷+∞
  • NegativeInfinity 表示负无穷-∞
  • Deg2Rad 度到弧度的转化常量。
  • Rad2Deg 弧度到度的转化常量。
  • Epsilon 一个很小的浮点数值。

Class Functions类函数


  • Sin 计算并返回以弧度为单位指定的角 f 的正弦值。
  • Cos 返回由参数 f 指定的角的余弦值(介于 -1.0 与 1.0 之间的值)。
  • Tan 计算并返回以弧度为单位 f 指定角度的正切值。
  • Asin 以弧度为单位计算并返回参数 f 中指定的数字的反正弦值。
  • Acos 以弧度为单位计算并返回参数 f 中指定的数字的反余弦值。
  • Atan 计算并返回参数 f 中指定的数字的反正切值。返回值介于负二分之 pi 与正二分之 pi 之间。
  • Atan2 以弧度为单位计算并返回 y/x 的反正切值。返回值表示相对直角三角形对角的角,其中 x 是临边边长,而 y 是对边边长。
  • Sqrt 计算并返回 f 的平方根。
  • Abs 计算并返回指定参数 f 绝对值。
  • Min 返回两个或更多值中最小的值。
  • Max 返回两个或更多值中最大的值。
  • Pow 计算并返回 f 的 p 次方。
  • Exp 返回 e 的 power 次方的值。
  • Log 返回参数 f 的对数。
  • Log10 返回f的对数,基数为10。
  • Ceil 返回 f 指定数字或表达式的上限值。数字的上限值是大于等于该数字的最接近的整数。
  • Floor 返回参数 f 中指定的数字或表达式的下限值。下限值是小于等于指定数字或表达式的最接近的整数。
  • Round 返回浮点数 f 进行四舍五入最接近的整数。
  • CeilToInt 返回最小的整数大于或等于f。
  • FloorToInt 返回最大的整数,小于或等于f。
  • RoundToInt 返回 f 指定的值四舍五入到最近的整数。
  • Sign 返回 f 的符号。当 f 为正或为0返回1,为负返回-1。
  • Clamp 限制value的值在min和max之间, 如果value小于min,返回min。 如果value大于max,返回max,否则返回value
  • Clamp01 限制value在0,1之间,如果value小于0,返回0。如果value大于1,返回1,否则返回value 。
  • Lerp 基于浮点数t返回a到b之间的插值,t限制在0~1之间。
  • LerpAngle 和Lerp的原理一样,当他们环绕360度确保插值正确。a和b是代表度数。
  • MoveTowards 改变一个当前值向目标值靠近。
  • MoveTowardsAngle 像MoveTowards,但是当它们环绕360度确保插值正确。
  • SmoothStep 和lerp类似,在最小和最大值之间的插值,并在限制处渐入渐出。
  • Approximately 比较两个浮点数值,看它们是否非常接近。
  • SmoothDamp 随着时间的推移逐渐改变一个值到期望值。
  • SmoothDampAngle 随着时间的推移逐渐改变一个给定的角度到期望的角度。
  • Repeat 循环数值t,0到length之间。t值永远不会大于length的值,也永远不会小于0。
  • PingPong 让数值t在 0到length之间往返。t值永远不会大于length的值,也永远不会小于0。
  • InverseLerp 计算两个值之间的Lerp参数。也就是value在from和to之间的比例值。
  • IsPowerOfTwo 如果该值是2的幂,返回true。
  • NextPowerOfTwo 返回下一个2的幂值。
  • ClosestPowerOfTwo 返回距离value最近的2的次方数。
  • DeltaAngle 计算给定的两个角之间最短的差异。
时间: 2024-10-20 18:14:58

unity之Mathf类的相关文章

Uniity基础——Mathf类、3D数学类补充

Mathf 3D数学 1. Mathf 类 数学操作方法: 1. 角度与弧度值.正无穷大.负无穷大 Deg2Rad Rad2Deg Infinity NegativeInfinity 2. 三角函数 Sin( 30 ) Cos() ..... 3. 四舍五入.求绝对值.开平方.最大|小数. Round()|Ceil()|Floor() Abs() Sqrt() Max()|Min() --------------------------------------------------------

Unity中的Mathf类

Mathf.Abs绝对值 计算并返回指定参数 f 绝对值. Mathf.Acos反余弦 static function Acos (f : float) : float 以弧度为单位计算并返回参数 f 中指定的数字的反余弦值. Mathf.Approximately近似 static function Approximately (a : float, b: float) : bool 比较两个浮点数值,看它们是否非常接近, 由于浮点数值不精确,不建议使用等于来比较它们.例如,1.0==10.0

Unity API 解析(5)—— Mathf 类

此类属于结构体类型,只有静态属性和静态方法,不可实例化 Deg2Rad 属性 -- 从角度到弧度常量 (2*PI)/360 Rad2Deg 属性 -- 从弧度到角度常量 Infinity 属性 -- 正无穷大   Clamp 方法 -- 返回有限范围值 返回有范围限制的value值 ClosestPowerOfTwo -- 返回2的某次幂 用于返回最接近参数值value的2的某次幂的值 DeltaAngle -- 最小增量角度 (-180,180] InverseLerp -- 计算比例值 (v

Unity 使用实体类

故事的由来: 正在开发打飞机的游戏,遇到这样的数据结构,游戏有很多关卡-> 每个关卡有几波怪物->每一波里面有怪物和数量 [] 关卡 { []波{ {怪物,数量},{怪物,数量},{怪物,数量},{怪物,数量} },[]波,[]波,[]波 } 问题就来: Unity组件上如何显示这样的结构呢? 解决方法: 1.  扩展组件Editor显示 2. 在实体类中加[Serializable]标记 目前采用第2中方案: /// <summary> /// 关卡类 /// </summ

【Unity】工具类系列教程—— 代码自动化生成!

转载自:https://zhuanlan.zhihu.com/p/30716595?utm_medium=social&utm_source=qq [为什么要做自动化工具] 工具类的创建是为了解决实际问题或者优化既有流程,我们来先看看一些项目里面经常遇到的问题. 程序代码有很多时候类是相似的,因此新建一个功能的时候你会直接复制了之前"相似"的代码块,然后删除掉无用的逻辑功能,但是有时候会出现漏网之鱼. 开完会,策划发过来一个功能案子,UI相关的界面非常的多,你费劲拼完了UI,写

Unity 3D Time 类

Time class in UnityEngine Description The interface to get time information from Unity. Static Variables captureFramerate Slows game playback time to allow screenshots to be saved between frames. 表示设置每秒的频率而不考虑真实时间 deltaTime The time in seconds it too

Unity图片处理类,包括压缩、截屏和滤镜

先上代码: 1 using System.Threading; 2 using UnityEngine; 3 using System.IO; 4 using System.Collections; 5 6 public class TextureUtility 7 { 8 public class ThreadData 9 { 10 public int start; 11 public int end; 12 public ThreadData (int s, int e) { 13 sta

Unity3D学习笔记(9)—— 粒子光环

参考网站首页的光环效果:http://i-remember.fr/en 利用Unity做了一个类似的光环:(后面还有进阶效果哦~) 可以观察到光环有最小半径和最大半径,并且光环的中间部分比边缘有更多的粒子.眼尖的可以发现这个光环至少有2层,外环顺时针旋转,内环逆时针旋转.除此以外,每个粒子都会游离,并不是规规矩矩地转圈. 我是这么设计的: 1. 所有粒子运动由程序控制. 2. 使用参数方程 x = cos(t), y = sin(t) 计算粒子位置,其中t是角度. 3. 使用PingPong函数

【Unity】常用脚本类的继承关系(入门篇)

前言 学习Unity开发引擎的初学者会接触大量的脚本类,而这些类之间的关系往往容易被忽略. 本文对Unity引擎开发中的一些常用类及其关系进行了简单的归纳总结. 博文首发地址:http://blog.csdn.net/duzixi Unity常用脚本类继承关系图 对Unity开发稍有了解的朋友都知道,在Unity开发框架中有4个基本层次:工程(应用程序).场景.游戏对象和组件. 在脚本中,整个应用程序和场景由Application类控制:而游戏对象和组件类均继承于Object类. 在Object