mcpField
L
light-scene

light-scene

github.com/playcanvasクリエイティブ・メディア31311 回インストール1 週間前に更新
リポジトリ

light-scene について

Engine のシーン照明とレンダリングを扱うスキルです。スクリーンショットを確認しながら、環境光、トーンマッピング、影、ポストエフェクトを調整する手順を示します。

主な機能

  1. 01環境光と環境マップの調整
  2. 02トーンマッピングと露出の設定
  3. 03影の有効化と解像度設定
  4. 04CameraFrame のポストエフェクト
  5. 05照明と色の問題の診断

活用シーン

  1. 01照明のない面を明るくする
  2. 02露出とライト強度を調整する
  3. 03影や空で被写体を際立たせる
  4. 04白飛びや黒つぶれを調査する

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/playcanvas/skills --skill light-scene

インストール後、Claude Code で/light-sceneを入力して読み込まれたか確認します。

詳細

シーンのライティングとレンダリング

エンジンのデフォルト設定では、平坦で暗い画像になります。意図的に変更してください。スクリーンショットを確認しながら、一度に1種類の値を調整します。

変更するデフォルト設定

  • scene.ambientLight は黒なので、ライティングされていない面は真っ黒にレンダリングされます。環境アトラスやスカイボックスからの環境光と反射光を追加するか、アンビエントカラーを設定してください。
  • カメラのデフォルトは TONEMAP_LINEAR です。TONEMAP_NEUTRAL、TONEMAP_ACES2、または TONEMAP_FILMIC を選択し、(CameraFrame を使う場合は cameraFrame.rendering.toneMapping で)露出を設定してから、光の強度を調整してください。
  • シャドウは無効になっています。キーライトで castShadows を有効にしてください。ディレクショナルライトの shadowDistance は 40 m なので、大きなシーンではカスケードを使用し、静的なシャドウには SHADOWUPDATE_THISFRAME を使用してください。フレーム内の被写体に合わせて解像度を設定します。
  • ライトはローカル座標の -Y 方向を照らします(apply-conventions)。

標準機能を活用する

  • CameraFrame はトーンマッピング、ブルーム、SSAO、DOF、ビネット、カラーグレーディングを処理します。変更後に update() を呼び出し、アプリとともに破棄してください。ブルームの強度は、ドキュメントに記載された 0~0.1 の範囲内に保ちます。
  • scene.sky.type(SKYTYPE_DOME、SKYTYPE_BOX、SKYTYPE_INFINITE)で環境スカイをシーンになじませます。
  • ProceduralSky スクリプトは連動する太陽光を管理します。まずライトの基本強度を設定し、その後、ライトではなくスカイの高度と方位角を調整してください。
  • ShadowCatcher スクリプトを使うと、ライティングされた床がない被写体をシーンになじませられます。
  • クラスタードライティングはデフォルトで有効なので、多数のポイントライトやスポットライトも低コストで使用できます。
  • 静的なライトは bake-lighting でベイクし、シェーディングのスタイルは override-shader-chunks で調整します。

find-examples で各インテグレーションのサンプルを探してください。

注意すべき兆候

  • アルベドが白っぽくなる:マテリアルを暗くする前に、露出、スカイ、ライトの強度を下げてください。
  • 広い範囲が白飛び、または黒つぶれする:ポストエフェクトを追加する前に、露出とライトのバランスを調整してください。
  • フォグの色がスカイの地平線と異なると、地平線に境目が生じます。

コメント