Maya mel语初解之二-多边型建模

豆豆网   技术应用频道   2007年08月14日  【字号: 收藏本文

关键字: Maya Maya Mel Mel MEL Script

内容摘要:Maya mel语初解

  也可以给数组的成员赋值,例如:

  $objects[1] = "pBox1";

  // 此时数组$objects的值为{"pSphere1", "pBox1", "pCone1"}

  Maya mel语初解之二-多边型建模

  要想遍历数组中的每个成员,可以用for语句,有两种方法。

  // 方法一
  string $objects[] = `ls -sl`;
  for ($i = 0; $i < size($objects); $i++)
  {
  string $obj = $objects[$i];
  // do something ...
  }
  // 方法二
  string $objects[] = `ls -sl`;
  for ($obj in $objects)
  {
  // do something ...
  }

  [注] mel的for...in语句和JavaScript有所不同,$obj是字符串,指的是

  当前的数组成员,等同于"string $obj = $objects[$i];"

  再复习一下函数(Function):

  如果你编写比较复杂的程序,就会发现有很多经常用到的语句,这些语句经常以相同的组合出现。这样的语句编写起来有些麻烦,看起来也不太直观。为了提高工作效率,增加可读性,我们可以使用函数把它们封装起来。下面举例说明。

  还记得前面讲过的filterExpand获取多边形面的方法吧?

  string $faces[] = `filterExpand -ex 1 -sm 34`;

  对初学者来说,看到"-sm 34"后,总是很难联想到多边形的面。当然你可以用maya的全局变量$gSelectMeshFaces来替代34,不过这样做有些麻烦。我们编一个新的函数来做与上面代码同样的事情。

  proc string[] getSelFaces()
  {
  return `filterExpand -ex true -sm 34`;
  }
  // [注] Sel为Selected的缩写

  有了这个函数,我们以后再获取多边形的面时,就可以这样写:string $faces[] = `getSelFaces`;

责编:豆豆技术应用

正在加载评论...