当前位置: 首页 > 工具软件 > Maya Reticle > 使用案例 >

【MAYA】表达式

戚俊健
2023-12-01

(有时间会写一篇如何创建表达式)

一、预定义变量(时间)

  1. "time" 是一个变量,单位“秒”。
  2. "frame" 是一个变量,单位“贞”。

1. 例:
nurbsSphere1.translateX = time

2. 例:
//小于5秒执行
if(time<=5)
{
语句1;
语句2;
}

3. 例:
//200~500帧执行
if(frame>=200 && frame<=500)
{
语句1;
语句2;
}

二、MAYA中的自定义变量

1. 整数类型

(Maya中的变量名前需要有 “$”)

  • int
    (例:int $a = 10)

2. 浮点类型

  • float
    (例:float $b = 3.14)

3. 字符串

  • **string **
    (例:string $name = maya)

4. 矢量

  • vector
    (例:vector $c = <<3.14,10,3.8>>)

三、语句和运算符

1. 条件语句

if(条件)
{
	语句1;
	语句2;
}
else if(条件)
{
	语句1;
	语句2;
}
else
{
	语句1;
	语句2;
}

2. 循环语句

//简略
1. while
2. for
3. do...while

四、MAYA中的函数

1. 算数函数

  • "abs( )" (绝对值函数)

例:
abs(5) 结果:5
abs(5.5) 结果:5
abs(0) 结果:0

  • "ceil( )" (返回比括号中数大的最小整数)

例:
ceil( 4.3) 结果:5
ceil( -2.3) 结果:-2

  • "floor( )"(返回比括号中数小的最大整数)

例:
floor( 4.3) 结果:4
floor(-2.3 ) 结果:-3

  • "trunc( )"(取得括号中数的整数位)

例:
trunc(4.3 ) 结果:4
trunc(-2.3 ) 结果:-2

  • "min(x,y)"(取得括号中两数比较后较小的数)

例:
min(3,5) 结果:3
min(1.2,3.4) 结果:1.2
min(5,2.4) 结果:2.4

  • "max(x,y)"(取得括号中两数比较后较大的数)

例:
max(3,5) 结果:5
max(1.2,3.4) 结果:3.4
max(5,2.4) 结果:5

  • "sign()"(返回括号中的符号,正数返“1”,负数返“-1 ”,零则返回“0”)

例:
sign(5) 结果:1
sign(-5) 结果:-1
sign(0) 结果:0

  • "clamp(min,max,parameter)"(求范围,当parameter小于min 时则返回min,当大于 max时则返回max,在min和max之间时则反回 其自身)

例:
clamp(0,1,0.5) 结果:0.5
clamp(0,1,-1) 结果:0
clamp(0,1,2) 结果:1

2. 指数函数

  • "exp( )"(求衰减系数“e”的多少次方)(e = 2.718)

例:
exp(time);结果:基于时间递增

  • "pow(x,y)"(求x的y次方)

例:
pow(2,3) 结果:8
pow(8,1.0/3) 结果:2

  • "sqrt( )"(专用开平方)

例:
sqrt(4) 结果:2
sqrt(8) 结果:3

  • "log(x)"(求x是e的多少次幂)

例:
log(1) 结果:0
log(2.718) 结果:1

  • "log10(x)"(求x是10的多少次幂)

例:
log(100) 结果:2
log(1) 结果:0
log(1000) 结果:3

  • "hypot(x,y)" (勾股定理)

例:
hypot(3,4) 结果:5

3. 随机函数

  • "noise( )"(噪音)

例:
noise(time)
noise(framr)

  • "dnoise( )" (噪音,对矢量进行操作)

例:
dnoise(<<2,3,4>>)

  • "rand( )"(随机函数的一种,针对浮点类型)

例:
rand(5) 结果:在0~5之间随机一个数
rand(2,5) 结果:在2~5之间随机一个数

  • "seed ( )"(固定随机函数)

例:
seed (1) 结果:1

  • "sphrand ( )"(针对矢量的球型随机)

例:
sphrand(5)
sphrand(<<5,1,5>>)

4. 三角函数

  • "sin ( )"(正弦函数)

例:
sin(1) (表示1弧度的正弦值)1弧度=180/3.14度

  • "cos ( )"(余弦函数)

例:
cos(1) (表示1弧度的余弦值)

5. 转换函数

  • "deg_to_rad"(将角度转为弧度)

例:
deg_to_rad(180) 结果:3.14

  • "hsv_to_rgb"(颜色转换模式)

例:
hsv_to_rgb(<<360,1,1>>) 结果:<<1,0,0>>

6. 曲线函数

  • "linstep(min,max,parameter)"(线性递增函数,返回值永远是从0到1)

例:
linstep(3,6,time)

  • "hermite( )"(自定义曲线函数,且返回结果也为矢量,用法较为复杂)

7. 矢量函数

  • "mag ( )"(求矢量大小,求得的结果是一个浮点数)

例:
mag(<<3,4,5>> - <<1,2,3>>) 结果:3.464102

  • "angle ()" (求得两矢量之间的加角,单位永远是弧度,永远取小的角度,永远取正数)

引用百度知道

 类似资料: