예제) 버튼 만들기
window -title "인터페이스 이름";
columnLayout -adjustableColumn true;
button
-label "첫 번째 버튼의 이름";
button
-label "두 번째 버튼의 이름";
button
-label "세 번째 버튼의 이름";
showWindow;
-------------------------------------------------------------------------------------------------------
예제) 버튼을 눌러서 조인트를 선택하는 인터페이스 만들기
window -title "조인트 선택하기";
columnLayout -adjustableColumn true;
button
-label "첫 번째 조인트 " -command "select -r joint1;";
button
-label "두 번째 조인트 " -command "select -r joint2;";
button
-label "세 번째 조인트 " -command "select -r joint3;";
showWindow;
-------------------------------------------------------------------------------------------------------
예제) 슬라이더를 만들고 오브젝트에 연결하기
window -title "조인트 제어하기 ";
columnLayout;
attrFieldSliderGrp -min -90 -max 70 -at ("joint2"+".ry");
showWindow;
-------------------------------------------------------------------------------------------------------
예제) 돌고래가 등을 구부리고 펴면서 전진하는 애니메이션
global proc UIcreate()
{
window -title "돌고래";
columnLayout;
button -label "초기화" -c "movement_1" -width 150 -height 50;
button -label "구부림" -c "movement_2" -width 150 -height 50;
button -label "폄" -c "movement_3" -width 150 -height 50;
button -label "구부림과 폄" -c "movement_4" -width 150 -height 50;
showWindow;
}
UIcreate;
global proc movement_1()
{
setAttr "joint2.rotateZ" 0;
setAttr "joint3.rotateZ" 0;
setAttr "joint4.rotateZ" 0;
setAttr "joint5.rotateX" 0;
setAttr "joint1.translateZ" 0;
}
global proc movement_2()
{
setAttr "joint2.rotateZ" -7;
setAttr "joint3.rotateZ" -8;
setAttr "joint4.rotateZ" -9;
setAttr "joint5.rotateX" -10;
select -r joint1 ;
move -r 0 0 20 ;
}
global proc movement_3()
{
setAttr "joint2.rotateZ" 0;
setAttr "joint3.rotateZ" 10;
setAttr "joint4.rotateZ" 20;
setAttr "joint5.rotateX" 30;
select -r joint1 ;
move -r 0 0 20 ;
}
global proc movement_4()
{
global int $count;
if ($count == 1)
{
movement_2;
}
if ($count == 2)
{
movement_3;
$count = 0;
}
$count = $count + 1;
}
-------------------------------------------------------------------------------------------------------
예제) X, Y, Z의 좌표가 10 이내인 범위에서 sphere를 20개 만들어서 무작위로 배치하는 MEL Script
vector $location;
int $count;
for ($count=0; $count<20; $count++)
{
$location = sphrand(10);
sphere ?pivot ($location.x) ($location.y) ($location.z);
}
-------------------------------------------------------------------------------------------------------
예제) sphere를 20개 만들어서 나선형으로 배치하는 MEL Script
int $count;
for ($count=0; $count<20; $count++)
{
int $isin = 2*sin($count);
int $icos = 2*cos($count);
sphere ?pivot $isin $count $icos;
}
-------------------------------------------------------------------------------------------------------
예제) sphere를 100개 만들어서 호를 그리면서 퍼지도록 배치하는 MEL Script
int $count;
for ($count=0; $count<100; $count++)
{
int $isin = sin($count) * $count/4;
int $icos = cos($count) * $count/4;
sphere ?pivot $isin 0 $icos;
}
-------------------------------------------------------------------------------------------------------
예제) 스프링을 만드는 MEL Script
circle;
move 10 0 0;
move 0 0 0 nurbsCircle1.rotatePivot;
for ($count=0; $count<50; $count++)
{
duplicate;
rotate -r 0 30 0;
move -r 0 0.3 0;
}
select -all;
loft;
dolphin.mb