エフェクトは、最終レンダリング後の画面に対してポストプロセス処理を適用します。各エフェクトは、レイヤー一覧の上にあるシーンエフェクトグループに独立した項目として表示されます。インベントリのシーンエフェクトカテゴリから追加し、目のアイコンで有効・無効を切り替えます。選択すると一覧の下に調整パラメータが表示されます。追加されていないエフェクトは一覧に表示されず、既存のシーンにも影響しません。
単一のエフェクト段に属さず画面全体に適用されるグローバル表示設定(トーンマッピング、露出、LUT)は、ステージ詳細パネルの環境セクション末尾にある画面ルックに配置されています。
各エフェクト設定は個別のシーンに紐づいているため、シーンを切り替えることで同一のアバターにまったく異なるビジュアルスタイルを適用できます。
対応シーン
エフェクトパイプラインは3Dステージ上で動作します。シーンに何らかのレイヤー(Live2DやVRMアバターなどのモデル、3Dオブジェクト、2Dの画像・動画・Webページ・テキスト)が含まれているか、環境のシーンモデルが読み込まれていれば、エフェクトを追加でき、画面ルックの設定項目も表示されます。2Dオブジェクトのみのシーンでは、環境セクションには画面ルックのみが表示され、カメラやライトなどの3D設定項目は非表示のままです。
インベントリのシーンエフェクトカテゴリが理由付きで無効化されるのは、シーンが完全に空(レイヤーも環境のシーンモデルもない)の場合のみです。
エフェクトチェーン
スタイライズ
以下のエフェクトもポストプロセスチェーン内で動作し、画面のピクセル表現を変化させて演出やシーン転換、レトロな世界観づくりに活用できます。
シーンエフェクトとレイヤーエフェクト
エフェクトシステムは2つの異なる階層で機能します。本ページで解説しているシーンエフェクトは合成後の画面全体に適用されるポストプロセスであり、レイヤーエフェクトは個別のモデルやオブジェクトに直接割り当てられ、シーンに合流する前の段階で独立して処理されます(背景画像のみをぼかしたり、特定の小道具のみを色調整したりする場合など)。
全24種類のシェーダーエフェクトのうち、13種類がレイヤーエフェクトに対応しています。対応エフェクトの一覧や設定方法、適用可能なオブジェクトの詳細は、レイヤーエフェクトを参照してください。
画面ルック
環境セクション末尾のルック設定項目では、画面全体の基本表示パラメータを管理します。以下の項目は個別のレイヤーとしては追加されません。
| 項目 | 説明 |
|---|---|
| トーンマッピング | 最終ディスプレイ変換(詳細はトーンマッピングと露出を参照) |
| 露出 | ディスプレイ変換前に適用される画面全体の明るさゲイン |
| LUTを選択… | グレーディングLUTを読み込み、適用強度スライダーで混合比率を調整可能 |
処理順序
エフェクトの処理順序はパイプライン内部で固定されており、レイヤー一覧の並び順を変更しても変化しません。複数のエフェクトが有効になっている場合、各段は前段の出力結果を順番に処理します。
- 被写界深度:組み込みパイプラインの中で唯一シーンの深度バッファ(Depth Buffer)を参照するため、最優先で実行されます。
- Live2Dレイヤー(2D空間の画像・動画を含む):被写界深度の後に描画されます(平面グラフィックには深度が存在しないため)。ただし、すべてのカラー処理より手前に配置され、2D/3Dの双方が統一されたカラー調整を受けられるようにします。
- リムライト → アウトライン → ドロップシャドウ:シルエットベースのエフェクト群。この順序により、リムライトがアウトライン枠の内側に収まり、シャドウがアウトラインとリムライトを含めた複合シルエットから投影されます。
- 魚眼 → 色収差:魚眼はそれまでに描画されたすべてを曲げ、色収差以降のステージは画面に対してまっすぐ保たれます。
- ブルーム → ディフュージョン → スケッチ
- カラー処理段:LUT → カラーグレーディング → レベル補正 → カラーホイール → カラーシフト → 色の選択
- グラデーション:カラー処理段の直後に配置され、グラデーションオーバーレイがカラー調整で再着色されるのを防ぎます。
- ブラー:カラー処理の後に配置され、グレーディング済みの画面全体を均一にぼかします。
- フレア:ブラーの後に配置され、レンズフレアがブラー処理によって失われるのを防ぎます。
- ピクセル化およびSubspace Glitch™:画面をモザイク状にしたり、信号断裂を起こしたりする処理。
- 雨粒:前景ガラスに付着した水滴の屈折オーバーレイ。
- フィルムグレインおよびビネット:レンズ表面のノイズや周辺減光フィルター。画面の最前面に位置します。
- エディタのUIコンポーネント(全レンダリング画面の最上位)。
トーンマッピングと露出は上記のエフェクト段には含まれません。これらはディスプレイ変換(Display Transform)として、画面出力直前の最終画像に適用されます。
雨と雪もポストプロセスの段ではなく、シーン内の3Dパーティクルジオメトリです。ポストプロセスパイプラインが開始される前の初期ジオメトリパスで描画されるため、上記のすべての段が適用されます。
レイヤーエフェクトはグローバルチェーン内では実行されません。所属するレイヤーがメインシーンに合流する前のプリコンポジション段で処理されます。
パフォーマンスコスト
有効なエフェクトごとに画面処理の計算が追加されるため、GPUの描画負荷が増加します。設定には画質とフレームレートをトレードオフできる設定項目が用意されています。
- レンダリング解像度:3Dステージを描画するキャンバスサイズを設定します。解像度を下げることで、全画面エフェクトの処理負荷を大幅に削減できます。
- エフェクト品質:ポストプロセスエフェクトのアンチエイリアスとサンプリング精度を調整します。
すべてのエフェクトが無効な場合、Personaはポストプロセスパイプライン全体をスキップしてキャンバスへ直接出力するため、エフェクト未使用時の追加オーバーヘッドは発生しません。
プラグインAPI
すべてのエフェクト値はSceneEffectsオブジェクトの各フィールドに対応しており、scene.patchで更新し、scene.changedイベントで変更を監視できます。データ構造はフラットに保たれており(エフェクトごとに1つのキーを持ち階層構造化されていない)、クライアント側でレジストリ全体を汎用的に走査できます。詳細はSDKリファレンスを参照してください。
エフェクトが有効かどうかと、シーンエフェクトグループに項目があるかどうかは、別々に管理されます。
enabled:エフェクトが現在有効かどうか。environment.effectLayers:組み込みエフェクトキーの配列。どのエフェクトの項目を一覧に表示するかを決めます。
patchでエフェクトを有効化すると、そのキーが自動的にeffectLayersに追加されるため、プラグインから両方を指定する必要はありません。
パネル、オートメーション、API patchのどこから切り替えても、エフェクトは0.4秒かけてフェードイン/アウトし、画面が急に切り替わることはありません。オートメーションによって適用される数値やカラーも、同じ0.4秒で滑らかに補間されます。
レイヤーエフェクトも同一のデータ構造を踏襲しており、レイヤーオブジェクト自体に保持されます。各モデルおよびオブジェクトはそれぞれ独立したeffectsとeffectLayersプロパティを持ち、フィールド名はシーン側の定義と完全に同一です。
最終更新日:2026年11月3日