「LightWave」タグアーカイブ

Subsurface Scattering(サブサーフェイス スキャッタリング)test02

LW標準のSSSはどんな質感になるか、テストしてみました。

テストに使用したモデルは LightWave 9.0 First Look Part1 を参考にしています。

使用ソフト:Lightwave v9 + G2 + FPrime Version 2.1(Worlry Labs)

LW標準のSSSと、G2でのレンダリングの違い。

ライティングは左上からの、平行光です。

Kappa(影なし)Kappa(影なし):マニュアルによると『レイトレースによる影の計算を無効にした状態で、適切に動作するように設計されています』ということです。
LW標準(3.4s)

Kappa(影あり)Kappa(影あり):影ありでやってみました。
LW標準(10.3s)

OmegaOmega:Kappaより設定が細かいですが、レンダリング時間が大きく延びます。Multiple Scattering(Full RayTracing)
LW標準(1m13s)

LW + G2やはり、G2は速いです。
LW + G2(5.1s)

FPrime + G2G2のSSSをFPrimeでレンダリングしてみましたが、陰のぼけ以外、特に違いは無いようです。FPrimeのレンダリングでは、ノードを使用した変位マップが反映されませんでした。表示サブパッチレベルをレンダーサブパッチレベルと同じにすると回避できるようです。FPrime + G2(14.4s)

FPrime + G2Globallluminationでレンダリング。
LW + G2(48s)

FPrime + G2Globalllumination + FPrimeでレンダリングしてみました。陰の部分に違いが出るようです。
FPrime + G2(48s)

FPrime + G2Globalllumination & AreaLight でレンダリング。
LW + G2(1m30s)

FPrime + G2Globalllumination & AreaLight+ FPrimeでレンダリングしてみました。エリアライトを使うと、かなり違いが出るようです。
FPrime + G2(1m30s)

FPrime + G2さらに、時間をかけてレンダリングしてみました。
FPrime + G2(–)

FPrime + G2ふと気付いたので、プレビューでもレンダリングしてみたところ、FPrime Render と FPrime とではレンダリング結果が違います。
FPrime + G2(–)

結論

test01の時もあったのですが、Globalllumination と G2 の組み合わせを FPrimeでレンダリングすると、LWネイティブのレンダラーとの違いが目立つようです。特に、エリアライトを使うと違いが大きく出てきます。FPrime 内でもレンダリング結果が違うので、G2 と AreaLight を使った場合、FPrimeでのレンダリングは気をつけた方が良さそうです。

G2は、LW標準のSSSと比べレンダリング時間が短縮されます。

Subsurface Scattering(サブサーフェイス スキャッタリング)test01

Lightwave v9からSubsurface Scattering(以下SSS)が、実装されましたが(ノード編集:Kappa / Omega)、レンダリングが遅いです。そこで、Worlry Labs のPluginを使いました。

使用ソフト:Lightwave v9 + G2 + FPrime Version 2.1(Worlry Labs)

LW + G2と、 FPrime + G2 でのレンダリングの違いについて。

LW + G2 点光源右側の光が左側に回り込んでいます。

LW + G2 点光源

FPrime + G2 点光源光の回り込みが若干弱くなっています。

FPrime + G2 点光源

LW + G2 エリアライト光の回り込みと、影が強く出ています。

特に影は、半透明のオブジェクトとは思えないほど濃いものになっています。レンダリング時間は1時間ほど。

LW + G2 エリアライト

FPrime + G2 エリアライト光の回り込みがほとんど点光源の時と同じで、影以外はエリアライトにすることでの質感の変化がほぼありません。こちらは30分ほどです。
FPrime + G2 エリアライト

FPrime のみの場合より、LWネイティブとのレンダリング結果に違いが出るようです。FPrime でレンダリングすることを前提とするのか、LWネイティブでレンダリングするのかで、質感を大幅に調整する必要があります。

FPrime のみ と G2 でのレンダリングの違いについて。

FPrime何もしないと、ガラスのような質感です。

FPrime

FPrime + G2G2 でSSSの設定をして、レンダリングしました。
FPrime + G2

G2 を使ったSSSを FPrime でレンダリングした時に、LW でレンダリングする時とまた違った質感になるので、注意が必要です。エリアライト仕様時の質感が大きく違うのは、G2のエリアライトが独自のアルゴリズムを使用しているためで、おそらく仕様でしょう。(G2をそれほど使いこなしていないので、実はどこかに解決策が潜んでいるかもしれません。)

FPrime caustics(コースティクス) test01

FPrime ではコースティクスが反映されません。そこで情報が無いか探していたらこんなブログの記事を見つけました。

FPrimeでcausticsを描画する方法です。
スタンダードのライトを使用せずに、オブジェクトをライトにする。
FPrimeはモンテカルロラジオシティでバウンスを2以上に設定する。
コースティクスを施したいオブジェクトのサーフェイス設定で、反射を0%にし、透明度を少し上げる屈折インデックスを0.01にすることで、透過光は反射光のような振る舞いをします。
引用元:3DCG:LABO

この記事の元が CGTalk – Fprime’s caustics にあるので、そっちも参考にして作ってみました。

FPrime’s causticsHack

Lightwaveでの通常レンダリングLightwave ネイティブでのレンダリング結果。シェーディング設定はこちら

FPrimeでの通常レンダリングコースティクスの効果を出したいのは、左のリングです。透明の球はコースティクスの効果が出ていますが、リングの方はコースティクスの効果がありません。

