スポンサーサイト

Category : スポンサー広告
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

NVIDIA Irayレンダラー その3:Iray Uberシェーダーの基本プロパティ

Category : Iray Renderer
NVIDIA Irayレンダラーの連載今回はライトをお休みして、いったんマテリアルについてご紹介します。
最初の記事でも書きましたが、Irayレンダラーの高度な機能を使うためには今のところ「Iray Uberシェーダー(Iray Uber Shader)」を用いる必要があります。
シェーダーというものは、同じパラメータでもシーンのライティングによって効果がわかりにくかったり、そのさじ加減が微妙だったりで、すんなりと理解するのはなかなか困難です。ましてや正式リリースされていないものなので、どういう形の記事にすればいいのかさんざん迷いました。

今回はとにかくあるものを使おうということで、あらかじめ用意されているシェーダープリセットのパラメータとレンダリング結果から学習していきます。そして反射や透明、屈折などの基本的なプロパティがどこにあるのかをご紹介します。

※一部のパラメータが間違っていたのを修正しました。(2015.3.31)

Iray03 SS



■Iray Uberシェーダーの適用

NVIDIA Irayレンダラーに適したシェーダーとして用意された「Iray Uberシェーダー」を適用する手順は次の通りです。
※Iray Uberシェーダーとそのプリセットはベータ版では「Public Beta Iray Support Content」に含まれます。

 (1)適用先のオブジェクトをSceneタブまたはビューポートで選択します。
 (2)Surfacesタブでシェーダーを適用したいマテリアルグループを選択します。
 ※サーフェイス選択ツールを使用すれば、ビューポート上で(1)(2)の両方の選択をすることができます。
 (3)SurfacesタブのPresetsページでShaders>Irayカテゴリ、あるいはContent LibraryタブでDAZ Studio Formats>>Shader Presets>Iray Uber Defaultsを開きます。
 (4)初期状態のシェーダーを適用したい場合は「!Iray Uber Base」を、ガラスや金属などの設定済みのシェーダーを適用したい場合は、その他のシェーダープリセットをダブルクリックして適用します。

Iray03 シェーダープリセット

適用前から張られていたテクスチャや、反射透明などのパラメータはある程度引き継がれますので、そこからIrayレンダラー向けのマテリアル設定を詰めていくことができます。


■プリセットに使われているプロパティ

Iray Uberシェーダーは3Delightレンダラー用のシェーダーと比べると、プロパティ名からして別物でとっつきにくそうです。
幸いガラスや金属など汎用的に使える素材プリセットが用意されていますので、それらのパラメータからシェーダーを勉強してみましょう。

用意されたシェーダープリセットのうち、いくつかを球体に適用してレンダリングしてみたのが次の画像です。
ライティングはサンスカイライトを使いました。
DiamondGlass Solid - ClearGlass - Solid - Frosted - Light greenWater
JadeMetal - GoldMetal - Aluminum - Polished - CoatedMetal - Aluminum - Brushed
Car Paint - ChameleonCar Paint - Red - Small FlakesWaxSkin
Plastic - GlossyRubber - MatteLeatherFabric - Velvet- Red

※SkinはGenesis2用のマテリアルプリセットの肌グループを抽出したものです。

 <Photorealモード>
Iray03 Irayレンダリング 球体郡 汎用素材 Photorealモード

 <Interactiveモード>
Iray03 Irayレンダリング 球体郡 汎用素材 Interactiveモード
※Photorealモードと同じくらいのレンダリング時間で止めた状態です。

まず問題点としてInteractiveモードでは正常にレンダリングされなかったものがあります。調べたところボリュームを設定しているサーフェイスの場合Glossy Roughness、Refraction Index、Refraction Weightの数値の関係で、穴が開いたみたいに変な描画になることがあります。
また、Photorealモードではガラス素材などにコースティクスが発生していますが、Interactiveモードではそれは描画されていません。
それらを除けばInteractiveモードでも十分高品質なレンダリングがされています。

Iray Uberシェーダーは多数のレイヤーを持っており、サーフェイスの素材に合わせて、必要なレイヤーをオンにすることが可能になっています。
例えば、「Plastic - Glossy」はDiffuseとGlossyを、
「Glass Solid - Clear」はDiffuseとGlossy(Refraction)とVolumeを、
「Metal - Gold」はDiffuse(Metallicity)とGlossyを、
「Car Paint - Chameleon」はDiffuseとGlossyとMetallic FlakesとTop Coatを、
それぞれ使っています。

