(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


モバイルの負荷やバッテリー消費を抑えて一部のポストプロセスが使えるOn Tile Post Processing【Unity】【URP】【ポストプロセス】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 6000.5.8f1


はじめに

Unityでは簡単にポストプロセスを使う事が出来ますが、

モバイル端末では「動作が重くなり過ぎる」「発熱する」「バッテリーの減りが早くなる」

みたいな事が起こるため、使用を避けたり、最低限に抑えたりする事も多いです。


そんな中、Unity6.5で負荷やバッテリー消費を抑えながらポストプロセスを使える

On Tile Post Processingという機能がURP専用で追加されました!

(Unity6.3でXR向けには追加されてたのが、全プラットフォームで使えるようになった形)



ということで今回は、このOn Tile Post Processingの紹介記事です!

なお、基本的に3D用の機能なので、あしからず。


On Tile Post Processing

そもそもOn Tile Post Processingはなんぞやという話からですが、

その名の通り、タイル上で直接エフェクトを適用する機能で、

パフォーマンスが向上するのはもちろん、発熱による性能低下やバッテリー消費も抑えられます。


ただし、対応しているのは以下のエフェクトのみで、

タイルの外のピクセル情報が必要なBloomなどには対応していません。

  • Color Grading (カラーグレーディング)
  • Tonemapping (トーンマッピング)
  • Vignette (ビネット)
  • Dithering (ディザリング)
  • Film Grain (フィルムグレイン)


また、効果があるのはVulkanやMetalで動くタイルベースGPUの端末(スマホやQuest等)のみです。

(それ以外の端末でも普通に動くが利点がなくなるという事)


On Tile Post Processingの使い方

使うにはまず、Universal Renderer DataをInspectorで開き、

Post-processingを無効にし、RenderingにあるTile-Only Modeを有効にします。

(デフォルトの状態だとMobile_Rendererがモバイル用のUniversal Renderer Data)


ただし、Main CameraのPost ProcessingはONのままです。


最後に、Add Renderer FeatureからOn Tile Post Processingを追加すれば準備は完了です。


これで通常のポストプロセスと同様に、

Volumeから対応エフェクトを追加して使えば負荷などを抑えたポストプロセスが使えます。


ちなみに、ちゃんとタイル上で処理されているかはRender Graph Viewerで確認可能です。