mel语言是maya自己内部的一套编程语言,mel是maya的灵魂,是maya执行命令的语言。稍有编程基础的话,可以很容易掌握它。我们可以看到除了maya的插件(maya内部很多组件也都是以插件形式存在的)以外,所有的操作都可以在script editor窗口中有相应的mel语言与之对应。例如:创建一个常规的polygon球体,打开windows-->General Editors-->Script Editor,可以看到:polySphere -r 1 -sx 20 -sy 20 -ax 0 1 0 -tx 2 -ch 1;;这句话的意思是创建一个polygon球体(polySphere),其半径为1(-r 1),x、y轴向的分段皆为20(-sx 20 -sy 20),轴向为Y轴向上(-ax 0 1 0),显示方式为有锯齿贴图(-tx 2),并带有历史纪录(-ch 1)。参见help中的polySphere词条。
*表达式的作用:
1,使属性与时间建立关系,来产生动画效果。
2,建立属性与属性的联系,来达到用一个属性控制另一个属性的目的。
/////////////////////////////////
一:MAYA中的预定义变量(时间)
1,"time"是一个变量,单位“秒”。
2,"frame"是一个变量,单位“贞”。
(*注意*属性的名称一定要写完整,并在写完后加终止符“;”)
例如:anslateX = time;
(*注意*属性名称是分大小写的,"aa Aa AA "是三个完全不同的名称)
(其中“=”相当于赋值操作符,顺序是自右向左先计算等号右侧,再把      结果赋给左侧。)
*数学运算符;
  “+”(加);“-”(减);“*”(乘);“/”(除);“%”(取于    ,相当于一个数被另一个数整除后的余数)
二:MAYA中的自定义变量
  作用:用来存储表达式中用到的临时结果。
trunc函数是什么
  类型:1;浮点型变量:(就是带有小数点的变量)
          声明符为“float”;
          例如:float $aa = 3.14159;
          (*注意* a,所有变量名称前必须加“$”。
                  b,变量的名称必须以英文字母开头。
                  c,变量名称中不准许出现特殊符号,例如                                “!,@,#,%,^,&,*"但可以出现下划线和数字”float                      $aa_1"。
                  d, 变量名称严格区分大小写,例如:“$aa,$Aa”是两                    个完全不同的变量。)
        2;整数型变量;
          声明符为“int”;
          例如:int $bb = 10;
        3;字符串变量;
          声明符为“string";
          例如:string $cc = "maya7.0";
        4;矢量变量;
          声明符为“vector ”;
          例如:vector $dd = <<3.3,4,-5.5>>;
三;MAYA中的语句和运算符
  1,条件语句
    if (条件)//(“如果”的意思)
    {
      语句1;
      语句2;
      }
    例如;if (time < 3)
    (*注意*条件语句后不能加“;”)
      也可以同“else”(当“否则”讲)配合使用;
    例如;
        if (time < 3)
        = -6;
        else if (time >= 3 && time <= 6)
        = 0;
        else
        = 6;
        或者不嵌套写,并列写也可以。
        if (time < 3)
        = -6;
        if (time >= 3 && time <= 6)
        = 0;
        if (time > 6)
        = 6;
        (*注意*多重并列时条件不能冲突,不可同时满足两个以上的条件          。)
    2,关系运算符
      “〈”(小于)//“〉”(大于)//“〈=”(小于等于)//“〉=”      (大于等于)//“==”(等于)//“!=”(不等于)
        (*注意*如果条件后要用等号,一定要用双等号“==”)
    3,逻辑运算符
      “&&”(并且)(相乘的关系,必须两个条件同时成立)
      “||”(或者)(相加的关系,有一个条件成立即可)
      “!”(非)
    4,快捷操作符
      “+=”“-=”“*=”“/=”“%=”“++”“--”
      (以上均是在自身的基础上进行)
    *“print”(“打印”把变量的数值显示在屏幕上)*
四;MAYA中的函数
    1,算术函数
      a;“abs( )”(绝对值函数)
        例如;abs(5)    5
              abs(-5.5) 5.5
              abs(0)    0
      b;“ceil( )” (返回比括号中数大的最小整数)
        例如;ceil(4.3) 5
              ceil(-2.3) -2
      c;“floor( )”(返回比括号中数小的最大整数)
        例如;floor(4.3) 4
              floor(-5.6) -6
      d;“trunc( )”(取得括号中数的整数位)
        例如;trunc(10.39) 10
              trunc(-3.14) -3
      e;“min(x,y)”(取得括号中两数比较后较小的数)
        例如;float $a = 6.3;
              float $b = 5.6;
              float $c = 4.3;
              float $min = min($a,$b);
              float $min = min($min,$c);
      f;“max(x,y)”(取得括号中两数比较后较大的数)
        例如;max(2.1,3.5) 3.5
      g;“sign()”(返回括号中的符号,正数返“1”,负数返“-1          ”,零则返回“0”)
        例如;sign(5) 1
              sign(-5) -1
              sign(0) 0
      h;“clamp(min,max,parameter)”(求范围,当parameter小于min        时则返回min,当大于 max时则返回max,在min和max之间时则反回        其自身)
        例如;clamp(0,1,time);(只取time“0-1”的部分)
    2,指数函数
      a;“exp( )”(求衰减系数“e”的多少次方)(e = 2.718);
        例如;exp(time);(基于时间递增)
      b;“pow(x,y)”(求x的y次方)
        例如;pow(2,3) 8
              pow(8,1.0/3) 2
      c;“sqrt( )”(专用开平方)
        例如;sqrt(4) 2
      d;“log(x)”(求x是e的多少次幂)
        例如;log(1)      0
              log(2.718) 1
      e;“log10(x)”(求x是10的多少次幂)
        例如;log(100)    2
              log(1)      0
              log(1000)  3
      f;“hypot(x,y) (勾股定理)
        例如;hypot(3,4)  5
      3,随机函数
        a;”noise( )”(噪音)
          例如;noise(time)
                noise(frame)
        b;“dnoise( ) (噪音,对矢量进行操作)
          例如;dnoise(<<2,3,4>>)
        c;“rand( )”(随机函数的一种,针对浮点类型)
          例如;rand(5) 在0到5之间随机
                rand(2,4) 在2到4之间随机
        d;“seed ( )”(固定随机函数)
          例如;seed(1) 1
        e;“sphrand ( )”(针对矢量的球型随机)
          例如;sphrand(5)
                sphrand(<<5,1,5>>)
      4,三角函数
        a;“sin ( )”(正弦函数)
          例如;sin(1) (表示1弧度的正弦值)1弧度=180/3.14度
        b;“cos ( )”(余弦函数)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。