Processingのカスタムエフェクトとして実装する方法です。Processingの導入方法は下記の記事にまとめてありますので必要に応じて参照してください。light11.hatenadiary.comシェーダを書くまずはシェーダを書きます。今回はレンダリング結果を拡大できるポストエフェクトを書いてみます。}}このシェーダはSRPとの互換性を保つことを前提としているためいくつか従来の書き方と異なる点があります。CGPROGRAMではなくHLSLPROGRAMを使うStdLib.hlslをインクルードする必要があるテクスチャのサンプリング方法など、一部APIが従来のものと異なる3については下記にAPIがまとまっているのでこれを参照すると良いようです。ここは少しずつ調べていけばいいでしょう。github.comPostProcessEffectSettingsを書く次にPostProcessEffectSettingsというクラスを継承したクラスを作ります。ScriptableObjectを継承しているのでクラス名とファイル名は一致させてください。}}簡単な説明はコメントに書いていますが、以下に何点か補足します。クラスにはPostProcessアトリビュートをつけます。この第一引数には対応するPostProcessEffectRendererを指定しますが、これは次節で説明します。第二引数にはポストエフェクトを掛けるタイミングを設定しますが、これも適用順序の節で後述します。第三引数はポストエフェクトをInspectorから選択するときのパスを指定します。第四引数はポストエフェクトをSceneビューにも適用するかどうかのフラグで、デフォルトはtrueで省略可能です。Inspectorから調整できるようにするパラメータはXxxParameterという型で定義します。組み込まれている型は下記から確認できます。github.com現状定義されているものは次の通りです。FloatParameterIntParameterBoolParameterColorParameterVector2ParameterVector3ParameterVector4ParameterSplineParameterTextureParameterこのパラメータについてはParameterOverrideクラスを継承すれば自作できるようです。PostProcessEffectRendererを書く次にPostProcessEffectRendererを継承したクラスを作ります。こちらはファイル名とクラス名を合わせる必要はないので前節のコードと同じファイルに定義しても問題ないです。}}説明はコメントに書いた通りです。内部的にはMaterialPropertyBlockとCommandBufferを使って実装しているようです。使ってみるこれで実装は完了したので使ってみます。Scalingを選択します。結果は次のようになります。動いていることが確認できました。シェーダがビルドに含まれない?前々節のPostProcessEffectRendererではシェーダをShader.Find()で検索しています。Includedにの設定をするかResourcesに入れないとビルドに含まれないようです。websiteこれは非常にミスりそうです。未検証ですが、こんな感じでPostProcessEffectSettingsにシリアライズしておけばいい気もします。}}カスタムポストエフェクトの適用順序を変更する次にポストエフェクトを掛けるタイミングの制御の仕方を説明します。組み込みエフェクトの前に掛けるか後に掛けるかといった大枠のタイミングが指定ができます。Sortingを使うとエフェクト毎の適用順序を変更できます。Inspectorを拡張するカスタムポストエフェクトのInspectorを拡張する場合はPostProcessEffectEditorを継承したクラスを作成します。}}OnInspectorGUI()の書き方は普通のInspector拡張と同じようにEditorGUILayoutなどを使って組んでいけばよさそうです。FXAAを使う場合は書き方に注意するFXAAを使っている場合、FXAAはカスタムポストエフェクトの後に処理されることになります。このとき、FXAAはレンダリング結果のアルファ値に輝度情報が入っている前提で処理をします。よってFXAAを有効にしていて、かつ処理順序をPostProcessEvent.AfterStackにする場合には、アルファ値を変更しないように気を付ける必要があるようです。»プロフィールUnityエンジニア。グラフィックスへの興味が強めです。Blur(渦巻ブラー)のポストエフェクトを実装する月別アーカイブはてなブログをはじめよう!halya_11さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。