レガシーポストエフェクト
レガシーの Script ベースのポストエフェクトは非推奨であり、将来のメジャーバージョンのエンジンで削除されます。引き続き動作しますが、カメラに追加するとデバッグビルドのエンジンで非推奨の警告が出力されます。代わりに CameraFrame を使用してください。CameraFrame への移行 を参照してください。
PlayCanvas では、レガシーの Script ベースのポストエフェクトを提供しています。そのそれぞれに CameraFrame による新しくパフォーマンスのよい代替があるか、CameraFrame の独自エフェクトとして作成できます。
セットアップ
ポストエフェクトは Script として実装しており、Camera コンポーネントが付いた Entity に追加できます。カメラにポストエフェクトを追加する手順は次のとおりです。
-
下記のいずれかのエフェクトを選び、GitHub のリンクから Script を取得します。
-
カメラを表す Entity に Script コンポーネントを追加します。
-
希望するポストエフェクトの Script をカメラ Entity の Script コンポーネントに割り当てます。Script コンポーネントに列挙されたポストエフェクト Script の順序が、適用される順序になります。
独自のポストエフェクトを作成することもできます。追加の例は GitHub にあります。
CameraFrame への移行
カメラからレガシーのポストエフェクト Script を削除し、代わりに CameraFrame を追加します。Editor では CameraFrame Script をアタッチし、コードでは CameraFrame を作成します。次に、レガシーのエフェクトを置き換えるエフェクトを有効にします。
| レガシー Script | CameraFrame での代替 |
|---|---|
Bloom (posteffect-bloom.js) | ブルーム (bloom) |
Bokeh (posteffect-bokeh.js) | 被写界深度 (dof) |
Brightness-Contrast (posteffect-brightnesscontrast.js) | カラーグレーディングの brightness と contrast (grading) |
Hue-Saturation (posteffect-huesaturation.js) | カラーグレーディングの saturation (grading)。色相の変更には カラールックアップテーブル (colorLUT) を使用します |
Luminosity (posteffect-luminosity.js) | saturation を 0 にしたカラーグレーディング (grading) |
Sepia (posteffect-sepia.js) | カラールックアップテーブル (colorLUT) |
Vignette (posteffect-vignette.js) | ビネット (vignette) |
FXAA (posteffect-fxaa.js) | マルチサンプリング (rendering.samples)、テンポラルアンチエイリアス (taa)、または SmaaEffect |
SSAO (posteffect-ssao.js) | アンビエントオクルージョン (ssao) |
Outline (posteffect-outline.js) | OutlineRenderer |
| Edge Detect、Blend、Horizontal / Vertical Tilt Shift | 組み込みの代替はありません。独自のエフェクト を作成してください |
レガシーのエフェクトは、カメラの disablePostEffectsLayer を変更しない限り、UI レイヤーとそれ以降のレイヤーには適用されません。CameraFrame は Immediate レイヤーまでのレイヤー (Immediate レイヤーを含む) にエフェクトを適用し、UI などの以降のレイヤーはエフェクトの後にレンダリングします。