level 12
写这个脚本的目的是为了让对MEL比较陌生的maya使用者方便的实现一些批量化的操作。整个脚本分成了两个功能块,第一个模块可以实现方便的随机选择,打组或set。第二个功能可以对选中的物体批量执行表达式,再也不用每次写那些烦人的$i了!
下面边使用边讲解吧,这个场景有一大堆的物体,假设我想对这些物体随机选择一部分给另几种材质。这种随机给材质的需求在工作中是很常见的。这里就讲解一下怎么用EZ_for_Many实现。
2009年04月10日 11点04分
1
level 12
EZ_For_Many提供了直接选择组内所有成员的功能,我们按下select set/group's members选择想要批量材质的一大堆物体
2009年04月10日 11点04分
2
level 12
我想从这些里面选出30%给一个白色的材质,只要输入“30”,点击选择就能选出随机的30%的物体。把这些物体给个白色材质,然后可以点make a group打个组方便以后选择。
2009年04月10日 11点04分
3
level 12
剩下的物体我们可以再重复上边的操作,选70%给个黄色的材质,打组
2009年04月10日 11点04分
4
level 12
这样几秒钟就可以轻松的实现选择>分组,再选择>再分组的功能。即使不会使用mel的人也可以轻松完成一些常见的工作。
2009年04月10日 11点04分
5
level 12
//----------------------------------------------------------------
下面是批量化执行表达式的功能,这个功能相当于脚本帮你写了ls-sl和循环语句,你只要在文本框输入执行的表达式就可以对所有被选中的物体执行。而且为了方面期间,脚本提前帮你定义了一些变量,$name表示物体名,%shapename是选择物体的shape节点的名字,$i是序号,$num是选择的总数,可以省去每次写$selected[$i]之类有麻烦又长的语句。
下面的例子是通过EZ_for_many实现把组内的物体批量改名。
还是一样选择组,通过selecte set/group members's选中组内所有成员,然后输入表达式rename $name "catchC_" 点执行。
2009年04月10日 11点04分
6
level 1
丁楼主,好东西,对模型和后期来说,heihie,受用了,期待更好的东西~
2009年04月10日 18点04分
9