2011年12月20日火曜日

カラーのリニア化スクリプト

こんばんは、柳村です。

先日の、ディフューズカラーのリニア化スクリプトをバージョンアップしました。
と言うのも・・・前スクリプトでは、作業前に初期設定の表示ガンマと最終カラー出力のガンマを
同じ値にしておく必要があり、新規シーンはともかく、既存シーンの再編集で
よく、私が”うっかり八兵衛”して、初期設定の表示ガンマの設定を忘れて、スクリプトを走らせて
大変なことになるので、バージョンアップしました。

今までのワークフローでは、最終カラー出力のガンマ値を変更してから、スクリプトを実行していましたが、
このスクリプトのワークフローはスクリプトを先に実行します。
スクリプトを実行すると、ターゲットのガンマ値を聞いてきますので、ガンマ値を設定してOKを押すだけです。
そうすると、最終カラー出力と初期設定の表示ガンマが、指定したガンマ値に差し替えられて、
マテリアルのカラーのリニア化も行われます。

このような仕様にした理由は、前スクリプトは初期設定の表示ガンマと最終出力カラーのガンマ値の差から
リニア化を計算する仕組みだったために、うっかり八兵衛で問題が起こっていたのですが、
このバージョンは最終カラー出力のガンマ値と、新たに設定するガンマ値の差から、計算する仕組みですので
うっかり八兵衛でも、それほど大きな問題になりません。

それから、今回はマテリアルのすべてのカラーがリニア化されるようにしました。

ですが、ひとつだけ注意があります。
反射量が”0”以外の数値を設定していて、かつ、スペキュラーと一致が有効だと、エラーが出ます。
データ上の問題は無いのですが、スクリプトとmodoの性質上、非アクティブな項目は値の変更ができいないためです。

スクリプトの登録は今までどおり、最終カラー出力のガンマの下に登録してご使用ください。
(他の場所や直接コマンドで実行しても、エラーになります。)

ご興味のある方は、ぜひどうぞ!

↓スクリプトファイル
Linear_Color_2.pl

0 件のコメント:

コメントを投稿