グローバルイルミネーションをシュミレートする手法として、現在一般的に使用されている
アンビエントオクルージョン
は、必ずしも物理的に正確な結果を導き出している分けではありませんが、高速で効果的な成果が得られるので、今ではCGレンダリングを実行する上で欠かせません。
プリレンダリング、リアルタイムレンダリングのどちらのレンダリングにとっても有効な手法で、このブログでも別記事で
「アンビエントオクルージョンテクスチャー」
を生成する方法を紹介しているので、知りたい方は是非チェックしてみてください。
※Arnoldを使用してアンビエントオクルージョンテクスチャーを生成する方法を紹介したブログ記事はコチラです。
![]() |
|
今回はArnoldのアンビエントオクルージョンシェーダー「aiAmbientOcclusion」の設定について紹介をしたいと思います。
アンビエントオクルージョンシェーダーの解説
アンビエント オクルージョン シェーダの解説がArnoldの公式ガイドに載っています。
アンビエント オクルージョン シェーダは基本的にシェーディング ポイントの接線プレーンによって定義された上半球内で多数のレイを放射し、レイの総数で割ったヒットの比率をカラーとして返します。レイのヒット数/レイの総数 = 0 となるとき、出力は完全にオクルージョンされない、つまり「明るい」とみなされます(既定では白のカラー)。レイのヒット数/レイの総数 = 1 となるとき、出力は完全にオクルージョンされている、つまり「暗い」とみなされます(既定では黒のカラー)。中間の値には、2 つの値の線形補間があります。
arnold for maya user guide
上記の解説を踏まえて
「aiAmbientOcclusion」シェーダーのアトリビュート設定を1つずつ確認してきます。
ArnoldのAOシェーダー「aiAmbientOcclusion」の設定項目
MAYAのHypershade/ハイパーシェードにArnoldの項目があります。
その中の「aiAmbientOcclusion」がArnoldのアンビエントオクルージョンシェーダーです。
![aiAmbientOcclusion](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_24.png?resize=319%2C114&ssl=1)
aiAmbientOcclusion には以下の設定項目があります。
![aiAmbientOcclusion_attribute](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_25.png?resize=435%2C397&ssl=1)
![]() |
|
Samples:レイの数 サンプルを多くするとノイズが減ります
レイの数を増やすとノイズの少ないクオリティーの高い成果を得る事ができます。
既定値は3
![arnold_atrr_samples3](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_06.png?resize=273%2C273&ssl=1)
![arnold_atrr_samples1](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_01.png?resize=273%2C273&ssl=1)
Spread:法線ベクトルの角度スプレッド
1=90度, 0.5=45度, 0.25=22.5度 既定値は1
![arnold_atrr_def](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_05.png?resize=540%2C540&ssl=1)
![arnold_atrr_spead0.5](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_03.png?resize=540%2C540&ssl=1)
![arnold_atrr_spead0.25](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_04.png?resize=540%2C540&ssl=1)
Falloff:オクルージョンの減衰率
レイの勢いをコントロールします。
数値を高くすると減衰率が高くなります。既定値は0で減衰しません
![arnold_atrr_def](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_05.png?resize=540%2C540&ssl=1)
![arnold_atrr_Falloff5](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_21.png?resize=300%2C300&ssl=1)
![arnold_atrr_Falloff20](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_23.png?resize=300%2C300&ssl=1)
Near Clip :シェーディングされる点から最小の距離を指定
手前側を何処の距離から計算するかを設定します。既定値は0
![arnold_atrr_def](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_05.png?resize=540%2C540&ssl=1)
![arnold_atrr_nearclip0.5](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_14.png?resize=300%2C300&ssl=1)
![arnold_atrr_nearclip2](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_15.png?resize=300%2C300&ssl=1)
Far Clip :シェーディングされる点から最大の距離を指定
奥行きを何処の距離まで計算するかを設定します。背景など広いエリアを全て計算するのは負担なので見える範囲を設定します。既定値は100
![arnold_atrr_farclip0.2](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_18.png?resize=300%2C300&ssl=1)
![arnold_atrr_farclip1](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_17.png?resize=300%2C300&ssl=1)
![arnold_atrr_farclip10](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_16.png?resize=300%2C300&ssl=1)
White:ベースの色
オクルージョンされない部分(明るいとみなされた部分)の色を設定します。既定値は1(white)です。
![arnold_atrr_farclip10](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_16.png?resize=300%2C300&ssl=1)
![arnold_atrr_white0.5](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_08.png?resize=300%2C300&ssl=1)
Black:影の色
オクルージョンされた部分(暗いとみなされた部分)の色を設定します。既定値は0(Black)です。
![arnold_atrr_black0.5](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_09.png?resize=300%2C300&ssl=1)
![arnold_atrr_black_blue](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_10.png?resize=300%2C300&ssl=1)
Invert Normals:表面をトレースするか裏面をトレースするか
トレースされるレイの方向を外側にするか内側にするか設定します。既定値はOFFです。
![arnold_atrr_Invert Normals_off](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_19.png?resize=300%2C300&ssl=1)
![arnold_atrr_Invert Normals_on](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_20.png?resize=300%2C300&ssl=1)
Self Only:同一オブジェクトのみ影響
複数のオブジェクトが互いに影響するオクルージョンを計算するかしないかの設定。ONにすると単体オブジェクトのみで計算します。既定値OFF
![arnold_atrr_Self Only_OFF](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_12.png?resize=300%2C300&ssl=1)
![arnold_atrr_Self Only_ON](https://i0.wp.com/liquidjumper.com/Home/wp-content/uploads/2020/03/arnold_atrr_13.png?resize=300%2C300&ssl=1)
「aiAmbientOcclusion」シェーダーのアトリビュート設定の紹介でした。
以上です。
![]() |
|
![]() |
|
![]() |
|
BTOパソコンの草分け的ブランドFRONTIER(フロンティア) 3DCG/動画編集/ゲーム用途に合わせてCPUやGPUなどパーツを自由に選べてコスパにもこだわる方にオススメ。 |
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|