Maya2017 Arnoldレンダラーで頂点カラーをレンダリングする

どうも!Maya太郎です。
前回ボクセル化した恐竜モデルのカラー情報が頂点カラーに焼きこまれていたので
そのままではArnoldレンダラーで色情報をレンダリングできませんでした。

ということで、今回はArnold頂点カラーのレンダリングする方法を紹介します。
Arnold for Maya ユーザ ガイド』 の中に、それらしい記述があったので
それを基に試行錯誤しました。
%e5%8f%82%e7%85%a7
上記のガイドでの記述とは少し違いますが、自分なりのやり方でうまくいったので紹介します。
(操作が正しいかの保証はいたしかねます)

 

■頂点カラーって?何?■

本題に入ろうと思ったのですが、そもそも頂点カラーに関してご存じない方もいるような気がしましたので、
そこから説明した方がいいかな??
でも、一から説明すると長くなるので簡単な作業例を…

4-1

[モデリング][メッシュ表示]→[頂点カラーペイントツール]を使えば簡単にポリゴンの頂点に着色できます。4-2

典型的なペイントツールが現れるので、簡単にペイントができます。
4-3

ここで着色されているのは、テクスチャではなくポリゴンの頂点データに直接色情報が付加されています。
ゲームなどのリアルタイムCGで照明データを頂点カラーに焼きこむといった方法がよく使われているのですが(今回割愛)、透明度も扱えるので、とても便利です。しかし映像系のレンダリングに使われる例はあまりありません。
4-4

頂点カラーは「カラーセットエディタ」で管理できます。
4-5

カラーセットは何層も作ることができ、Photoshopのレイヤー管理のように切り替えたりブレンドなども可能です。
4-6

このあたりも後日、もう少し掘り下げたいですね、今回は目的が別ですので(急ぎ足…)

今回の作業で必要な頂点カラーの知識はこれぐらいで十分ですので、前回の作例の続きから再開しましょう。


■前回のつづき■

このやり方を調べるのにすごく試行錯誤をしましたが、最短距離を突っ走ります!(説明は簡潔に)
まず、恐竜オブジェクトのアトリビュート内の[Arnold]→[Export Vertex Colors]にチェックを入れます。
5-3

つづいて、ArnoldでレンダリングをするのでArnoldのスタンダードシェーダーを適用します。
頂点カラーの表示が消えてしまいますが、表示されないだけでポリゴンデータ内に情報は残っています。
5-4

恐竜が選択されてる状態で、さきほど説明した「カラーセットエディタ」を開いてみましょう。
5-7

このカラーセット名はあとで利用しますので覚えておいてください
5-8

 

ハイパーシェードを開きます
今回、aiUserDataColorというノードを利用します。
5-5

さきほど適用した恐竜のシェーダー(Arnoldスタンダード)と下図のように接続します。
Out Color→Color
5-6

aiUserDataColorのノードを選択し、アトリビュートエディタ内の「Color Attr Name」
先ほどの頂点カラーのカラーセット名を手入力する必要があります(大文字小文字判定あり)
入力間違いがあるときちんとレンダリングされませんので正確に…
5-9

 

これで無事、Arnoldでレンダリングができました。
5-10

シェーダーの各種パラメータを調整して
自由に応用が可能です。
5-11

 

このやり方が正しいかの保証はありませんが、皆様も頂点カラーをArnoldにご利用いただければと思います。

では今回はここまで…