Skip to main content

iray blog unofficial translation: まずは金属薄片(metallic flake)の効果あれ.


以下は iray dev blog の個人的な翻訳です. この翻訳は iray 開発者あるいはNVIDIA とはまったく関係がありません.


まずは金属薄片(metallic flake)の効果あれ.

どうやら CG アーティストは常に車をレンダリングしたいようです.というのも,実際の iray ユーザから頂いたシーンのうち,車のシーンの占める割合は驚くほど多いからです.その量はまるで宇宙の基本的な定数であるかのようです.また,レンダラが車を扱えないのであればそのレンダラはドイツでは役立たずのようです.運が良いことには, iray は車のレンダリングには向いています...しかしもちろん,改善の余地は常にあります.

iray 2.0 では我々は内部のマテリアルのモデルの改善に注力しました.その結果,とてもパワフルなモデルができあがりました.それは BRDF を柔軟に層化(layering) することを可能しました.その結果,基本的なカーペイントを比較的直感的に作成できるようになりました.私達はまず最初に拡散(diffuse)層を下にしき,そしていくらか光沢(glossy)のある BRDF を混ぜ,Fresnel 効果のあるクリアコート層をその上に乗せます.これで単純なカーペイントができました.

しかしこれではちょっと退屈です.私達は金属薄片(metalic flake)の入ったカーペイントが欲しい気がします.というのも単純に金属薄片の効果がかっこいいからです: iray 2.0 には組み込み(built-in)のプロセジュアル(訳注: プロセジュアル(procedual),特定のアルゴリズムを走らせてマテリアルの効果を得る手法.たとえば,特定のパターンのテクスチャを作成するなど.) によって薄片を作成できます.これは層のモディファイヤー(モディファイヤー(modifier)変化させるもの)であり,実世界でもありうるように小さな薄片のある層の効果をもたらします.そのふるまいとパラメータは基本的に mental ray のmetallic paint シェーダーのものと同じで, 薄片の大きさと密度,どれだけ面の法線から金属片の方向を変化させることを許すかというパラメータからなります.

我々は単純なカーペイントからはじめました.この単純なカーペイントの最下層レイヤーとクリアコート層の間に一つの層を挿入し,そこに薄片のプロセジュアルを適用しました.標準的なメタリックペイントとして,私達は完全にスペキュラ(鏡面),あるいはかなり光沢のある BRDF の層を挿入することができます.これが金属薄片の高いスペキュラを模倣するのです.これがその結果です:

非常に小さな薄片を使うこともできます.そうするとちょっと離れてみればこれはまるで光沢のある BRDF のように振舞います.(薄片がマイクロファセットの役割をするのです!)

一方で,もっと少ない量の大きな薄片を使うことができます.これはメタリックペイントで著しい,きらきらした効果を生みます:

薄片層の色と薄片のパラメータをいろいろと変化させていくと,様々な種類のメタリックペイント,ファミリーカーから派手な高級車まで!,を作成できます.次の絵は青い金属薄片の層の上に更に緑の金属薄片の層を乗せたものです.

新しいマテリアルモデルはこれだけではありません,続く記事でそれらが紹介されることをご期待下さい.これは新機能の最初の例にすぎません.

PS: ここで示された滑ての画像は収束(converged)したものです."ノイズ"のように見えるものは金属薄片が見せる効果です.

Comments

Popular posts from this blog

iray blog unofficial translation: ノイズだらけの画像

以下は iray dev blog の個人的な翻訳です. この翻訳は iray 開発者あるいはNVIDIA とはまったく関係がありません. 原文:  http://blog.irayrender.com/post/12964041473/noisy-pictures 物理的に正しいレイトレーサあるいはパストレーサを用いるレンダラが直面する主な問題があります.それは完全にノイズのない画像を生成するには長いレンダリング時間がかかるというものです. 残念なことにこれは(準-)モンテカルロ法に基づくアルゴリズムが一般に持つ性質によるものです.これらの手法では数学的に期待値の持つエラーが線形に消えていくことはありません. irayにとってこれが意味することは,ノイズの総量は1フレームをレンダリングする際に使うサンプルの数(あるいは総時間)に直接に比例しないということです.このためにレンダリングの最初の頃のステップで減っていくノイズの量は,後で減っていくノイズの量に比べて少ないように見えます.つまり収束がだんだん遅くなっていくような印象を受けるのです. この事実を回避するために,多くのレンダラは通常ある仕事を省略しようとします.たとえば,レンダラの中にはいくつかの物理的な効果を無視したり,レンダリング結果の無偏向性(un-biasedness)をあきらめたりします.その他の技術としては特殊な発見的手法を用いてサンプルをフィルタし,ノイズをぼかしてしまうというものがあります.あるいは単純に様々な芸術的な方法に依存する方法,たとえば,根底にあるレンダリングのアルゴリズム/魔法に影響する沢山のスイッチを用意して,それをいじりまわすという方法です. しかし iray の一つの大きなデザインゴールは,インストールしたらそのままいつでも全てが正しく動作し,沢山のパラメータをいじりまわすことは必要ないというものです.私の正直な意見としては,パラメータの数は 0 であるべきです.そうであれば,アーティストやデザイナは実際のレンダリングされるコンテンツに完全に集中できるようになり,小難しい深い数学の詳細を知る必要はありません.また,一貫性のないアルゴリズムはまったく使うべきではないと思います.そういうアルゴリズムを使わなくてはいけないかわいそうなアーティストが見るのは,あ

Intel Core i7 における mental ray のライセンスバグの修正

mental ray 3.7 が Intel の Core i7 で動かないというバグがあり,その修正がでているようだ. http://forum.mentalimages.com/showthread.php?t=5511 修正されている mental ray (SPM) の version は,(OEM によって version が多少異なる可能性があるが) 以下の通りである. mental ray 3.7: 3.7.1.31 (2009 September 16) 以降 mental ray 3.7+: 3.7.53.6 (2009 October 22) 以降 この問題は,Core i7 で mental ray を動かそうとすると, Sorry, no license available というエラーメッセージが出て,十分なライセンスがあるにもかかわらずmental ray を起動できないというものだ. 最近のIntel の CPU では Core コア数を数える方法がなかなか複雑になっているようで,これに関連してのことだろう. http://software.intel.com/en-us/articles/intel-64-architecture-processor-topology-enumeration/ 個人的には今後ライセンスをコア数で制限するのはあまり嬉しくない.コア数の多いマシンを買っても使えないからだ.一方で GPU では多数のコアがあるのに,もともと制限していない.NVidia/mental images の iray は GPU のコア数でライセンスを制限しているわけではないようなので,CPU と GPU でライセンスの形態が違うというのはあんまりよくわからないことである.歴史的な事情ということであろうか,それとも GPU を promotion しているのであろうか.下手をすると CPU 側から訴えられたりしないのだろうか.しかし,そういう変なライセンス形態が元でソフトウェアが動かないというのは困ったことである. Core i7 で mental ray が動かないという場合にはサポートに問い合わせてみると修正したバージョンを送ってもらえるはずだ.ただ,サポートの窓口が問題を知らない場合があるので,上記の me

メンタルレイの構成

図 1 にメンタルレイの通常の構成を示します. 図 1 メンタルレイの構成 F1: Application scene file: アプリケーション固有のファイルで .max (3dsmax), .ma または .mb (Maya),.scn (XSI) などです. F2: .mi file: mental ray の scene description ファイルフォーマットです.多くの mental ray をサポートしている DCC ソフトウェアは .mi ファイルをエクスポート(export)する機能があります.(A2) 1. Application: DCC (Digital contents creation)ソフトウェア (Maya, 3DSMax, XSI, ...) や CAD プログラムです. 2. mental ray core: メンタルレイのコアプログラムです.メンタルレイにはライブラリ版とstand alone 版があります.ライブラリバージョンのメンタルレイは,アプリケーションからトランスレータ(translator) というモジュールを通じて命令やデータを受けとり,レンダリングを実行します.トランスレータというのは DCC アプリケーションの内部データを mental ray のデータに翻訳(translation)するプログラムです.スタンドアロンバージョンのメンタルレイは.mi ファイルを読み込み,レンダリングを実行します.メンタルレイはコア自体だけでは動作せず,シェーダが常に必要なことに注意して下さい.シェーダがプラグインであることを考えれば,理解しやすいと思います. 3. mental ray base shader: メンタルレイがデフォルトでサポートしているシェーダです.基本的な光源(lihgt),基本的なマテリアル(material),たとえば 最も簡単なシェーダとしては Lambert シェーダなどがあります. 4. Application shaders: 各 DCC ソフトウェアや,CAD ソフトが独自に持っているシェーダです.3DSMax は 3dsmaxshaders, Maya は mayabase などというシェーダパッケージを持っています. 5. Custom shaders: ユーザ独自のシェーダや,メン