//-----------------------------------------------------------------------------------------------
/*
author: Joe Harkins
name: createCtl
description:
creates a nurbs circle controller for each selected object based on a few user input args
parents the shape of the circle to each object and sets display override based on naming tokens
nurbs цагираган удирдлагыг үүсгэнэ. хэрэглэгчийн идэвхжүүлсэн холбоос бүрийн дор shape зангилаа үүсгэж үүссэн цагирагыг онооно.
Тухайн холбоосын нэрийг харж байгаад ямар өнгөөр дүрслэхийг мөн тодорхойлно. холбоос нь голынх бол cn,c_ харин баруун бол
rt эсвэл r_ гэх зэргээр нэрлэгдсэн байх зайлшгүй шаардлагатай.Жишээ нь l_hand, rtShoulder гэх мэт
Аргументууд:
string $sel[] = list of selected objects
float $x = цагираг X тэнхлэг рүү харсан байдалтай үүснэ.
float $y = цагираг Y тэнхлэг рүү харсан байдалтай үүснэ.
float $z = цагираг Z тэнхлэг рүү харсан байдалтай үүснэ.
float $r = цагирагын радиус
Жишээ:
Холбоосуудыг идэвхжүүлж байгаад доорхи маягаар бичнэ.
createCtl `ls -sl` 1 0 0 .25;
*/
//-----------------------------------------------------------------------------------------------
global proc createCtl(string $sel[], float $x, float $y, float $z, float $r){
string $joint;
for ($joint in $sel){
float $loc[] = `xform -q -ws -t $joint`;
circle -fp $loc[0] $loc[1] $loc[2] -sw 360 -nr $x $y $z -r $r -n ($joint + "_control");
parent -r -shape ($joint + "_controlShape") $joint;
setAttr ($joint + "_controlShape.overrideEnabled") 1;
setAttr ($joint + ".overrideEnabled") 1;
if((`gmatch $joint "*cn*"`)||(`gmatch $joint "*c_*"`)){
// Хэрэв гол хэсгийн холбоос бол шар өнгөтэй болгоно
setAttr ($joint + "_controlShape.overrideColor") 17;
setAttr ($joint + ".overrideColor") 17;
}
else if((`gmatch $joint "*lf*"`)||(`gmatch $joint "*l_*"`))
{
// Хэрэв зүүн талд харьяалагдах бол ногоон
setAttr ($joint + "_controlShape.overrideColor") 14;
setAttr ($joint + ".overrideColor") 14;
}
else if((`gmatch $joint "*rt*"`)||(`gmatch $joint "*r_*"`))
{
// Хэрэв баруун талд харьяалагдах бол улаан
setAttr ($joint + "_controlShape.overrideColor") 13;
setAttr ($joint + ".overrideColor") 13;
}
else if(`gmatch $joint "*"`){
// Аль ч талд харьяалагдахгүй бол цэнхэр
setAttr ($joint + "_controlShape.overrideColor") 6;
setAttr ($joint + ".overrideColor") 6;
}
delete ($joint + "_control");
}
}
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment