2016/02/15

mayaのスケーリングについて

0 comment
リアクション: 
mayaでのスケールは複雑怪奇。
あまりスケールにキーを打つことはありませんが
キャラクターにスケールをかけるときがあると、末端の挙動が
おかしくなることが良くあります。というか大抵予測通りに行かない。
なので、少し調べてみました。

mayaで、AとB両方からCにスケールコンストをしたときのブレンドの式を答えなさい。
こちら分かりますか?

結論から言うとこうなります。

C = √(A * B)

画像を見ても分かるかと思いますが、線形ではありません。
FKとIKのスケールを平均でブレンドするなら、エクスプレッションや
ノードエディターで工夫しないといけません。




pairBlendノードを使って

C = (A + B) / 2

をしました。
こちらは、意図した結果になります。
使い方のポイントとしては、pairBlendのTranslateにScaleを突っ込みます。


次の構造は、良く見る階層です。
手に武器用のロケーターが付いたものです。
武器と仮定した外にあるロケータに、parentとscaleのコンストをかけました。




この階層で、rootのtransformノードに、Xスケールをかけてみます。

すると、武器ロケーターのスケーリングの挙動がおかしくなります。
scaleコンストは、shearには興味が無いようです。

この場合は、shearの値を接続してあげればOKです。
グローバルの値をダイレクトに入れます。


ノードエディタを使用して、shearのみ接続します。
武器骨のWorld Matrixから、decomposeMatrixノードに繋ぎ
Output Shearから、武器のShearに接続します。

ノードエディタで、decomposeMatrixノードの出し方は

1.) TABを押す
2.) decと入力
3.) TABを2回押す

と楽に出ます。

IKとFKのブレンドは、こちら画像の接続をするとうまく行くかと思います。
Matrixのブレンドは、wtAddMatrixノードを使用します。
wtAddMatrixノードは、出したままですと、入力を受け付けません。
ですので、一度ノード上で右長押しから、Show All Attributeを選択すると、接続が出来るようになります。

真ん中辺りのmultMatrixノードは、武器の構造が階層だった場合
親の逆Matrixをかけて、ローカルへ変換しています。

このやり方は、pivotを動かしているノードを絡める場合、pivotも考慮
してあげる必要があります。
Rigですと、普通にpivotを動かしていますよね。
このケースは次回ということで(実は良く分かっていません・・・笑)

では。

2015/09/17

maya : HIKでFKのつま先を選ぶ

0 comment
リアクション: 
いま働かせてもらっている会社は、mayaにてHIKリグでモーションを作ってます。
MotionBuilderと同等の機能を持ちますので、習得において非常に短時間で作業に入れます。
MotionBuilderに比べると非常に激重ですが…(笑)
そのあたりはさておき、作業をしている上でふとした疑問が浮かびました。

『あれ?FKのつま先が選べないのでは…?』

もちろんGUIはIKのつま先ならありますが、FKはありません。
ビューポートにも黄色いリグが見当たらない。

少し調べてみるとHIK Joint AttributesのLookはNoneになっており、Radiusも0が入ってました。

LookをStickにし、Radiusを0.1にしてあげれば、黄色いFKの球が現れます。
これで選べるように一応なりました。

ですが、この方法はまどろっこしいので、ここはシンプルに

FootFKリグを選んで、キーボードの↓を押す。

てのが一番いい方法かなと思いました。

2015/09/11

maya : Point & Orient vs Parent

0 comment
リアクション: 
セットアップにて、骨同士をコンストするのは良くある光景です。
mayaのセットアッパーは、Parentじゃなくて、Point&Orientを
良く多用します。
そこは、Parentでいいのでは…?と思うこともしばしば。
ノード数が多いほうが、処理が重くなるんじゃないかなー?
と思ったので、少し実験してみました。



簡単なスクリプトで、2個ロケーターを出して、1000回それぞれに
コンストして試すと

FPS

1049.1 空のシーン
147.6  Point & Orient Constraint
165.1  Parent Constraint

という結果が出ました。

やっぱりParentのみのほうが軽いですね。
Parentを使ったほうが良さそうです
ヽ(´▽`)ノワーイ♪

2015/08/27

maya : 揺れ物モーションを作るツール YUREMONO.py

0 comment
リアクション: 
公開するのどうしようか迷ったんですが、公開しちゃいます。
髪の毛や服、マントなどの揺れ物モーションを作るツールです。
数珠繋ぎの階層であればほぼ使えます。

現在は、transformとjointノードのみ対応です。



使い方は
1.)
C:\Users\[User]\Documents\maya\scripts
C:\Users\[User]\Documents\maya\[version]\scripts
もしくは
PYTHON_PATHが通っている場所に、YUREMONO.pyを置く

2.)
以下を実行
import YUREMONO;YUREMONO.Execute()

で、UIが立ち上がります。
ヘルプもつけてあるので、見ながらいじってみてください。

Frequencyの値の1/8を目処にElasticityの値をいれれば
なんとなく揺れているような感じになります。

こちらからダウンロードしてください。