アニメーションカーブによる色のコントロール
アニメーションカーブによって色をコントロールする方法
file テクスチャーの色をアニメーションカーブ(animCurve)によって、
リアルタイムに変更してみましょう。
以下では、まず HSV の V (明度)だけをアニメーションカーブで変更できるようにしてみます。
- 適当にオブジェクトを作成し、file テクスチャーをアサインしておきます。
- Hypershade の Color Utilities から RgbToHsv を作成します。
- file1 から rgbToHsv1 まで MMB ドラッグして、表示された Connection Editor によって OutColor と InRgb をコネクトします。
- Script Editor を表示し、以下のコマンドを実行します。
createNode animCurveUU;
setKeyframe -f 0 -v 0;
setKeyframe -f 1 -v 1;
- 上の MEL コマンドで作成した animCurveUU1 をHypershade に表示します。
- rgbToHsv1 から animCurveUU1 へ MMB ドラッグし、
表示された Connection Editor で OutHsvV と Input をコネクトします。
- Hypershade の Color Utilities から hsvToRgb を作成します。
- animCurveUU1 から hsvToRgb1 へ MMB ドラッグし、
表示された Connection Editor で Output と InHsvB をコネクトします。
- hsvToRgb1 から マテリアルへ MMB ドラッグし、
表示された Connection Editor で OutRgb と Color をコネクトします。
- rgbToHsv1 から hsvToRgb1 へ MMB ドラッグし、
表示された Connection Editor で OutHsvH と InHsvR、
OutHsvS と InHsvG をコネクトします。
- Render View を表示し、IPR の設定をします。
- Graph Editor を表示し、カーブを編集するとリアルタイムで色の変化を見ることができます。
H と S もコントロールする方法
HSV の V だけでなく H (色相)と S (彩度)もコントロールするには、
上記の 4. から 8. までとほぼ同じ方法で行うことができます。
ただし、H をコントロールする場合には 4. で実行するコマンドを以下のように変更してください。
createNode animCurveUU;
setKeyframe -f 0 -v 0;
setKeyframe -f 360 -v 360;
また、8. で Output とコネクトするのは、
H の場合は InHsvR、
S の場合は InHsvG にします。
カスタマイズ
H は値の範囲が 0 から 360 までなので、
S や V といっしょに Graph Editor に表示すると同時に表示しにくくなります。
そこで、General Utilities にある Set Range を 2 つ作成し、
アニメーションカーブの前後で値を変更してやります。
使用する animCurveUU は、上記 4. の MEL コマンドで新しく作成しておいてください。
(以前の H 用の animCurveUU は削除しておきます)
- rgbToHsv1 の outHsvH と setRange1 の valueX をコネクト
- setRange1 の outValueX と animCurveUU の input をコネクト
- animCurveUU の output を setRange2 の valueX にコネクト
- setRange2 の outValueX を hsvToRgb1 の inHsvR にコネクト
- setRange1 と setRange2 のアトリビュートを変更
- Graph Editor を表示
その他の方法
Hypershade の Color Utilities には、
Remap Color と Remap Hsv という Utility があります。
色を変更するにはこちらの方がお手軽です。
ただし、アニメーションカーブほど自由はききません。
参考
- Maya
Maya, MEL, Maya関係のコマンドなどのページ。
Home | Contents
Mail