[Maya] コントローラーが動いた時、ワイヤーの色を変える

もちおさんさんのSIの 動くとワイヤーカラーが変わるICEコンパウンド を参考に、Mayaでも同じことができないか試してみました。
似た挙動だけど、SIほどの自由度はない(´・ω・)

MayaTestシーン(2012)

Mayaのカーブ色変更は、CurveShapeノードのoverrideEnabledを1にして、overrideColorに値をセットすればOK。
コントローラは基本、デフォルト値 Trans 0 Rotate 0 Scale 1 にリセットされている前提。
ということで、今回は
(TransXYZ + RotateXYZ + ScaleXYZ - 3)  が  0 ならば、 動いていない
ということにして、Expressionを書きました。

Mayaのカーブの色は、RGBで設定するのではなく、1~31の整数で設定します。
↑のサンプルの場合、 デフォルトの場合、25 それ以外の場合は 28 の色がセットされるようになっています。

色に限りがあるので、今回のように動いた時に色チェンジとかしてると、
コントローラーの色が速攻なくなりそう(´・ω・)

今回はExpressionで書きましたが、AverageノードとConditionノードのコネクションを利用しても同じ事が出来ると思います。
が、ノードのコネクションで作ると数が増えたときにカオスになりそうなのでオススメしません。
+たぶんMayaの場合はHideしてても計算はされちゃう気がするので、コントローラー数が膨大になると、それなりの処理負荷になる気がします。

コントローラーにオリジナルのアトリビュートがある場合でも、↑を応用すれば色チェンジさせることが出来ます。
RIGをスクリプト生成するときなんかは、追加アトリビュートの初期値なんかも考慮するのも良いですね。

次世代のMayaには、SIのICEのようなものが搭載される・・・かも?しれないとのことなので
今回のようにExpressionでコマンドを書かないと出来なかったことも、より視覚的に・容易になるのでは?と思います。
2015とかで導入しないかなぁ(チラッチラッ

コメントを残す

メールアドレスが公開されることはありません。


*