FC2ブログ

UberHair Shader Upgrade for UberSurface:髪プリセットと拡張シェーダ

Category : Human Surface Shader
今回紹介する『UberHair Shader Upgrade for UberSurface』(UberHair)は、DAZ Studio 3 Advanced(DS3A)に付属の『UberSurface』シェーダを拡張するものです。これを使うと、主にIBLシステム『UberEnvironment2』(UE2)でレンダリングした時にレンダリング時間を短縮するためのパラメータが加わります。また、それとは別にフィギュアの髪に適用してリアリティを増すための3つのシェーダプリセットが付属しています。

『UberHair』の製作者によるWikiマニュアルはコチラにあります。
※この製品はDAZ Studio 3 Advanced上でのみ使えるシェーダです。

※DS3Aのバージョンが進む過程でUberHairシェーダーはUberSurfaceシェーダーに統合されてしまったようで、記事でご紹介しているようなシェーダーパラメータがUberSurfaceシェーダーに備わるようになりました。そのため、この製品は髪に最適化したシェーダープリセット(と専用バンプマップ)の役目を持つのみとなりました。

UberHair SS

■ヘアシェーダプリセット

まずは見た目から分かりやすい、フィギュアの髪に使うシェーダプリセットを見ていきましょう。
もともと『UberSurface』シェーダには、この記事でご紹介したように、髪のマテリアルとして最適なパラメータがあります。いわゆる「Anisotropic Specular(異方性スペキュラ)」といわれる、円状ではなく帯状に広がるスペキュラです。
それを使って髪に最適なように調整した『UberHair(UberSurface)』シェーダが、これらのヘアシェーダプリセットなのです。

とにかく使ってみましょう。
プリセットはインストールしたDSランタイムの shaders > UberHair にあります。
UberHair Contentタブ
5つのアイコンがありますが、後ろの3つの「!UberHair Upgrade ~」がそれです。
「!UberHair Base」はUberHairシェーダをサーフェイスに適用するもの(プリセットはこれを適用した後でなくて大丈夫です)で、「!UberHair Help」は上で紹介したWikiがインターネットブラウザで開かれます。

適用方法を説明しますと、まずSceneタブで髪オブジェクトを選択し、さらにSurfacesタブで髪のすべてのサーフェイスを選択します(リストの髪オブジェクト名をクリックするだけでOKです)。
そしてContentタブのヘアシェーダプリセットのどれかをダブルクリックするだけです。
『Radiant Jaguar Hair』に使ってレンダリングしてみた例が下の画像です。
UberHair ヘアシェーダプリセット
※Bump Strengthを20%に下げています。

使ってみた注意点を書きますと…
 ・テクスチャにハイライトが強く描き込まれた髪には使用してもいい結果が出ない。
 ・バンプマップが設定されてないサーフェイスには汎用的な高解像度バンプマップ「omUberHair_Bump.jpg」が適用される。
 ・ただ、バンプマップの強度(Bump Strength)が高すぎるので20%ぐらいに落とすのがよさそう。
 ・たまにバンプマップの設定し忘れ(?)のサーフェイスがあるので、他と同じように「omUberHair_Bump.jpg」を適用してやる必要がある。
 ・すでにバンプマップが設定されていたサーフェイスの場合は、それ(Bump Active)がOffになってしまうので、Onにして強度を調整するか、上のように「omUberHair_Bump.jpg」に差し替えてやる。
 ・勝手にバンプマップが差し換わっていることもある。
 ・スペキュラのAnisotropic DirectionはU方向固定なので、サーフェイスによってはV方向へ変えなければならない。

バンプマップの強度が強すぎるサーフェイスはレンダリングするとこんな感じにハイライトがはっきりしないノイズっぽい結果になってしまいます。強度を落とすのはほぼ必須ですね。
UberHair Bump強すぎるレンダリング



■omUberHairシェーダ

ヘアシェーダプリセットはあくまでプリセットなので、自分でSurafcesタブをいじれる人なら『UberSurface』で同じことが出来ます。ダブルクリックで即いい感じになるのは便利ですけどね。
ここから紹介するのは、この『UberHair』で拡張されるシェーダパラメータで、『UberSurface』には無いものです。
サーフェイスに「!UberHair Base」または「!UberHair Upgrade ~」を適用すると、omUberHairシェーダのパラメータに切り替わります。『UberSurface』と比べると以下のパラメータが加わります。
UberHair Surfacesタブ 追加パラメータ

