HSV Color Control

image091004_01

TouchDesignerでカラーコントロールをセンサーなどで動的にコントロールする場合、RGBでコントロールすると、なかなか思ったような変化をしてくれない場合があります。HSVパラメータでのコントロールなら、直感的に動的カラーコントロールが可能です。このサンプルファイルではTiming CHOPのパルスでランダムにカラーをHSVコントロールしています。

image091004_02

TouchDesignerのパラメータの殆どがRGBコントロールになっています。今回はカラーをコントロールする部分はHSVで、その結果をRGBに変換するという流れを組み立てました。HSVでコントロールするのは、HSV Adjust TOPというTOPオペレータがあります。このオペレータのHue Offset、Saturation Multiplier、Value Multiplierの3つのパラメータで色相、明度、彩度をコントロールする事ができます。

image091004_03

ランダムの数値を発生する仕組みは、Noise CHOPとMath CHOPを組み合わせています。色相は0~360、明度と彩度は0〜1のレンジでカラーコントロールされているので、Math CHOPでレンジを調整しています。このサンプルでは明度、彩度があまり低くならないようにレンジを狭めています。ノイズは3つのパラメータが同期しないように、Noise CHOPのSeedパラメータを個別に設定しています。

image091004_04

Lookup CHOPで調整したノイズチャンネルをテーブルとして、Count CHOPからの入力で1フレームづつシフトさせることで、ランダムなHSVコントロール値を発生させています。サンプルではCount CHOPの入力にTiming CHOPが繋がれていますが、センサーからの値やOSC経由でデバイスや他のツールからの値を参照するなど、入力される数値によって、Count CHOPのパラメータを調整する事で対応することが出来ます。

image091004_05

HSV Adjust CHOPで動的に変化するカラー情報は、TOP、つまり画像データとして扱われています。イメージデータとして扱う場合はそのままで良いのですが、パーティクルやジオメトリなどで参照する場合は数値化する必要があります。これは、TOP to CHOP CHOPで数値化したいTOPを指定する事で画像のカラー情報を数値化してくれます。今回はベタの画像を参照しているので、参照範囲などパラメータはデフォルトのままです。このオペレータによって得られる数値は指定された範囲のRGBAの値になります。

Download Touch File