また、このシェーダーは3つの構造を1つにしたものになっており、それ(Mixing)を切り替えることで個々のパラメータは同じでも違ったレンダリング結果になります。つまり、それぞれ別のシェーダーととらえることになります(個々のプロパティ名は大部分が共通のものです)。
用意されたプリセットの中では、「Fabric - Velvet - Red」「Fabric - Silk - Blue」「Car Paint - Cranberry」など一部がweightedシェーダーを使っている以外は、ほとんどPBR Metallicity/Roughnessシェーダーを使っています。

以上の2つの要素を意識すれば、目的の素材にするためにどのプロパティを編集すればいいかのイメージが大まかですがつかめてきます。


■プロパティ編集ファーストステップ

ここからは、Surfacesタブに表示される個々のプロパティのうちどれを編集すればどういうレンダリング結果になるのか、基本的なところから見ていきたいと思います。
Iray Uberシェーダーのプロパティのうち、「~weight」という名称のものはその効果をオン/オフするスイッチの役割も果たします。その値を0より高くすることで、さらに調節用プロパティが表示されます。
※今回は全てデフォルト構造の(Base Mixing:)PBR Metallicity/Roughnessシェーダーです。

 1)ディフューズのみ
Iray03 Irayレンダリング 球体 ディフューズのみ
 Base>Diffuseグループ
 Metallicity 0
 Base Color 橙
 Base>Glossyグループ
 Glossy Layered Weight 0

まずはベースカラーだけ設定した橙色の球体からはじめましょう。

 2)光沢追加
Iray03 Irayレンダリング 球体 光沢あり
 Base>Glossyグループ
 Glossy Layered Weight 1

光沢はデフォルトでオンになっていますね。3Delightレンダラーのようにスペキュラとリフレクションの区別はありませんが、光源の反射像も描画されるので心配はいりません。
※わかりやすいように太陽のサイズは24(6倍)にしてあります。

Iray03 Irayレンダリング 球体 プラスチック
 ・プラスチック
 Base>Glossyグループ
 Glossy Roughness 0.32

Glossy Roughnessを高くすると、反射像がぼけます。このあたりがわりと汎用的に使いまわせるパラメータですね。

 3)透明化
Iray03 Irayレンダリング 球体 半透明
 Base>Glossyグループ
 Refraction Weight 1

透明・半透明にするには、まずはこのプロパティを高くします。

Iray03 Irayレンダリング 球体 屈折
 ・ガラス
 Base>Glossyグループ
 Refraction Index 1.55
 Volumeグループ
 Thin Walled Off

光線を屈折させるにはさらにボリュームを設定します。していない状態では屈折率は無視されます。
Photorealモード(Caustic Sampler:On)なのでコースティクスが発生します。

 4)金属光沢
Iray03 Irayレンダリング 球体 金属化
 Base>Diffuseグループ
 Metallicity 1

2)の状態からこうすると、金属的な反射に変化します。

Iray03 Irayレンダリング 球体 ブラッシュ加工
 ・つや消し加工の金属
 Base>Glossyグループ
 Glossy Roughness 0.6

さらにこうすることでより金属に近づきます。値が低いとポリッシュ仕上げ、高いとブラッシュ仕上げになります。

Iray03 Irayレンダリング 球体 メタルフレーク塗装
 ・メタルフレーク
 Metallic Flakesグループ
 Metallic Flakes Weight 0.15
 Metallic Flakes Color 白
 Metallic Flakes Roughness 0.14
 Metallic Flakes Size 0.15
 Metallic Flakes Strength 0.7

車のメタルフレーク塗装のように細かな金属片がちらばった層を追加します。

Iray03 Irayレンダリング 球体 トップコート
 ・トップコート
 Top Coatグループ
 Top Coat Weight 0.8
 Top Coat Layering Mode Fresnel
 Top Coat Anisotropy 1

トップコート(上塗り)を追加します。ニスなどのうわぐすりを塗ったような効果が得られます。トップコートはモードをReflectivity/Weighted/Fresnel/Custom Curveから選ぶことができます。
カーペイントプリセットは金属光沢・メタルフレーク・トップコートの三点セットです。

 5)鏡面反射
Iray03 Irayレンダリング 球体 100%鏡面
 Base>Diffuseグループ
 Metallicity 1
 Base Color 白
 Base>Glossyグループ
 Glossy Layered Weight 1
 Glossy Reflectivity 1

2)の状態からこうすると、100%反射する鏡になります。

今回は私も調べ始めたばかりなので基本的なプロパティしかご紹介できませんでしたが、他にもサブサーフェイス・スキャタリング(SSS)も含めた透過(Transmission)、異方性反射(Glossy Anisotropy)、後方散乱(Backscattering)、発光(Emission)といったものもあります。特にDAZ Studioなら外せないスキンシェーダーとしての機能など、まだまだ奥の深いシェーダーです。


