threejs-screen-space-ambient-occlusion について
Three.jsのスクリーンスペース環境遮蔽を実装するためのスキルです。環境可視性を推定して間接光に適用し、GTAO、ベント法線、ノイズ除去、AOの適用を扱います。
主な機能
- 01線形深度とビュー空間法線の検証
- 02ビュー位置の再構築
- 03地平線可視性のサンプリング
- 04深度・法線を考慮したノイズ除去
- 05間接光へのAO適用
活用シーン
- 01Three.jsシーンでのGTAO実装
- 02スクリーンスペースAOのノイズ除去
- 03直接光と発光の保持
- 04AOと画像空間パスの調整
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ scottstts/ threejs-awesome-graphics-agent-skills --skill threejs-screen-space-ambient-occlusionインストール後、Claude Code で/threejs-screen-space-ambient-occlusionを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yamlreferences/gtao-bent-normal-pipeline.md
詳細
スクリーンスペース・アンビエントオクルージョン
AO は、失われている環境遮蔽を推定します。間接光に適用する必要があり、シーン全体の色を暗い乗算で塗り直してはいけません。
ワークフロー
- リニア深度とビュー空間法線を確認します。
- 一貫した方法でビュー位置を再構築します。
- 制御された半径で地平線可視性をサンプリングします。
- AO と、オプションでベント法線を推定します。
- 深度と法線を考慮したフィルターでノイズを除去します。
- AO を間接拡散光と環境応答に適用します。
references/gtao-bent-normal-pipeline.md をお読みください。
失敗条件
- 直接光と発光が暗くなる;
- 半径がピクセル単位だけで指定されている;
- 前景のシルエットに、スクリーンスペース上の厚いハローが生じる;
- 深度の不連続部分が一緒にぼかされる;
- ワールド空間での半径がサブピクセルになる距離でも、AO が強く残る;
- ベント法線が通常の幾何法線として扱われる;
- この経路にはないにもかかわらず、実装が時間方向の蓄積を行うと主張している。
適用範囲
このスキルは、GTAO のギャザリング、ベント法線、ノイズ除去、AO の適用を担当します。
深度/法線バッファーやパス順序を他のイメージスペースシステムと連携させる必要がある場合にのみ、$threejs-image-pipeline を使用してください。
コメント
Markdown 対応