今回は、『mentalrayVertexColors』ノードについてやってみようと思います。
このノードは、ひとことで言うと、mentalrayで頂点カラーをレンダリングできるようにするノードです。
コネクトや作業手順等々、いろいろ面倒なノードのひとつだと思います。
アトリビュートも”cpvSets”ひとつしかないので、Mentalrayで頂点カラーをレンダリングするまでの手順をやっていこうと思います。
(ちなみにSoftWareレンダーの方は知りません)
Mayaは2012の英語版を使用しています(日本語ユーザーの方ごめんなさい)
↓のような平面に頂点カラーを適応して、それをmentalrayでレンダリングするまでをStep By Stepで。
①:まずは、こんな感じに頂点カラーを適応した平面を用意しました。
これテクスチャっぽいですが、頂点カラーです。(マテリアルはただのLambert)
手で何か描いても良かったのですが、見栄えを考えてTextureから頂点カラーにベイクしました。
[Rendering]->[Lighting/Shading]->[Batch Bake(mental ray)]を使うことで、Textureから頂点カラーへのベイクが行えます。
ColorSetも勝手に作ってくれるので便利です。
頂点カラーが見えない場合は、[Polygons]->[Color]->[Toggle Display Colors Attribute]で通常表示と頂点カラー表示を切り替えることができるので、試してみると良いかもしれません。
さて、これをmentalrayでレンダリングすると、ただの平面がレンダリングされます。
ここから『mentalrayVertexColors』ノードを使って、頂点カラーをレンダリングできるようにしてみます。
①Hypershadeをひらいて、mentalrayVertexColorsを一つ作ります。
②Shader(ここではLambert)の”color”とmentalrayVertexColorsの”outColor”をコネクトします。
(mentalrayVertexColorsノードをカラーのとこにドラッグしてもコネクトできます)
③mentalrayVertexColorsノードのAttributeの”cpvSets”にある「Add New Item」ボタンを押してスロットをひとつ作ります。
こっからちょっと面倒。
④頂点カラーをレンダリングしたいオブジェクトのShapeノードと、mentalrayVertexColorsノードをコネクトします。。
繋ぐのは
Shapeノードの”ColorSer[#].colorName”と、”mentalrayVertexColorsノードのcpvSets[#]”
(※#は作成したColorSetや、cpvSetsの個数でナンバリングされます。)
(下の例だと、一度テクスチャから頂点カラーへのベイク時に失敗して、作られてしまったColorSetが一つ余分にあります。なのでColorSet[0]とColorSet[1]があるわけです。消しておけばよかったかな)
?シェーディングネットワークは下のようになります。
はい、頂点カラーをレンダリングできました。
と、手順としては以上です。
上記の手順の中では、ShapeノードとmentalrayVertexColorsノードをコネクトするあたりが面倒な部分ですね。一つや二つなら良いのですが、数が多くなるとスクリプトなりで自動化しないと大変です。
ここの例では頂点カラーを直接レンダリングしましたが、頂点カラー情報を何かしらの形でMentalrayで使用する場合はこのノードを使用することになると思います。
たとえば、頂点カラーをマスクに使いたいとか。
トータルで見て決して使用頻度が高いノードではないと(個人的には)思うのですが、知ってて損はない損はないノードだと思います。
Mayaは2012の英語版を使用しています。
最新のバージョンとは異なる可能性がありますのであしからず。
以上、ではでは。
コメント