・Fantomこれは『UberSurface』にもありました。サーフェイスを透明にして影(AO含む)のみを発生させます。
・Raytraceこれは『UberSurface』にもありましたが、ちょっと内容が違うようです。Offにするとレイトレースから隠す…とありますが、差が出ません。IDLの影響を受けないのか?と実験してみましたが違うようです。
・Accept Shadowsこれも『UberSurface』にありました。そのサーフェイスに影(AO含む)が落ちなくなります。
・OcclusionOffにするとそのサーフェイスからAmbient Occlusion(AO)を発生させなくなります。
・Occlusion Shading Rate ModeOcclusion Onの時に有効です。GlobalでUE2の設定そのまま、OverrideでそのサーフェイスのみのShading Rateを設定できます。
・Occlusion Shading RateOcclusion Onでさらに、Occlusion Shading Rate ModeがOverrideの時に有効です。この値が高いほどAOの計算が荒くなるので、レンダリング時間を短縮することが出来ます。

Occlusionより下のパラメータはUE2を使っている場合にのみ効果が出ます。


■レンダリング比較

ここではUberHairのパラメータの効果をレンダリング結果とともに見ていきます。
今回は顔のアップのシーンにしました。フィギュアの肌には『Elite Human Surface Shader』が適用されていますが、今回はほぼ関係ありません。ライトはUE2によるIBL(Occlusion w/Directional Shadowモード)と、補助のDistant Lightが4灯(Deep Shadow Mapによる影付き)使ってあります。髪はPoser用のマテリアルしかなく、スペキュラもバンプも設定されていないものです。レンダリングサイズは800*600pixelsです。

そのままレンダリングするとこのようになります。髪によるAOを描くのにかなり時間がかかります。
UberHair Selene デフォルトシェーダ
・DAZ Studio Default Shader
レンダリング時間 19分56秒


UberHair Selene UberHairシェーダ オールON
・omUberHair Shader
 Raytrace On Occlusion On Occlusion Shading Rate 32(Global)
レンダリング時間 31分41秒

「!UberHair Upgrade Silky」を髪に適用しました。髪がシーンに占める面積が大きいのと、シェーダ処理のためにさらに時間が延びます。

・omUberHair Shader
 Raytrace Off Occlusion On Occlusion Shading Rate 32(Global)
レンダリング時間 31分52秒

RaytraceをOffにしてみましたが、レンダリング結果にもレンダリング時間にも差は見られません(画像は同じなので掲載しません)。

UberHair Selene UberHairシェーダ OcclusionOFF
・omUberHair Shader
 Raytrace On Occlusion Off Occlusion Shading Rate 32(Global)
レンダリング時間 6分25秒

OcclusionをOffにしました。髪のAOを描かなくなり、Distant LightによるDeep Shadow Mapの影だけになります。レンダリング時間は大幅に短縮されますが、額の辺りがちょっと明るすぎる気もします。

UberHair Selene UberHairシェーダ Override SR64
・omUberHair Shader
 Raytrace On Occlusion On Occlusion Shading Rate 64(Override)
レンダリング時間 27分53秒

髪のサーフェイスのOcclusion Shading Rate ModeをOverrideに変更して、Occlusion Shading Rateを高くしました。

UberHair Selene UberHairシェーダ Override SR128
・omUberHair Shader
 Raytrace On Occlusion On Occlusion Shading Rate 128(Override)
レンダリング時間 25分53秒

さらに高くしました。

追加されたパラメータの効果は明らかに出ていることが分かります。それにレンダリング結果にも大きな差異は見られないので、UE2を使う時に髪(などの半透明サーフェイス)でレンダリング時間が増えるのは困るけど、AOによる影が無いのも困る…という場合に助けになってくれることは間違いないですね。

もう一つ、気になったので検証してみました。それは、UberHairを適用しつつ、しかしパラメータをDAZ Defaultシェーダと同じにして(スペキュラやバンプを消す)、AOだけOverrideモードでOcclusion Shading Rateを128に上げた状態です。
UberHair Selene UberHairシェーダ SR128のみ
・omUberHair Shader(no preset)
 Raytrace On Occlusion On Occlusion Shading Rate 128(Override)
レンダリング時間 14分44秒

予想通り1枚目のDAZ Defaultシェーダのレンダリング時間より短縮できています。それにレンダリング結果も遜色無いようです。

最後にUberHairのパラメータを調整したものをレンダリングして終わりにします。Diffuse Strengthを少し下げ、Primary Specular(きついハイライト)を少しだけ弱くして、Secondary Specular(ぼんやりしたハイライト)を半分ぐらいに弱くしました。
UberHair Selene UberHairシェーダ 調整後
Character:Heavenly Bodies : Virgo
Skin:V4 Elite Texture Lana
Hair:Selene Hair
Eye:MH Rain for V4 , EyeLights for Victoria 4
Shader:Elite Human Surface Shader , UberEnvironment2 , UberHair Shader Upgrade for UberSurface



今回のツールと画像の素材はこちら

UberHair Shader Upgrade for UberSurface

Heavenly Bodies

V4 Elite Texture: Lana

Elite EyeLights

AD Selene Hair
Selene Hair
AD MH Rain for V4
MH Rain for V4




Comment

非公開コメント

著書
カレンダー
09 | 2019/10 | 11
- - 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カウンター