mcpField
T
threejs-screen-space-ambient-occlusion

threejs-screen-space-ambient-occlusion

github.com/scottsttsクリエイティブ・メディア94697 回インストール6 日前に更新
リポジトリ

threejs-screen-space-ambient-occlusion について

Three.jsのスクリーンスペース環境遮蔽を実装するためのスキルです。環境可視性を推定して間接光に適用し、GTAO、ベント法線、ノイズ除去、AOの適用を扱います。

主な機能

  1. 01線形深度とビュー空間法線の検証
  2. 02ビュー位置の再構築
  3. 03地平線可視性のサンプリング
  4. 04深度・法線を考慮したノイズ除去
  5. 05間接光へのAO適用

活用シーン

  1. 01Three.jsシーンでのGTAO実装
  2. 02スクリーンスペースAOのノイズ除去
  3. 03直接光と発光の保持
  4. 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 は、失われている環境遮蔽を推定します。間接光に適用する必要があり、シーン全体の色を暗い乗算で塗り直してはいけません。

ワークフロー

  1. リニア深度とビュー空間法線を確認します。
  2. 一貫した方法でビュー位置を再構築します。
  3. 制御された半径で地平線可視性をサンプリングします。
  4. AO と、オプションでベント法線を推定します。
  5. 深度と法線を考慮したフィルターでノイズを除去します。
  6. AO を間接拡散光と環境応答に適用します。

references/gtao-bent-normal-pipeline.md をお読みください。

失敗条件

  • 直接光と発光が暗くなる;
  • 半径がピクセル単位だけで指定されている;
  • 前景のシルエットに、スクリーンスペース上の厚いハローが生じる;
  • 深度の不連続部分が一緒にぼかされる;
  • ワールド空間での半径がサブピクセルになる距離でも、AO が強く残る;
  • ベント法線が通常の幾何法線として扱われる;
  • この経路にはないにもかかわらず、実装が時間方向の蓄積を行うと主張している。

適用範囲

このスキルは、GTAO のギャザリング、ベント法線、ノイズ除去、AO の適用を担当します。 深度/法線バッファーやパス順序を他のイメージスペースシステムと連携させる必要がある場合にのみ、$threejs-image-pipeline を使用してください。

コメント