说明: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 计算给定的两个角之间最短的差异。

unity之Mathf类的更多相关文章

  1. 【Unity】6.5 Time类、Mathf类、Coroutine类

    分类:Unity.C#.VS2015 创建日期:2016-04-20 一.Time类 Unity引擎提供的Time类可获取和时间有关的信息.计算帧速率.调整时间流逝速度等. 1.成员变量 2.示例 ( ...

  2. 游戏编程之Unity常用脚本类的继承关系

    前言学习Unity开发引擎的初学者会接触大量的脚本类,而这些类之间的关系往往容易被忽略.本文对Unity引擎开发中的一些常用类及其关系进行了简单的归纳总结. 博文首发地址:http://tieba.b ...

  3. Unity中的Mathf类

    Mathf.Abs绝对值 计算并返回指定参数 f 绝对值. Mathf.Acos反余弦 static function Acos (f : float) : float 以弧度为单位计算并返回参数 f ...

  4. Unity 使用实体类

    故事的由来: 正在开发打飞机的游戏,遇到这样的数据结构,游戏有很多关卡-> 每个关卡有几波怪物->每一波里面有怪物和数量 [] 关卡 { []波{ {怪物,数量},{怪物,数量},{怪物, ...

  5. Unity本地持久化类Playerprefs使用详解

    一.PlayerPrefs是什么? PlayerPrefs是Unity3d提供了一个用于数据本地持久化保存与读取的类.工作原理十分简单,就是以key-value的形式将数据保存在本地,然后在代码中可以 ...

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

    转载自:https://zhuanlan.zhihu.com/p/30716595?utm_medium=social&utm_source=qq [为什么要做自动化工具] 工具类的创建是为了 ...

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

    先上代码: 1 using System.Threading; using UnityEngine; using System.IO; using System.Collections; public ...

  8. Unity 3D Time 类

    Time   class in UnityEngine Description The interface to get time information from Unity. Static Var ...

  9. Unity C# File类 本地数据保存和游戏存档

    进行本地数据存档和载入在游戏开发中非常常见,几乎任何一款游戏都需要这样的功能. 命名空间: using System.IO; 主要用于引入File类以处理各类文件操作. using System.Ru ...

随机推荐

  1. RUBY Error: Please update your PATH to include build tools or download the DevKit

    出错的原因是安装XXXXX的时候,需要build tools,但系统中没有.出错信息中同时也给出了解决的法案: 1. 到 http://rubyinstaller.org/downloads/ 去下载 ...

  2. 在Spring中注入Java集合

    集合注入重要是对数组.List.Set.map的注入,具体注入方法请参照一下代码(重点是applicationContext.xml中对这几个集合注入的方式): 1.在工程中新建一个Departmen ...

  3. javascript限定输入textarea输入长度

    <textarea  id="content" onkeyup="limitLength(this.value,'512','content')"> ...

  4. [na][tools]tcp/udp连通性测试

    一 端口连通性测试意义 目的端可以使用nc来临时开一个端口,客户端用telnet来连接测试 测试网络端口可达性,确保给某些使用特定端口的app做链路连通性检测.使它们能够正常的运行起来. 二 测试方法 ...

  5. UrlOper

    using System; using System.Text.RegularExpressions; using System.Web; using System.Collections.Speci ...

  6. Spring-两种配置容器

    Spring提供了两种容器类型       SpringIOC容器是一个IOC Service Provider.提供了两种容器类型:BeanFactory和ApplicationContext.Sp ...

  7. WebService之CXF注解之四(測试类)

    TeacherTest.java: /** * @Title:TeacherTest.java * @Package:com.test.service * @Description: * @autho ...

  8. 每日英语:The Biggest Distraction In The Office Is Sitting Next To You

    The big push in office design is forcing co-workers to interact more. Cubicle walls are lower, offic ...

  9. Freemarker-2.3.22 Demo - No04_条件判断

    package No04_条件判断; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream ...

  10. vue实现复制粘贴的两种形式

    方式一: 1.安装clipboard:npm install clipboard 2.src/utils/clipboard.js import Vue from 'vue' import Clipb ...