MAYA 脚本语言 MEL 系列教程(7)

2019-09-01 10:28

break; }

print(\输出是: $free equals: 0 $free equals: 1 $free equals: 2 $free equals: 3 I'm free!

没有if语句,该环会执行10次,并显示数字0到9。在$free等于3之后,break语句终止了这个环,所以环中的显示语句只执行4次。

脚本名称 描述

xbmLangPathList 返回XBMLANGPATH环境变量中的路径。

xform 用来设置或查询transformation节点中的任何元素。它也能被用来查询一些不能被直接设置的数值, 如transformation矩阵或bounding box。它也能被用来把中心点设置成合适的值。\waitCursor 设置Maya程序的图标是否为等待图标。 warning 让用户在他(她)的教本执行时显示warning信息。

whatIs 查询一个字符串在Maya中是一个“命令”,“Mel程序”,“教本”,还是一个变量,如果时变量则给出变量的类型。

window 创建一个不可见的窗口。

windowPref 创建、修改或查询窗口的属性,注意对main Maya窗口和Command窗口不起作用。 wire 创建一个曲线变形器。

wireContext 创建一个能被用来创建曲线变形器的工具。

workspace 创建,打开或编辑一个给定的workspace文件,如果没有指定,则假定时当前的workspace。 wrinkle 用来创建一个曲面褶皱的网络,它自动创建一个用来控制一个曲线变形器的褶皱曲线, 而这个褶皱曲线则连接到一个cluster变形器上。 wrinkleContext 建立一个用来创建褶皱的连接。

writeTake 用来记录从记录数据的设备到一个mov文件的数量。 wtPaintCtx 用来在选定的nurbs曲面上绘画簇的权重。 validateShelfName 用来检测shelf tab的名字是否合法。 valuePaintCtx ?看不懂,小弟E文较差 x_x verifyCmd 按照相应的值查询一个命令中的每个标签。 view2dToolCtx 居然没有描述NND

viewCamera 把摄像机移到指定摄像机的边上或顶上。 viewClipPlane 用来查询或设置指定摄像机的剪切平面。

viewFit 让选中摄像机显示除了摄像机本身外的指定物体,就是F吧 viewHeadOn 让指定摄像机按照法线观察物体,并让物体充满屏幕。 viewLookAt 让摄像机看向所有选中物体的中心

viewPlace 用来设定摄像机的一点参数:摄像机位置,摄像机瞄准点的位置,摄像机的方向,摄像机是否有透视,

视角以及向上轴。

viewSet 把选中摄像机设置到预定义的位置。 visor 创作或操作Visor窗口 volumeAxis 设置volumeAxis动力场

31

vortex 设置vortex动力场

uiOnDemandExample 这个脚本示范了“如何按照需要创建UI\来加快复杂视窗的初始化显示时间 uiTemplate 这个命令创建一个新的命令模板对象,模版对象能保存多个UI命令的默认标记参数。 unassignInputDevice 删除所有和指定设备(物体)有关的字符串命令 undo undo

undoInfo 控制undo的参数 ungroup 解组指定对象 uniform 设置uniform动力场 unit 返回一个归一化矢量

unloadPlugin 解除指定plugin的调用

untangleUV 通过解开texture UVs来帮助创建不重叠的区域 untrim untrim指定表面

upAxis 改变世界的向上轴。(Y轴 or Z轴) updateAE 显示在属性编辑器中指定节点的信息

userCtx 根据一系列指定的工具来创建自己的工具,就象宏一样。 userPaintCtx 通过画笔来执行mel

uvlink 用来设置、中断、查询物体的UV组和纹理之间的连接关系 uvSnapshot 创建选择物体的uv快照 例子1

▲ ? ? ¤ ← → ↗ ↖ ↙ ↑ ↓ ↘ 00b0d0a12cbc

◎ ● ▼ ? ? £ $ ¥ & # ▓

⊿ ∷ ∴ ∶ ⊙ ∵ 〖 ◢ ◤ 〗 ◥ ╭∩╮(︶︿︶)╭∩╮

■ ◣ 【 ◆

http://www.5dmedia.com/bbs/NewsDetail.asp?id=297412

http://www.5dmedia.com/bbs/NewsDetail.asp?id=250243 x:\\aw\\maya4.0\\scripts\%unsuport\\spiral.mel

MAYA 各种材质的参数设定

金属 颜色RGB 色彩亮度 光亮度 慢射 镜面 光泽度 反射 BMP(分形噪声)单位:英寸 凹凸%

铝箔 180,180,180 有 0 32 90 中 65 .0002,.00002,.0002 8

铝箔(钝) 180,180,180 有 0 50 45 低 35 .0002,.00002,.0002 15 铝 220,223,227 有 0 35 25 低 40 .0002,.00002,.0002 15

磨亮的铝 220,223,227 有 0 35 65 中 50 .0002,.00002,.0002 12 黄铜 191,173,111 有 0 40 40 中 40 .0002,.00002,.0002 20

磨亮的黄铜 191,173,111 有 0 40 65 中 50 .0002,.00002,.0002 10 镀铬合金 150,150,150 无 0 40 40 低 25 .0002,.00002,.0002 35 镀铬合金2 220,230,240 有 0 25 30 低 50 .0002,.00002,.0002 20

32

镀铬铝 220,230,240 有 0 15 60 中 65 .0002,.00002,.0002 15 镀铬塑料 220,230,240 有 0 15 60 低 50 .0002,.00002,.0002 15 镀铬钢220,230,240 有 0 15 60 中 70 .0002,.00002,.0002 5 纯铬 220,230,240 有 0 15 60 低 85 .0002,.00002,.0002 5 铜 186,110,64 有 0 45 50 中 40 .0002,.00002,.0002 10

18K金 234,199,135 有 0 45 50 中 65 .0002,.00002,.0002 10 24K金 218,178,115 有 0 35 50 中 65 .0002,.00002,.0002 10 未精练的金 255,180,66 有 0 35 50 中 45 .0002,.00002,.0002 25 黄金 242,192,86 有 0 45 50 中 65 .0002,.00002,.0002 10 石墨 87,33,77 无 0 42 90 中 15 .0001,.0001,.0001 10 铁 118,119,120 有 0 35 50 低 25 .0002,.00002,.0002 20

铅锡锑合金 250,250,250 有 0 30 40 低 15 .0002,.00002,.0002 10 银 233,233,216 有 0 15 90 中 45 .0002,.00002,.0002 15 钠 250,250,250 有 0 50 90 低 25 .0002,.00002,.0002 10

废白铁罐 229,223,206 有 0 30 40 低 45 .0002,.00002,.0002 30 不锈钢 128,128,126 有 0 40 50 中 35 .0002,.00002,.0002 20

磨亮的不锈钢 220,220,220 有 0 35 50 低 25 .0002,.00002,.0002 35 锡 220,223,227 有 0 50 90 低 35 .0001,.0001,.0001 20

因为环境灯光不同,材质参数是不同的,希望你把这份资料做为参考,不要做为了你的材质“标本”。

表达式:

nuke爆炸:nukeCloudShape.textureTime=time * .7

skin1.translateY = 1.5*sin(time*2); skin1.translateX = sin(time); select skin1;

for($i=0;$i<5;++$i) duplicate -rr; int $num;

vector $position[]; string $object =\$num=6;

for($i=1;$i<=$num;$i++) {

$position[1]=<<1,0,2>>; $position[2]=<<3,0,2>>; $position[3]=<<0,0,6>>; $position[4]=<<2,0,0>>; $position[5]=<<5,0,3>>; $position[6]=<<4,0,1>>;} vector $position_new; float $posx, $posy, $posz; $position_new=$position[$i]; $posx=$position_new.x; $posy=$position_new.y; $posz=$position_new.z;

33

setAttr($object+$i+\setAttr($object+$i+\setAttr($object+$i+\}

float $speed[],$height[]; if(frame==1)

{$speed[$i]=rand(2.0,3.0); $height[$i]=rand(1,1.5);}

$posy=$position_new.y+$height[$i]*sin(time*$speed[$i]); joint -e -oj xyz -zso -chp

pathAnimation物体到曲线,调整uValue值来定位。

有几点注意,pathAnimation后,uValue的动画要删除;曲线的位置是用U来描叙,pathAnimation也是用U来描述位置;createNode curveInfo节点会对你有用,它能显示曲线的长度, 程序里的用法是:

string $sel[]=`ls -sl`; if (size($sel)==0)

{error \

string $curveInfo=`createNode curveInfo`;

connectAttr ($sel[0]+\openAEWindow;

global proc string spiral(float $r1,float $r2,int $turns,int $direction) { string $curve=`joint -p $r2 0 0`;

float $r=$r2; float $y=0; float $deg=0.0,$rad=0.0; int $numOfCVs=8*$turns+1;

float $r_inc=($r2-$r1)/$numOfCVs; int $i=0;

for(;$i<$numOfCVs-1;$i++) { $y+=0.1; //y坐标递增 $r-=$r_inc;

if($direction==1) $deg+=45; //顺时针 else

$deg-=45; //逆时针

$rad=deg_to_rad($deg);

joint -a -p ($r*cos($rad)) $y ($r*sin($rad)) $curve; joint -e -zso -oj xyz $curve; }

return $curve; }

spiral(1,3,8,1);

直接render就行了。

render -proj d:/test a1.mb render -proj d:/test a2.mb

render -s 1 -e 10 -proj d:/test test.mbC:\\Documents and Settings\\luchaozhi\\My

34

Documents\\maya\\projects\\default\\scenes

global proc () {

if(`window -ex testWin`) deleteUI testWin; window -t \心理测试\ -wh 432 234 testWin;

columnLayout;

text -l \假如你遇到这几件一起发生,你会如何处理呢?\\n

把你处理这件事的次序填入方框内按“开始测试”即可。如:“15324”。\\n 1.门铃响了。\\n 2.电话铃也响了。\\n 3.孩子哭了。\\n

4.下雨了,外面的衣服没收。\\n 5. 水池的水涨出来了。\\n\

textField -w 200 -tx \

button -l \开始测试\-c \= `textField -q -tx cmdName`;help -doc $cmdNameField;\

showWindow testWin;

string $win1=`window -t \心理测试\ -vis 0 `;

columnLayout;

text -l \你对待朋友,金钱,事业,家庭,性的次序为:\showWindow $win1;

if(`window -ex testWin`) deleteUI testWin; window -t \心理测试\

columnLayout;

text -l \?假如你遇到这几件一起发生,你会如何处理呢?? \\n\text -l \把你处理这件事的次序填入方框内按开始测试即可.如:15324。\\n\ text -l \门铃响了。 \\n \ text -l \电话铃也响了。 \\n\ text -l \孩子哭了。 \\n\ text -l \下雨了,外面的衣服没收。 \\n\ text -l \水池的水涨出来了。 \\n\

textField -w 200 -h 20 -tx \

button -l \开始测试\-c \= `textField -q -tx cmdName`;$cmdNameField\

showWindow testWin;

string $A[]={\

$B[]={\朋友\事业\家庭\性\金钱\

$C[]=$cmdNameField, $A[0]=$B[0]; $A[1]=$B[1]; $A[2]=$B[2]; $A[3]=$B[3]; $A[4]=$B[4];

window -t \测试结果\

35


MAYA 脚本语言 MEL 系列教程(7).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版初二英语下册1--5单元基础检测

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: