Python Random Color Generator

以前からの懸案事項の一つに色の管理があります。
各アプリケーション間で受け渡しする方法に以前からASEファイル(Adobe Swatch Exchange)を使えないか?
というアイディアがあり,この度どんな場合にASEを共有できると楽になるかということを整理して
Pythonでaseを出力するスクリプトを書いてみました。

画面の設計作業でCGでレンダリングした画像をパーツごとに
AE上でマットをつかって分けるということを想定してみました。
ちなみにこれはほぼ必須で作業発生しています。
ただしパーツごとにできれば良いので色に特別な制限や指定はなく
ランダムな色の組み合わせでASEを出力するということですみます。願ったりの一番簡単な条件です。

つまりモデルで使用されているマテリアル数分の単色の仮色マテリアルを用意して、
それ用のシーン(テイク)を作ってマット用マテリアルをアサインしていくんですが、、、、
まずランダムに色を作るのがめんどくさい。
そしてレンダリング後に意味を持たない自作のランダム色を
AE上でチクチク拾う(たとえ自動化したとしても)というのがこの上ない無駄感がある。
先述のマインドの問題にかぎらず、同一の色情報をファイルから共有できるというのは
チクチク拾う作業でヒューマンエラーをおこさないという点から安心感があってよいです。
また、過去データをプリセットに残して再使用すればいいじゃないかというご指摘もあるかとはおもいます。
もちろん今までにも一部そんな感じで運用してきたんですが、コンポの場合も同様のプリセット運用をすることもあり
不可抗力で内部のエクスプレッションなどで予期せぬエラーに見舞われ、
原因究明に時間をとられることもしばしばあったため、鮮度の高いデータを使用する方が良いと感じています。

ちなみにASEをC4D上にマテリアル化するにはCV-Swimというプラグインで一括で作成できます。
このプラグインを使わなくてもカラーパレット?カラーブラウザ?プリセットライブラリ?からスウォッチを読み込み
マテリアルブラウザにD&Dすることでマテリアルはできます。
ただし、それだと”発光”には色が反映されていないのでマットに使用する場合は二手間かかることになります。
一方プラグインを使用した場合は全マテリアルを選択して”発光”をオンにすればすぐに使用できます。

それとは別にC4Dでいうとオブジェクトに分かれているのであれば、コンポジットタグをつかうことで特に問題なく
マットをわけることもできるのですが選択範囲にマテリアルを割り当ててる場合
(オブジェクトを結合してる場合など)は
オブジェクトとして一体になっているのでその手法で細かいマット分けはできません。



コメントを書く