Aronld 5 ユーティリティ シェーダーを使ってみる

どうも! Maya太郎です。

やってみたいことがあって、それについて調べている過程で見つけましたこの機能。

以前の記事でRenderManについて紹介した中でも
「インテグレーター」という機能があり、とても似ている使い方が出来たのを思い出しました。
Maya版「非」商用フリーRenderManに挑戦⑥ インテグレーターって何?

最近のレンダラーにはこういう機能は当たり前のようについてるのでしょうか?

 


使い方

RenderManのインテグレーターの場合、レンダラー自体を通常レンダラーから
インテグレーターに切り替えるので、シーンに操作の必要はありませんでした。

ユーティリティ シェーダーは、シェーダーですので
シーン内のオブジェクトに割り当てる必要があります。

たとえばこのシーン(毎度の過去作例です)

オブジェクトをすべて選択し「aiUtility」を割り当てます
レンダーレイヤーで新規レイヤーを作って
ユーティリティ シェーダー専用の
シーンを作ってもいいかもしれません。

ユーティリティ シェーダーのビューポート表示は地味です。

このシェーダーのマテリアル設定もシンプルです…が実は多彩です。

 

ShadeModeで表面のシェーディングのタイプを選べます。

たとえばアンビエントオクルージョンの様なモードにも出来ます
しかし、分析用にこのシェーダーを使うのであれば、通常は「Flat」で使うのがセオリーかと思われます。

 

このシェーダーの本領を発揮するのが
「Color Mode」です。
ちなみにShade Modeは今後Flatで固定しておきます。

カラーモードは沢山のモードが切り替えられるようになっています。

normalでレンダリングすると、法線表示(画面空間かな?)になります。

Uniform IDはすべてのフェースが異なった色に振り分けられるようです。

分かりやすいですね、ワイヤーフレームレンダリングです。

こちらはエッジ長の可視化のようです。この例ではイマイチよくわかりませんが…

Flat表示以外にすると、どうやら角ばったエッジ部分が青く、
曲面エッジが緑になってるようです。

 

こちらは曲面評価に使うような、ゼブラパターンの反射模様っぽいですね…

個人的によく使いそうなのが
オブジェクトやオブジェクトIDごとに異なるカラーを割り当てるこの機能でしょう。
合成時にオブジェクトを色域選択するのにも役立ちそうです。

例えば、オブジェクトモードだとシェイプの名前によって色を割り当てるようです。
(どういう規則で色指定してるのかは謎ですが…)

とても面白く楽しいです。
このままアニメーションレンダリングもできるので、
風変わりな質感での作品も作れますね!

 

 


物足りない部分も

いろんなモードを
皆さん試していただきたいのですが、
個人的に気になった点が一つ、
「オブジェクト」「オブジェクトID」モードでは
「結合」されワンオブジェクト化したものは
その部品単位で色分けする機能がありません。

UVのシェル単位で色分けしてくれたり
サブディビジョンの適用部分を視覚化したり
ポリゴンの不正部分などを視覚化したり
テクスチャーの引き延ばし割合(解像度不足など)を視覚化したり
シーン情報の視覚化してほしい要素は沢山あります。

ということで
もっとモードが増えてほしいと思います。