查看: 1580|回复: 0
打印 上一主题 下一主题

Unity3D脚本中文教程2.36-1

[复制链接]

5552

主题

2

听众

8万

积分

首席设计师

Rank: 8Rank: 8

纳金币
-1
精华
11

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2012-5-27 00:55:55 |只看该作者 |倒序浏览
Mathf

结构



常用数学函数的集合。

类变量

◆  static var Deg2Rad:float

描述:度到弧度的转化常量(只读)。

这个等于(PI*2)/360.

//转化30度为弧度

var deg=30.0;

var od=dcg*Mathf.Deg2Rad;

参见:Rad2Deg常量。

◆  static varEpsilon:float

描述:一个小的浮点数值(只读)

比较小于它的值没有多人意见,因为浮点数是不精确的。

print(MathfEpsilon);

◆  static var Infinity:float

描述:表示正无穷(只读).

◆  static var NegativeIntinity:float

描述:表示负无穷(只读).

◆  staic var PI:float

描述:3.14159265358979...值(只读).

◆  static var Rad2deg:float

描述:弧度到度的转化常量(只读).

这个等于360、(PI*2).

转化1弧度为度

var rad=1.0;

var deg=rad*Mathf.Rad2Deg.

参见:Deg2Rad常量

类方法

◆  staric function Abs(f:float):float

描述:返回f的绝对值。

//打印10.5

print(Mathf.Abs(-10.5)).

◆  staric function Abs(value:int):int

描述:返回value的绝对值。

//打印10

print(Mathf.Abs(-10));

◆  staric function Acos(f:float):float

描述:返回f的反余弦_一个弧度角它的余弦是f.

print(Mathf.AcOS(0.5);

◆  staric function Approximately(a:float,b:float):bool

描述:比较两个浮点数值看看它们是否近似。

由于浮点数值不精确,不建议使用等操作来比较它们。例如,1.0==10.0/10.0也许不会返回真。

if(Mathf.Approximately(1.0,10.0/10.0))

print("same");

◆  static function Asin(f:float):float

描述:返回f的反正弦_一个弧度角它的正弦是f.

print(Matht.Asin(0.5));

◆  staric function Atan(f:float):float

描述:返回f的反切_一个弧度角它的正切是f.

print(Mathf.Atan(0.5));

◆  staic function Atan2(y:float,x:float):float

描述:返回一个弧度角它的Tan为y/x。

返回的值是一个角度,该角表示x轴和开始于零并终结在(x,y)处的向量之间的角度。

//通常使用transform.lookAt.

//但这可以给你更多的对角度的控制

vartatget:Transform;

function Update()

{

var relativ=transfom.lnverseTeansformPoint(target.position);

var angle=Mathf.Atan2(reative,reative.z)*Mathf.Rad2Deg;

transform.Rotate(0,angle,0);

}

◆  static function Ceil(f:fioat):float

描述:返回大于等于f的最小整数.

◆  static function CeilTolnt(f:fioat):int

描述:返回大于等于f的最小整数.

◆  static function Clamp(value:float,min:float,max:float):float

描述:在一个最小的浮点数和最大的浮点数之间截剪。

//随着时间设置变换位置

//但是不会小于1或大于3

function Update()

{

transtorm,position.x=Mathf.Clamp(lime.time.1.0,3.0);

}

◆  staric function Clamp(value:int,min:int,max:int):int

描述:在min和max之间裁剪值并返回裁剪后的值。

//在1到3之间裁剪10,

//打印3到控制台

prnt(Mathf.Clamp(10,1,3))

◆  static function Clamp01(value;float):float

描述:在0和1之间裁剪值并返回裁剪后的值。

//随着时间设置变换位置

//但是不会小于0或大于1

function Update(){

transform.position.x=Mathf.Clamp01(Time.time);

}

◆  staic function ClosestPowerOflwo(value:int):int

描述:返回最直接的2的幂次值。

例如。7返回8或者19返回16

◆  staric function Cos(f:float):float

描述:返回弧度f的余弦值.

print(Mathf.Cos(3));

◆  staic function EXP(power:float):float

描述:返回e的特定次幂。

print(Mathf.Cos(6));

◆  static function Floor(f:float):float

描述:返回小于f的最大整数.

◆  static function FloorTolnt(f:float):int

描述:返回小于f的最大整数.

◆  static function lnverseLerp(from:float,to:float,value:float):float

描述:在两个值之间计算Lerp参数.

varwalkSpeed=5.0;

v***nSpeed=10.0;

var speed=8.0;

//参数现在是3/5

vvar parameter=Mathf.laverseLerp(walkSpeed***nSpeed,speed);

◆  staic tunchon Lerp(a:float,b:float,t:float):float

描述:基本t在a到b之间插值。t本裁剪到0到1之间。

当t为0时返回from . 当t为1时返回to .当t=0.5时返回a和b的平均。

var minimum = 10.0;

var maximum = 20.0;

// 在一秒内从minimum渐变到maximum

Function Update()

{

transform.position.x = Mathf.lerp(minimum,maximum,Time.time);

}

◆ static function LerpAngle(a:float,b:float,t:float):float

描述:与Lerp相同,但是当它们可绕360度时确保插值正确,

变量a和b被认为是度。

//以2为底6的对数

//打印2.584963

print(Mathf.Log(6,2));

◆ static function Log(f:float):float

描述:返回一个数以自然(以e为底)对数。

//10的自然对数

//打印4.60517

print(Mathf.Log(10));

◆ static function Log10(f:float):float

描述:返回一个数以10为底的对数。

//以10为底100的对数

//打印2

print(Mathf.Log10(100));

◆ static function Max(a:float,b:float):float

描述:返回两个值中较大的一个。

//打印2

print(Mathf.Max(1,2));

◆ static function Max(a:int,b:int):int

描述:返回两个值中较大的一个。

//打印2

print(Mathf.Max(1,2));

◆ static function Min(a:float,b:float):float

描述:返回两个值中较小的一个。

//打印1

print(Mathf.Min(1,2));

◆ static function Min(a:int,b:int):int

描述:返回两个值中较小的一个。

//打印1

print(Mathf.Min(1,2));

◆ static function PingPong(t:float,length:float):float

描述:来回改变t值,t值不会超过length,也不会小于0,只会在length和0之间循环。

function Update()

{

//让x位置在0到3之间循环

transform.position.x = Mahtf.PingPong(Time.time,3);

}

◆ static function Pow(f:float,p:float):float

描述:返回f的p次方。

print(Mahtf.Pow(6,1.8));

◆ static function Repeat(t:float,length:float):float

描述:使t值循环,不大于length不小于0。它与操作模板类似,但可以使用浮点数。

function Update()

{

//让x位置在0到3之间循环

transform.position.x = Mahtf.Repeat(Time.time,3);

}

◆ static function Sign(f:float):float

描述:返回f的符号。

当f为正或为0则返回1,为负返回-1。

◆ static function Sin(f:float):float

描述:返回以f为弧度的sin值。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-6-14 05:00 , Processed in 0.093969 second(s), 28 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部