FPrime Hackでのレンダリング 引用にもあるように、Hackするためにシェーディングを変更します。
元記事の方に詳細があったので、そちらを適用してみました。
Everything 0 / Transparency 100 / Indice of refraction 0.01
Hack後のシェーディングは設定こちら

FPrime Hackでのレンダリング カラーを設定してみました。シェーディングは設定こちら
この Hack を使うことで、FPrime でもコースティクスの効果が出ました。

the indice of refraction, when it is not equal to 1, will “bend” the ray as it goes through a surface… in Lightwave an indice of 0,001 will bend the ray 180°, it just goes back, as if it was a reflected ray !
引用元:CGTalk – Fprime’s caustics

Lightwaveは、Indice of refraction が0.01〜0.001の場合、光線を180°湾曲させて表示するようです。ということであれば、Lightwave ネイティブのレンダラーでも同じような見た目になるはずです。

Lightwaveでのレンダリング ネイティブのレンダリングでも、同じように出来ました。ノイズを除けば、ほとんど同じ画像になります。この画質でレンダリング時間はFPrimeの約2倍です。
シェーディングの設定は、hackと同じ

FPrime’s causticsHack というより、Lightwave IndiceHack と言った方が良いかもしれません。

Lightwave9 Modeler 保存する際の拡張子付け

Layout も Modeler 保存する際に、手動で lws または .lwo と拡張子を付けてやらないと、拡張子なしで保存します。Layout の場合は拡張子なしのファイルも開くのですが、Modeler は拡張子なしだと開きません。手動で .lwoと付けるのも面倒なのです。

そこでファイルダイアログを「VBFileRequester」に変更します。変更の仕方は、 表示オプション→インターフェイス→ファイルダイアログのプルダウンを「VBFileRequester」へ。
これで、拡張子を手動で付けなくても、自動的に拡張後付きで保存されます。

GlobaoIllumination(グローバルイルミネーション) test01

LightWave 9 LayoutMaxwell RenderfryrenderIndigo などの物理法則に基づいた優れたレンダラーがありますが、手持ちのアプリケーションでもキレイな画像が出来ないかと、試行錯誤するテストです。

使用ソフト:Lightwave v9 + FPrime Version 2.1(Worlry Labs)

Lightwave v9 単体でもGlobaoIlluminationのレンダリングは出来ますが、レンダリング中の%表示が無く、動いてるんだか、止まってるんだか、どこまで進んでるのか不明って言うのが、不便です。さらにWorlry Labs のPlugin、FPrimeに比べてレンダリング速度が遅いです。

レンダリング速度と画像の比較。(モンテカルロ)

画像のように、GlobaoIlluminationのレンダリングに関しては、FPrimeがアンチエイリアシングもかかり速くてキレイです。

ということで、ここではFPrimeを使って、試行錯誤していこうと思います。

MC Bounce(Monte Carlo Bounce) と Intensity について。

Sample画像 もとになったサンプル画像です。そのまま置くと二次利用ができてしまうため、加工しています。(画像は「素材辞典 フォトバイブルの vol.42『インテリア・住空間編』」の写真です)

MC Bounces 1のレンダリング画像 レンダリングは速いですが、相互反射の効果が見られず、光と影のコントラストがありすぎて不自然な感じに見えます。(MC Bounce 1 / Intensity 100% / time:20m02s)

MC Bounces 3のレンダリング画像 レンダリングは遅くなりますが、若干相互反射の効果が見られ、1よりは自然に見えます。まだ、全体的に暗いです。(MC Bounce 3 / Intensity 100% / time:35m17s)

MC Bounces 1のレンダリング画像 そこで Intensity を200%に変更してみました。Intensityが倍になると、レンダリング時間も倍程度になるようです。(MC Bounce 1 / Intensity 200% / time:42m26s)

MC Bounces 3のレンダリング画像Intensity を200%にした状態でMC Bounceを3に変更してみました。絵が飾ってある壁は元は灰色なのですが、相互反射により床の色が反映されています。(MC Bounce 3 / Intensity 200% / time:1h19m04s)

MC Bounces 6のレンダリング画像 以上をふまえた上で、最終的なレンダリングとして、250%、MC Bounce 6でレンダリングをしてみました。2時間かかってますが、まだノイズが見られます。(MC Bounce 6 / Intensity 250% / time:2h32m57s)

MC Bounces 6のレンダリング画像 ノイズを減らすために、さらに8時間ほどレンダリングをしてみました。レンダリングをバックグラウンドでしつつ、他の作業が普通にこなせるので、CPUを有効利用できます。ただし、常にフル回転なので、うちの環境だと発熱がすごい…(MC Bounce 6 / Intensity 250% / time:10h01m24s)

GlobaoIllumination + 環境光について

MC Bounces 1のレンダリング画像 そこで、環境光を使って擬似的に再現してみました。床のシェーダーを調整すればこれでも良さそうです。ただし、環境光で明るさを全て底上げしているため、不自然な箇所がいくつか出てきています。このやり方の場合、RenderTimeの短縮が1番の魅力になりそうです。(MC Bounce 1 / Intensity 100% / time:21m14s)

ということで、環境光で全体の明るさを上げてしまうと、のっぺりとしたコントラストの無い画像になってしまいます。さらに環境光の場合、相互反射により周りのObjectの色が映り込む効果も期待できません。ここはやはり Intensity で調整するべきだとおもいます。