アニメーションカーブによる色のコントロール

アニメーションカーブによって色をコントロールする方法

file テクスチャーの色をアニメーションカーブ(animCurve)によって、 リアルタイムに変更してみましょう。
以下では、まず HSV の V (明度)だけをアニメーションカーブで変更できるようにしてみます。

  1. 適当にオブジェクトを作成し、file テクスチャーをアサインしておきます。

  2. Hypershade の Color Utilities から RgbToHsv を作成します。
  3. file1 から rgbToHsv1 まで MMB ドラッグして、表示された Connection Editor によって OutColor と InRgb をコネクトします。

  4. Script Editor を表示し、以下のコマンドを実行します。
    createNode animCurveUU;
    setKeyframe -f 0 -v 0;
    setKeyframe -f 1 -v 1;
  5. 上の MEL コマンドで作成した animCurveUU1 をHypershade に表示します。
  6. rgbToHsv1 から animCurveUU1 へ MMB ドラッグし、 表示された Connection Editor で OutHsvV と Input をコネクトします。
  7. Hypershade の Color Utilities から hsvToRgb を作成します。
  8. animCurveUU1 から hsvToRgb1 へ MMB ドラッグし、 表示された Connection Editor で Output と InHsvB をコネクトします。
  9. hsvToRgb1 から マテリアルへ MMB ドラッグし、 表示された Connection Editor で OutRgb と Color をコネクトします。
  10. rgbToHsv1 から hsvToRgb1 へ MMB ドラッグし、 表示された Connection Editor で OutHsvH と InHsvR、 OutHsvS と InHsvG をコネクトします。

  11. Render View を表示し、IPR の設定をします。
  12. 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 は削除しておきます)

  1. rgbToHsv1 の outHsvH と setRange1 の valueX をコネクト
  2. setRange1 の outValueX と animCurveUU の input をコネクト
  3. animCurveUU の output を setRange2 の valueX にコネクト
  4. setRange2 の outValueX を hsvToRgb1 の inHsvR にコネクト
  5. setRange1 と setRange2 のアトリビュートを変更

  6. Graph Editor を表示

その他の方法

Hypershade の Color Utilities には、 Remap Color と Remap Hsv という Utility があります。 色を変更するにはこちらの方がお手軽です。 ただし、アニメーションカーブほど自由はききません。

参考



Home | Contents
Mail