アンビエントオクルージョンとは何ですか?


55

アンビエントオクルージョンについて聞いたことがありますが、見た目はきれいですが、正確には何ですか?


:ちょうどVRゲーム開発者によって作られたアンビエントオクルージョン(AO)に関する情報を追加したい。そのアルゴリズムに広範囲ガイドおよびVRに使用します。アンビエントオクルージョンを
Pylypenkoエレナ

回答:


35

アンビエントオクルージョンは、光とその環境に基づいて、表面の特定の部分で明るい光がどの程度輝くべきかを近似する方法です。これは、リアリズムを追加するために使用されます。

ウィキペディアには、何が行われているのかを説明する素晴らしい段落があります。

アンビエントオクルージョンは、ほとんどの場合、サーフェスからあらゆる方向に光線を投げることによって計算されます。背景または「空」に到達する光線は表面の明るさを増加させますが、他のオブジェクトに当たる光線は照明に寄与しません。その結果、大量のジオメトリに囲まれたポイントは暗く表示されますが、目に見える半球にほとんどジオメトリのないポイントは明るく表示されます。

これについては非常に技術的な記事があります。


6
私はあなたが何かを引用していることを理解していますが、それはアンビエントオクルージョンではなく、アンビエントイルミネーションを説明しています。非常によく似ていますが、ロジックが逆になっています(アンビエントオクルージョンを達成するために光線が近くのオブジェクトに当たるとライトを削除します)
MickLH 14

68

アンビエントライトは、グローバルイルミネーションのシミュレーションに使用されるコンピューターグラフィックスのライトタイプです。アンビエントオクルージョンは、周囲光を遮るオブジェクトによって生じるシャドウイングのシミュレーションです。アンビエントライトは環境光であるため、他のタイプの照明とは異なり、アンビエントオクルージョンはライトの方向に依存しません。そのため、静的オブジェクトに対して事前に計算できます。

ここに画像の説明を入力してください

AOなし(左)左画像の影は、AOあり(右)の指向性ライトに起因することに注意してください。

従来のレイトレーシングでは、アンビエントオクルージョンは、半球の形状をとる特定のポイントからのレイをサンプリングすることでシミュレートされ、シーン(オブジェクトスペースAOとも呼ばれます)との交差をチェックします。

ここに画像の説明を入力してください

光線サンプルを使用してAO統合をシミュレートする方法に注目してください。

ここに画像の説明を入力してください

アンビエントオクルージョンアンダーサンプリングによって引き起こされるエイリアシング(ドット)に注意してください。

レイトレーシングサンプリング手法は、リアルタイムコンピューターグラフィックスで使用するには遅すぎるため、この動作をシミュレートする他の方法が登場しました。注目すべきアプローチの1つは、スクリーンスペースアンビエントオクルージョン(SSAO)と呼ばれます。

SSAOは、Crytekによって開発されたスクリーンスペース技術です。アンビエントオクルージョンは、Zバッファを唯一の入力として使用して、フルスクリーンパスで計算されます。

kA各ピクセルのアンビエントオクルージョンファクターは、ピクセルの位置の周りの半球に分布する点のセットをテストすることにより推定されます。これは、画面スペースでの従来のレイトレーシングアプローチを効果的にシミュレートします。

の値はkA、Zバッファーの値の前にあるサンプルに依存します。サンプルの半分以上が深度テストに合格した場合(つまり、中心ピクセルよりもカメラに近い)、kA値1を受け取ります。サンプルの数がkA少なくなると、1未満になります。

典型的なゲームシーンのSSAOコンポーネント

典型的なゲームシーンのSSAOコンポーネント


7

http://en.wikipedia.org/wiki/Ambient_occlusion

アンビエントオクルージョンは通常、周囲光がどれだけサーフェスに当たるかを表すデータを適用することを意味します。そのデータは通常、実装に応じてグレースケールテクスチャまたは頂点カラーです。

データを計算する最も一般的な方法は、ソリッドホワイトテクスチャと1ポイントライトを使用してシーンを複数回レンダリングし、そのたびにポイントライトを球体または半球の異なる場所に移動することです。すべてのレンダリングの結果は平均化され、シーン内の特定の場所とその場所に当たる光の量に関するデータが得られます。

たとえば、光をどこに置いても常に明るい場所は明るくなり、光をどこに置いても暗い場所は暗くなります。その結果、オブジェクトが一般に影を落とす場所に、隙間やひび割れに暗い影を入れたり、柔らかな照明を当てたりするようなものが得られます。


3

アンビエントオクルージョンは、光源に関連した表面のオクルージョンによる光の明るさを考慮したオブジェクトの表面の照明を計算する方法です。

つまり、アンビエントオクルージョンは、本質的にグローバルなシェーディング方法です。つまり、シーン内の各ポイントからの光/照明は、シーン内の他のポイントに影響を与えることができます。Phong / Blinnのようなローカルシェーディングメソッドとは対照的に、これはアンビエントオクルージョンを使用したシェーディングがよりリアルになります。

簡単な説明を少しだけ示します。アンビエントオクルージョンは、グローバルライティングをシミュレートする巧妙な方法であり、これまでに行った他の方法よりも高速です。光線は、表面に対して「上」の表面点からあらゆる方向から投射されます。パス内のオブジェクトに到達しない光線、つまり背景のボイドしきい値(「空」)に到達する光線は、表面の輝度を上げます。一方、サーフェスからキャストされたときにジオメトリに当たる光線は、サーフェスに明るさを追加しません。そのため、他の多くのジオメトリに囲まれているサーフェスポイントは、日陰になっています。

SSAOは、アンビエントオクルージョンを行う1つの方法にすぎません。


1
「...光源に関連して」あなたが光源に言及するとき、それは直接照明を示唆します。環境光は、他の光と同様に光源から発せられますが、すべての方向から発せられていると見なされます。
muhuk

-2

アンビエントオクルージョンは、光が届かない場所を意味します。折り目や割れ目は周囲の光が跳ね返らないため、通常はほとんどの光が存在しないため、通常は大気に応じて「最も暗い闇」が作成されます。


-7

アンビエントオクルージョン..ゲームグラフィックテクノロジーにあまり詳しくない人のために、アンビエントオクルージョンはシーンのすべてのオブジェクトに特定の量の光を追加します。すべてのポリゴンは異なる角度でレンダリングされます。その場合、光の量が不均一になり、ゲームがよりリアルになり、目に訴えます


11
あなたが言及する価値のある何か新しいことに貢献しているとは思わない。
ラッセ

この答えは、「アンビエントオクルージョン」ではなく「アンビエントライト」を説明しているようです。アンビエントオクルージョン、アンビエント照明によって追加される光を減らします。
DMGregory
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.