それでは前回に引き続き、『writeToColorBuffer』についてやっていきたいと思います。
今回は主にAttributeについて調べていきます。
ですが、そのまえに”writeToColorBuffer”ノードのデータの流れというものを見ていきたいと思います。
データの流れるルートは2つ、Evaluation(評価部分)と、Data(パス出力部分)に分かれます。
Evaluation(評価部)にデータが評価されると、colorで設定した情報がrenderPassに書き込まれるというイメージでしょうか。
評価のモード(Evalutation Mode)には[Pass Throught Only]と[Always]の2種類あり。評価データがwriteToColorBufferノードから次のノードに受け渡されるかどうかで使い分けます。
(ちなみに下の図はAREAの解説のパクリですw)
とにかくEvaluation(評価部)をデータが通過するなり、データを受け取るなりした時、それがトリガーになってPassに書き込みが行われるということですね。
(evalPassThroughに何もコネクトしなくてもAlwayモード時はPassに書き込まれるようですが・・・)
Frame Buffer Options
Custom Color Pass
リストから出力したいPassを選択します。選択したPassとリンクします。
ここにはRenderSettingsで追加可能なPassのうちTypeが”Custom Color”のものがリストに表示されます。
“Custom Color”Passを作って無ければしかありません。
Write Operation
一つのPassに複数の出力があった場合、それらをどのように重ねるか。
選択可能なのは次の4種類。デフォルトはAdd。
[No Operation] / [Add] / ?[Multiply] / [Overwrite]
特にAddから変更することはないと思います。
(この項目については次回、Evaluation Modeとからめて少しだけ詳しくやりたいと思います)
Scale Factor
InputのColorやAlphaに適応される乗数。(Inputのカテゴリんとこに配置してほしいな)
前回作ったPassで確認してみます。
Evaluation Trigger
Evalutation Mode
どのタイミングでPassに書き込むか。プログラムのIf文に似てるかもしれません。
[Always] / [Pass Throught Only] / [Disabled]から選択。
コネクションの組み方によって[Always] / [Pass Throught Only]?を選択する必要があります。
“writeToColorBuffer”ノードが、シェーディングネットワークの間にくる場合は[Pass Throught Only]。
シェーディングネットワークの端点に来る場合は[Always]といった感じでしょうか。
[Disabled]はその名の通り、Passに書き込みません。
(ただ、使っていて妙に釈然としない挙動の場合があったりして・・・。あと一歩理解が足りてない気もしてたりします。もれがあれば皆様どしどしご指摘を!)
Evaluation Pass Through
評価されるマテリアルなりテクスチャなりをここに繋ぎます。
Input
Color
Custom Color Passに出力されるカラー
Alpha
Custom Color Pass?に出力されるAlpha
言葉ばかりで絵が少ないうえ、いろいろ先送りにしましたがひとまず今回はここでお開き。
Mayaは2012の英語版を使用しています。
最新のバージョンとは異なる可能性がありますのであしからず。
コメント