Comment

No title

volumeのSSS と、diffuse のtransmission について、時間を見つけては各オプションごとに切り分けていろいろ調べてたんですが、どうも、むやみにパラメーターを付け足しすぎてる気がします。

独自仕様を付け足すのは良いのですが、シェーダーを組んだ人しかわからないぐらい、どのように各パラメーターが計算されるのかが明確に記述されていないので、ベンダーさんもそれぞれのパラメーターの値をいじっては、本当は明確な計算がないまま、SSSを出そうとして、既存のテクスチャと混ぜ合わせてるだけにしか思えません。

本来分けているほうが使いやすいであろう、diffuseのtransmission (iray の diffuse translucency BSDF)のパラメーターと、volumeのSSSを連動させるし、chomaticモードで、各色成分のSSSにおける拡散率を分けるのは良いのですが、
それがmono (モノクロモード)のSSSウェイトをそのまま、3色成分に分けた仕様になってます。ウェイト値は、本来、SSSシェーダーと、ベースのシェーダーを組み合わせるウェイトであって、SSSにおける拡散率、(SSS scale)ではないのに、それを使ってRGB成分に分けたりと、ちょっと理解できない仕様の気がします。

gonzouさんコメントありがとうございます。
確かにIray Uberシェーダーはどんどんパラメーターが増えていって、複雑なシェーダーになっていますね。
私は今のところベンダーさんの設定を参考に調整するぐらいしかしておらず、gonzouさんに助言できなくて残念に思います。
SSSについて本格的に勉強したいなと思っているのですが、物体を透過した光からこの色が吸収されてその色になって……とか苦手です。

No title

kotozone様、変なコメントをして申し訳ないです。 私がいつも愛用している、dazのblenderへのインポートプラグインで、daz のiray マテリアルのコンバーㇳを改良しようとしてたのですが、SSSでつまずいてしまい独学でのDAZの文献漁りに限界を感じ、苦し紛れに書きこんでしまいました。間違った認識があったので書いた後反省してましたが、こちらをみておられて今後irayのSSSに興味を持った方のために、MDLのフォーラムで私が質問したところ、かなり丁寧に教えていただけたので、jordanさんの解答のリンクをのせておきます。 

私の英語の質問は無視していただいて、jordanさんの解答を見るだけでも、参考になればと思います。 読みながらshader mixerで真似るだけでも以前よりは少し理解が深まりました。
irayも日本語のフォーラムがあればいいのですが、まぁ、こればかりは仕方ないですね。

https://forum.nvidia-arc.com/showthread.php?16489-Question-About-anisotropic_vdf-and-quot-Material-volume-quot

まだ、DAZの追加したオプションでわからないところがあり、MDLのハンドブック見ながら、アプリケーションフォルダにあるuber iray shaderのMDLを解読しているところです。 base colorの3つのオプション(transmit colorに影響する、しない、ウェイトを使う)が、どのように計算されているのかでまだ苦戦してますが、地道にやるしかないですね。

gonzouさんコメントありがとうございます。
気になさらないでください。経過の報告もしていただいて、うれしく思います。
リンク先でのjordanさんの解説やスキンマテリアルのスレッドなど非常に興味深く、読ませていただきました。
非公開コメント

著書
カレンダー
06 | 2018/07 | 08
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
検索フォーム
プロフィール

Kotozone

Author:Kotozone
製品の取扱説明書を読むのが大好きです

FC2ブックマーク
最新記事
カテゴリ
タグリスト

DSプラグイン V4 ライト マテリアル DSシェーダ DS基本 セール Genesis IBL アニメーション タブ解説 iray LuxRender ダイナミッククロス スクリプト Genesis2 ShaderMixer セットアップ バージョンアップ Download レタッチ カスタマイズ トゥーン SSS Photoshop ウェイトマップ NGM ファー 物理シミュレーション ERC D-Form Miki2 IDL 大気 M4 カラーコレクション ボリューム Hexagon Terrain パーティクル Genesis3 モーフセット Genesis8 V5 カメラ アナグリフ インスタンス GIMP 3Dプリント ロボット RAMDisk SLG ダイナミックヘア K4 V8 Python モーションキャプチャ Linux 日本語訳 

最新コメント
リンク
月別アーカイブ
ご意見ご感想はこちらに

名前:
メール: 
件名:
本文: 

ブロとも申請フォーム

この人とブロともになる

最新トラックバック
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。