
アンビエントオクルージョン完全解説:SSAO・HBAO・GTAO比較(2026年版)
概要
はじめに
アンビエントオクルージョン(ambient occlusion)は、15年以上にわたってスクリーン上で目にされてきたレンダリング概念のひとつですが、明確に定義できる人はほとんどいません。ゲームの設定メニューを開くと、「Ambient Occlusion」のトグルにSSAO・HBAO・GTAOといったオプションが並んでいることがあります。Blender、Cinema 4D、3ds Maxを開けば、レンダー設定の奥深くにAOパスが埋め込まれているのが見つかります。スクリーンショットはいずれも微妙に異なり、パフォーマンスへの影響は桁違いに変わり、ドキュメントでトレードオフが説明されることはほとんどありません。
Super Renders Farmでは2010年から分散CPU・GPUレンダリングジョブを運営しており、アーキビズ(建築ビジュアライゼーション)やプロダクトビジュアライゼーション関連のサポートチケットの約半数にアンビエントオクルージョンが関係しています。パターンは一貫しています。アーティストがAOをグローバルイルミネーション(global illumination)の代替として過信するか、完全にオフにした結果、ジオメトリが地面から浮いているように見えてしまうかのどちらかです。AOが実際に何を計算しているかを理解すれば、どちらの問題も解決できます。
このガイドでは、アンビエントオクルージョンを基本原理から解説し、2026年のゲームエンジンで主流となっている3つのリアルタイムアルゴリズム(SSAO・HBAO・GTAO)を説明したうえで、AOベイクをワークステーション1台で完結させるべき場合とレンダーファームに任せるべき場合を明らかにします。最もよくある質問への簡潔な回答は、末尾のFAQをご覧ください。
アンビエントオクルージョンとは何か
アンビエントオクルージョンは、サーフェス上の各点に環境光がどれだけ届くかを近似するシェーディング技術です。具体的には、その点が周囲のジオメトリにどれだけ「遮蔽(occlusion)」されているかを検査します。壁と床が接するコーナーは、同じ床の中央よりも環境光の受光量が少なくなります。上方の半球から射してくる光線が、コーナーではより多くのジオメトリに遮られるためです。AOはそのコーナーを暗くします。これがAO全体のエフェクトです。
AOが広く普及した理由は経済的なものです。完全なグローバルイルミネーション(GI)の計算——すべてのサーフェスで光を反射させ正確に積分する処理——は非常にコストがかかります。AOはGIの特定の一成分(環境光・スカイライトのローカルなセルフシャドウ)を、シェーディング点から短距離のレイをサンプリングするだけで安価に捉えます。オフラインレンダリングでは通常、完全なGIを使用するため、AOは無効化するか、コンタクトシャドウの微細な補助として使用するかのどちらかになります。リアルタイムレンダリングでは、AOが間接シャドウの実行可能な近似手法として歴史的に唯一の選択肢だったため、すべてのゲームエンジンが少なくとも1つのAOアルゴリズムを実装しています。
いくつかの一般的な誤解を整理しておく価値があります。
- AOは光源によるシャドウではありません。AOは光源の配置に関係なく暗くなります。環境半球全体の遮蔽を表すためです。
- AOはグローバルイルミネーションではありません。実際のGIは間接光のカラーと明るさをサーフェス間でバウンスさせますが、AOは単に暗くするだけです。AOをGIの代替として使用することは、アーキビズレンダーが泥のように濁って見える一般的な原因です。
- AOは自動的に物理的に正確ではありません。結果は使用するアルゴリズムと設定した最大レイ距離によって完全に異なります。半径を大きくすると、清潔なインテリアが暗い洞窟のような見た目になってしまいます。
Blenderマニュアルには、Ambient OcclusionシェーダーのドキュメントにオフラインAOノードの解説があり、サンプリングの実際の計算式を読みたい方に役立つリファレンスです。
SSAO・HBAO・GTAO:3つのアルゴリズム、ひとつのエフェクト
2026年のゲームエンジンに搭載されている3つのアルゴリズムはいずれも同じビジュアルゴールを目指していますが、速度・品質・視線方向の安定性の間でトレードオフが異なります。
| アルゴリズム | 導入年 | サンプリング対象 | 典型的なコスト(1080p、RTXクラスGPU) | 長所 | 短所 |
|---|---|---|---|---|---|
| SSAO(Screen-Space AO) | 2007年(Crytek、Crysis) | 各ピクセル周囲のスクリーン空間でランダムサンプリング、デプスバッファのみ使用 | 約0.3〜0.8 ms | 非常に安価、すべてのエンジンに搭載 | ノイジー、シルエット周辺にハロー、視線依存のちらつき |
| HBAO / HBAO+(Horizon-Based AO) | 2008年(NVIDIA) | デプスバッファ内で複数方向にレイをマーチして地平角を検出 | 約0.8〜1.5 ms | SSAOよりスムーズ、ハロー少、ジオメトリ認識 | より高コスト、依然スクリーン空間、画面外の遮蔽物を見逃す可能性 |
| GTAO(Ground-Truth AO) | 2016年(Activision/Intel) | 可視コーンを解析的に積分し、オフラインレイトレースAOに一致するよう導出 | 約1.0〜2.0 ms | レイトレースリファレンスに最も近い、モーション中の安定性、較正されたフォールオフ | HBAOより若干高コスト、半径とフォールオフの慎重なチューニングが必要 |
NVIDIAのオリジナルのImage-Space Horizon-Based Ambient Occlusionペーパーは地平線ベースファミリーの標準的なリファレンスです。ActivisionとIntelが後に採用したGTAOの導出については、ActivisionのPractical Real-Time Strategies for Accurate Indirect Occlusion(GTAOホワイトペーパー)に詳しく説明されています。
分かりやすいメンタルモデルとして整理するなら、SSAOは目に見えるアーティファクトを伴う高速なハック、HBAOはジオメトリを認識するより賢いハック、GTAOはオフラインリファレンスに対して較正された実装であり、コストに見合う品質が確保できる場合に選択すべきものです。過去3〜4年以内にリリースされたモダンGPUでは、1080pにおいて3つともほぼコストゼロです。選択の基準はパフォーマンスではなく、品質とモーションの安定性にあります。
レイトレースAO(RTAO)という別系統も存在します。これはGPUのハードウェアレイトレーシングユニットを使用して、ピクセルごとに実際のレイを飛ばします。リフレクションやシャドウの処理後にレイトレーシング予算に余裕があるときに切り替える選択肢で、リアルタイムでの「グランドトゥルース」に最も近いものですが、低スペックGPUへのコスト負担のため、現時点ではほとんどのエンジンでデフォルトになっていません。
アンビエントオクルージョンはオンにすべきか、オフにすべきか
これはこのトピックで最も多く検索されるクエリのひとつです(「ambient occlusion on or off」)。答えは何をしているかによって異なります。
ゲームプレイ時は、AOをオンにしておくことがほぼ常に価値があります。家具・植生・キャラクターの下にコンタクトシャドウが付くことで得られるビジュアルの向上は大きく、RTX 20シリーズ以降のハードウェアではコストは一桁ミリ秒程度です。オフにすることで恩恵があるのは、高リフレッシュレートモニターを使用した旧世代GPUで1ミリ秒でも削りたい場合に限られます。
DCCソフトウェアのリアルタイムプレビュー(Eevee、Cinema 4Dビューポート、3ds Maxビューポート)では、AOはブロッキングやライティング判断に役立ちますが、最終イメージの判断材料にすることは避けるべきです。ビューポートのAOは通常、低品質のSSAO近似です。ビューポートのAOに基づいてライティング判断を下した結果、最終レンダーでその効果が消えていたというケースを何度も見てきました。
最終オフラインレンダリング(Cycles、V-Ray、Corona、Arnold、Redshift)では、答えはより複雑です。シーンが完全なGIソルブを使用している場合——CyclesのパストレーシングやV-Rayのブルートフォース・ライトキャッシュ、CoronaのパストレーサーやArnoldのGI——、AOは間接照明の中にすでに暗黙的に含まれており、明示的なAOパスを追加すると通常、画像が適正値より暗くなります。スタイライズドまたはNPRパイプラインで物理的に正確なGIが目標でない場合、明示的なAOパスはコンタクトダークニングを加えるのに有効です。その場合は別のレンダーエレメントとしてベイクし、ビューティーに焼き込むのではなくコンポジティングでコントリビューションを調整できるようにしておきます。
要点:ゲームではオンのまま、完全なGIがある場合は最終イメージエフェクトとしてはオフ、スタイライズドコントロールが必要な場合はパスとしてベイクする——これが基本方針です。
ゲームとオフラインレンダリングにおけるアンビエントオクルージョン
リアルタイムエンジンとオフラインレンダラーにおけるAOには構造的な違いがあります。多くの混乱の原因を説明するために、この点を明確にしておく価値があります。
リアルタイムAOはデプスバッファで動作します。エンジンはすでにシーンをラスタライズしており、ピクセルごとのデプス(通常はノーマルも)を持っています。AOパスはスクリーン空間の隣接ピクセルを走査して遮蔽を推定します。これは高速ですが、2つの構造的な制限があります。まず、画面外のジオメトリは遮蔽に寄与しません——カメラフラスタムの外側にある壁は、画面内のオブジェクトのコーナーを暗くすることができません。次に、ノイズと視線方向のちらつきを避けるため、サンプリングパターンを慎重にチューニングする必要があります。
オフラインAOは実際のシーンジオメトリで動作します。レンダラーは各シェーディング点からレイを飛ばし、真の3D空間で遮蔽を測定します。サンプルあたりの処理は遅くなりますが、カメラが移動しても安定したグランドトゥルースの結果が得られ、画面外の遮蔽物を見逃しません。ほとんどのプロダクションレンダラーは、ノード(Blender Cycles、Arnold)またはレンダーパス(V-Ray、Corona、Redshift)としてオフラインAOを公開しています。
「なぜビューポートと最終レンダーでAOの見た目が違うのか」とアーティストに聞かれたとき、答えはほぼ常にこれです。ビューポートはスクリーン空間AO、最終レンダーは実際のジオメトリレイを使ったワールド空間でのAO計算——それぞれ異なるアルゴリズムによる異なる画像です。
GPUサイドの詳細については、GPUクラウドレンダーファームのページで、リアルタイムおよびオフラインGPUレンダリングワークロード向けのRTXクラスハードウェア構成を紹介しています。
AOベイクが制作を遅らせる理由
プロダクションチームにとって興味深いパフォーマンス問題は、リアルタイムAO——2026年ではほぼコストゼロ——ではなく、パイプラインが実際に遅くなるオフラインAOベイクです。
AOベイクとは、UVマップのすべてのテクセルについてAO値を事前計算し、テクスチャに保存することを意味します。ゲームパイプライン(ベイクされたAOマップを実行時にライブ計算の代わりにサンプリング)や、静的ライティングを使用する一部のアーキビズワークフローで広く使用されています。コストは3つの要因に依存します。シーンの複雑さ、テクスチャ解像度、レイ数です。
以下の表は、Super Renders Farmのフリートでクライアント向けに実行したジョブの代表的なベイク時間データです。これらの数値はBlender Cyclesを使用した標準CPUノード(Dual Intel Xeon E5-2699 v4、44コア、256 GB RAM)でのCPUベイクです。ワークステーション1台での数値はこれより大幅に長くなります。
| シーンタイプ | ポリゴン数 | UVマップ解像度 | テクセルあたりのサンプル数 | ノードあたりの時間 | 備考 |
|---|---|---|---|---|---|
| ヒーロープロップ、低複雑度 | 約5万 | 2048² | 256 | 2〜3分 | 軽微なベイク、ワークステーション1台で十分 |
| 建築インテリア、単室 | 約50万 | 4096² | 512 | 25〜40分 | ボーダーライン——締め切り次第 |
| 植生付きアーキビズ外観全体 | 約500万 | 4096² × 8タイル | 512 | 4〜6時間 | ワークステーションでは苦しい、レンダーファームなら高速 |
| ゲーム環境、フルレベルベイク | 約1000万 | 8 × 4096² アトラス | 1024 | 10〜18時間 | ワークステーションでは丸1日アーティストが待機状態 |
| シネマティックアセットライブラリベイクバッチ | 混合 | 混合 | 512〜1024 | 合計30〜80時間 | ワークステーションでは逐次処理、レンダーファームでは並列処理 |
私たちの経験では、損益分岐点は1回のベイクで約30分です。それ以下の場合は、シーンのパッケージング・アップロード・ダウンロードのオーバーヘッドが節約時間を上回ります。それ以上の場合、特にアーティストがベイク完了を待って手を止めているときは、多数のマシンへの分散処理が圧倒的に有利です。タイルベースのベイカー(Blender、V-Ray、Arnold)は特に並列化がうまくいきます。各タイルが独立したジョブになるためです。
Super Renders Farmでは、制作のアセット最終化フェーズに最も頻繁にこのパターンを見かけます。何十ものプロップが新しいAOベイクを必要とし、アーティストがブロックされ、一夜にしてレンダーファームがキューを処理します。料金の詳細についてはレンダーファーム料金ガイドをご覧ください。フリートのベンチマーク数値については、Cinebench 2026を使ったレンダーファームハードウェアベンチマークでCPUノードの並列CPUワークロードにおける性能を比較しています。
主要DCCにおけるアンビエントオクルージョン
主要なDCCアプリケーションはそれぞれ異なる方法でAOを実装しており、実践的なアドバイスもソフトウェアごとに異なります。
BlenderはAOを3か所で公開しています。EeveeビューポートのAOトグル(高速なSSAO/HBAOスタイルの近似)、CyclesのAOノード(シェーダーレベルの使用、例えばマテリアルのダートマスクなど)、CyclesのAOレンダーパス(ビューティーと並列出力される真のレイトレースAOパス)の3つです。ベイクパネルを使ったCycles AOベイクが多くのチームの標準ワークフローであり、上記のベイク時間表もCyclesで計測しています。ワークステーション1台でBlenderを運用しているアーティストには、BlenderクラウドレンダーファームのページでCycles AOベイクがフリート上でどのようにスケールするかを紹介しています。
Cinema 4DはStandard/PhysicalレンダラーとRedshiftの両方でAOを提供しています。Redshiftでは、AOは通常GIの代替ではなくシェーダーエフェクトまたはコンポジティングパスとして使用されます。Redshift固有の設定についてはCinema 4Dクラウドレンダーファームのページをご覧ください。C4D + Redshiftユーザーの多くは、AOをレンダーエレメントとして計算し、After Effectsでビューティーと合成するワークフローをとっています。
3ds Max + V-Rayには専用のVRayDirtマテリアルとVRayExtraTex AOレンダーエレメントがあります。Dirtアプローチはフォールオフ・ブラー・反転オクルージョン(キャビティ)をマテリアルごとに制御できるため柔軟性が高く、レンダーエレメントアプローチはセットアップが速いものの調整の幅が狭くなります。3ds Max上のCoronaユーザーには、CoronaAOマップが相当する機能です。
Arnold(Maya、Houdini、3ds Max内)はAOを純粋にサンプリング問題として扱い、aiAmbientOcclusionシェーダーとambient_occlusion AOV(Arbitrary Output Variable)経由で公開しています。Arnoldは強力なインポータンスサンプリングを持つ一方向性パストレーサーであるため、同等のサンプル数において他のレンダラーよりAOベイクの収束が速い傾向があります。
共通するポイント:どのDCCでも、AOをビューティーレンダーにGIの代替として焼き込むのではなく、コンポジットする別パスとして扱ってください。これにより、ワークフローの柔軟性が保たれ、シーンを再レンダリングすることなくAOのコントリビューションをポストで変更できます。
FAQ
Q: アンビエントオクルージョンをわかりやすく説明すると? A: アンビエントオクルージョンは、ジオメトリが環境光のサーフェスへの到達を遮断している部分——たとえば壁と床が接するコーナー——を暗くするシェーディング技術です。グローバルイルミネーションの特定の一成分を安価に近似するもので、あらゆるゲームエンジンとオフラインレンダラーが実装を持つ理由はここにあります。
Q: ゲームでアンビエントオクルージョンはオンにすべきですか、オフにすべきですか? A: ほぼすべてのケースでオンにしておくべきです。家具・キャラクター・植生の下にコンタクトシャドウが付くことによるビジュアルの向上は大きく、ここ数年にリリースされたGPUではフレームあたり2ms以下のコストです。オフにすることが有効なのは、1ミリ秒単位でパフォーマンスを追い求めている旧世代ハードウェアの場合のみです。
Q: SSAO・HBAO・GTAOの違いは何ですか? A: SSAOは2007年に登場したオリジナルのスクリーン空間アルゴリズムで、高速ですがノイジーでハローが目立ちます。HBAOはデプスバッファを通じてレイをマーチして地平角を検出し、よりスムーズな結果を生成します。GTAOは3つの中で最も新しく、オフラインレイトレースAOに一致するよう較正されており、モーション中の安定性が最も高いものです。3つともスクリーン空間で動作し、モダンGPUではコストは同程度です。
Q: アンビエントオクルージョンとグローバルイルミネーションは同じですか? A: いいえ。グローバルイルミネーション(GI)はサーフェス間での間接光のカラーと明るさのバウンスを考慮します。アンビエントオクルージョンは光源のカラーや強度に関係なく、ローカルなジオメトリの遮蔽に基づいて暗くするだけです。AOをGIの代替として使用することは、アーキビズレンダーが泥のように濁って平坦に見える一般的な原因です。
Q: アンビエントオクルージョンのベイクにレンダーファームが本当に必要なのはいつですか? A: アセット1つあたりのベイクが30分以上かかる場合、並列処理が必要な多数のアセットがある場合、またはアーティストが結果待ちで手を止めている場合です。Super Renders Farmのフリートでは、多くのプロダクションチームがアセット最終化ステージにベイクをレンダーファームに移行するのを見てきました——ワークステーション1台では逐次処理で数日かかるプロップが何十本もある状況で、分散処理すれば一晩で完了します。
Q: ビューポートと最終レンダーでアンビエントオクルージョンの見た目が違うのはなぜですか? A: ビューポートはほぼ常にスクリーン空間近似(高速なSSAOまたはHBAOバリアント)を使用しており、最終オフラインレンダーは実際のジオメトリレイを使ってワールド空間でAOを計算します。異なるアルゴリズムが異なる画像を生成しているためです。最終ライティングの判断には、ビューポートのAOを信頼するのではなく、低サンプルのプレビューレンダーを行うようにしてください。
Q: オフラインレンダリングでアンビエントオクルージョンをレンダーパスとして使用できますか? A: はい。スタイライズドコントロールが必要な場合にお勧めのワークフローです。主要なレンダラー(Cycles、V-Ray、Corona、Arnold、Redshift)はすべてAOを独立したレンダーエレメントまたはAOVとして出力できます。ビューティーレンダーと並列して出力し、コンポジティングで合成してください。これによりシーンを再レンダリングすることなくAOのコントリビューションを調整できます。
About Alice Harper
Blender and V-Ray specialist. Passionate about optimizing render workflows, sharing tips, and educating the 3D community to achieve photorealistic results faster.


