it.xnews.jp
生成: 2026-07-20 読了 約 3 分 model: claude-haiku-4-5 原文: https://nothings.org/gamedev/ssao/ raw.md

スクリーンスペース環境光遮蔽は実際の部屋の角を再現していない

実際の部屋の角の明るさと比較すると、スクリーンスペース環境光遮蔽(SSAO)で描画された角は過度に暗く見える。Sean Barrettが2012年12月13日に実施した分析では、Canon 5D Mk II カメラで撮影した実際の部屋の角の写真から、実世界の暗くなり方は一般的なSSAO実装が示唆するものより微妙であることが明らかになった。

Sean Barrettは、ゲーム開発者がSSAOに依存し、実際には存在しない角の暗さを描画していると指摘する。彼は自身のアパートと作業スペースで1/80秒から1/8秒の露出で複数の写真を撮影し、エッジの明るさをグラフ化した。Adobe Photoshopで元の JPEG を各次元で4倍にダウンサンプリングし、色度チャンネルに16ピクセル幅のガウシアンブラーを適用して処理した。

部屋の角の参照写真

実世界の角の暗くなり方

実際の部屋の角に見られる暗くなり効果は、微妙で時間の経過とともに起こるだけである。Sean Barrettは「There is an edge-darkening effect along concave boundaries between walls (surfaces), but it is subtle and only happens some of the time.」と述べた。角の暗さは、多くの場合、環境光遮蔽よりも光源からのソフトシャドウが原因とされる。顕著なエッジ暗化は、別の理由(ソフトシャドウなど)で対面する表面がすでに大幅に暗くなっている場合にのみ生じる。

SSAOの実装における問題

Sean Barrettは、ゲーム開発者がSSAOに過度に依存していることに疑問を呈している。彼は「Game developers are in love with screenspace ambient occlusion (SSAO). They're so in love with it that they do all sorts of crazy things.」とコメントした。また「I believe this is because people think the corners of rooms actually are dark, and they've allowed this belief to let them write code that produces unrealistic results.」と述べ、開発者の誤解がSSAOの過度な適用につながっていると指摘する。

角の描画における失敗の原因は、複数の要因の組み合わせに起因する可能性がある。SSAO対AO の近似誤差、AO対ラジオシティの近似誤差、すべての照明に暗化を適用する際の誤差、および重み付けが強すぎるチューニング誤差である。Barrettは「And that's probably not what your SSAO is doing.」と述べ、ほとんどのSSAO実装が実世界の現象を反映していないと述べている。

グラフ分析

測定と分析方法

撮影された写真の分析では、壁(c)の幅は13.5インチで、エッジに沿った緑色のラインセグメントは約4インチの長さであった。垂直方向に垂直な場合は3インチと推定された。ピクセルサンプリングでは、すべての3つのチャンネルにわたって5x5のボックスフィルターが使用され、3x3のボックスフィルターでも同様の結果が得られた。

この記事は元記事の事実のみに基づいて自動生成されました。

出典

「Corners Don't Look Like That: Regarding Screenspace Ambient Occlusion」https://nothings.org/gamedev/ssao/

この記事をシェア