maya Expressionについて調べてみた!! -制御関数-
abs・・・絶対値を返す
//tx//
pSphere1.translateX = time*5;
//ty//
$valY = sin(time)*10;
$posY = abs($valY);
pSphere1.translateY = $posY + 2;
ceil・・・最小の整数を返す
ex)1.1→1 , -1.9→-1
floor・・・最大の整数とを返す(※ceilの逆)
ex)1.1→2 , -1.9→-2
//tx//
pSphere1.translateX = time*10;
//ty//
$valY = time/1.1*3;
$posY = ceil($valY);
pSphere1.translateY = $posY;
sing・・・-1,0,1のいづれかを返す
ex) -0.1→-1 , 0→0 , 0.1→1
//tx//
pSphere1.translateX = time*10;
//ty//
$valY = sin(time*3);
$posY = sign($valY);
pSphere1.translateY = $posY;
trunc・・・小数点を切り捨てて整数値を返す
ex) -2.5→-2 , 0.5→0 , 2.5→2
//tx//
pSphere1.translateX = time*10;
//ty//
$valY = sin(time)*5;
$posY = trunc($valY);
pSphere1.translateY = $posY;
maya Expression cos,sinで遊んでみた!!
pSphere1.translateY = cos(time)*10;
pSphere1.translateX = time*5;
pSphere1.translateY = cos(time)*10;
pSphere1.translateX = time*5;
pSphere1.translateY = cos(time)*10;
pSphere1.translateZ = sin(time)*10;
pSphere1.translateX = cos(time)*10;
pSphere1.translateY = sin(time)*10;
pSphere1.translateX = cos(time)*10;
pSphere1.translateY = sin(time*3)*10;
pSphere1.translateZ = sin(time*-3)*10;
pSphere1.translateX = cos(time)*10;
pSphere1.translateY = sin(time*3)*10;
pSphere1.translateZ = sin(time*5)*10;
maya Pythonでエクスプレッションを追加・編集する
expression
エクスプレッションを追加する
s・・・エクスプレッションを記述
n・・・エクスプレッション名
o・・・エクスプレッションのdefaultオブジェクトを設定
試しに"translateX"と"rotationZ"をつなげてみた
mc.expression(s="ball.rotateZ = ball.translateX*-50;",n="test");
エクスプレッションを書き換える場合
mc.expression("test",e=True,s="ball.rotateZ = ball.translateX*-10;");
エクスプレッション名を指定し"e=True"と記述し編集可能にする
選択セットを作って効率を上げよう!!
作業のたびに選択するのは、一つ二つくらいなら手間ではないが、10,20と増えてくるとそれだけで手間になる、しかも選択を間違える可能性もある。
そんな時、使えるのが選択セット
一度設定すれば、次回からの設定が劇的に早くなる!!しかもミスを減らせる。
設定は簡単で
Create > Sets > Quick Select Set
編集は
Windows > Relationship Editors > Sets
Pythonでこの作業をもっと簡単にできるようにしたいんだけど、
Setsを作ることは出来るんだけど、編集をどうやった出来るかが分からない。。。
Windowを作ってアクセスするだけでいいんだけどな~
プログラミングを教わったことがないから、自主勉強がうまく捗らないorz
もっと効率よく勉強して、もっと成長したいよ~~~
maya Python メモ
選択している物の情報を取得
filterExpand
選択しているフェイス名を取得
info = mc.filterExpand(sm=34);
print info;