リソース・チュートリアル
リソース・チュートリアル : Blender の新たなアプローチによる、SSS
投稿者 : yamyam 投稿日時: 2006年09月27日 (2145 ヒット)

元記事:SSS for Blender- HERE! - Blender Artists Forums

たまには BlenderNation 以外からも。

Manuel 氏によると、Giuseppe Canino氏が新たなアプローチにより、Blender で SSS(Sub Surface Scattering:微細面乱反射)を実現する方法を開発されたとのこと。
実際の画像は MakeHuman のページのトップに表示されています。記事はこちら

基本的にはシャドウマップを使用することにより、擬似的にシミュレートする方法のようです。とりあえず上記にはzipファイルがありますので、そちらを試してみてください。

ちなみにGiuseppe氏によると、この SSS は MakeHuman の皮膚用という話であり、汎用ではないとのことです。あと余談ですが、現在 Manuel 氏は時間がなく、MakeHuman の更新がしばらくできないそうです…。

以下は前掲の記事の理論部分の引用です。

(前略)…シミュレーションを最終局面のみ行い、実際に起こっていることはについては無視することにしました(偉人の言葉を引用すると、正しく思えることは、多分正しい)。半透明な表面(特に生物の皮膚)のレンダリング時に起こる一番奇妙なことは、端が柔らかく、そしてぼやけて不明瞭になることです。物体は柔らかく見えますが、一方、半透明でない部分は硬く、明瞭です。この概念を描き出す方法は非常に複雑ですが、簡単な現象の積み重ねで行えます。
半透明な物体において、私たちがサンプリングした個々のポイントの照明は、その近接するポイントの照明の結果となります。
これはその現象を再現する鍵となり、一点のみを計算に使用する方法では絶対にこの現象の再現に成功しないでしょう。私たちは複数のサンプルを使用する方法をつかわねばならず、「表面の照明を統合」しなければなりません。
この問題は難しく思えますが、さらに注意すると道が見えてきます。観察すると、サブサーフェススキャッタリングの様子は光のグラデーションとディフューズライトの中間に見えます。

幸運なことに、これは基本的に、グラデーションな陰影を生成するために、十分な数のサンプルを使用してレンダリングされた時のシャドウマップを持つ状況なのです。しかしながら、不幸にもこの状況を包括するのは難しいです。通常、光のディフューズ(これは物体上で乗算されます)は、シャドウマップを物体を更に暗くすることなく関与させることができない(結局、照らされていなかった領域を暗くするのが仕事である)ためです。

しかし、シャドウマップの関与をミックスする方法に切り替えることにより、実際に興味深い性質、つまりマルチサンプリングを持つ、局所的な照明モデルに変形できます(これは半透明にするのに必要なもので、確かに物理的には正しくはないですが、まだもっともらしいです)。

したがって我々に必要なものは、単純なフラットシェーダ(ディフューズとスペキュラの標準的な照明モデルを追加するため)ですが、シャドウマップの影響を受けてそのライトを減算するシェーダです。シャドウマップのパラメータを通じて効果をコントロールでき、Bias でどれだけ光が浸透するかをコントロールします。Spot Size と Softness はサンプル数とともに、どれだけ光が拡散するかをコントロールします。

シャドウマップを半透明の計算に使用するアイデアは知られていますが、この実装はそれを直接行うものであり、その正確な定義はできませんが、確実に好ましい結果になるでしょう。


印刷用ページ このニュースを友達に送る

投稿された内容の著作権はコメントの投稿者に帰属します。

ログイン

ユーザ名:

パスワード:



パスワード紛失

クイックリンク

2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)

●ニュース(英文)
BlenderNation

●Blenderコミュニティ
blenderartists.org

●Blender Q&A
- Blender Stack Exchange

●テストビルド
Buildbot(自動生成)


●開発関連
公式開発サイト
Blender開発blog
Blender Wiki