Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
URP の 2D Renderer と たわむれる
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ruccho
July 11, 2025
15
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
URP の 2D Renderer と たわむれる
https://unity-fully-understood.connpass.com/event/358068/
ruccho
July 11, 2025
More Decks by ruccho
See All by ruccho
Roslyn でフロー解析してみる
ruccho
0
690
WebAssemblyインタプリタを書く ~Component Modelを添えて~
ruccho
1
1.3k
Colonies
ruccho
0
680
タイルマップ拡張のススメ / Recommendation of Unity Tilemap Gotanda.unity #14
ruccho
0
3.7k
Featured
See All Featured
Jess Joyce - The Pitfalls of Following Frameworks
techseoconnect
PRO
1
330
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
Thoughts on Productivity
jonyablonski
76
5.3k
The agentic SEO stack - context over prompts
schlessera
0
860
Balancing Empowerment & Direction
lara
6
1.2k
Agile that works and the tools we love
rasmusluckow
331
22k
Embracing the Ebb and Flow
colly
88
5.1k
Optimizing for Happiness
mojombo
378
71k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
200
Accessibility Awareness
sabderemane
1
170
Design in an AI World
tapps
1
280
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
380
Transcript
URP の 2D Renderer と たわむれる るっちょ @ruccho_vector
およそ1年前…… • 『5年モノの個人開発2Dゲーム、そろそろURPに移行したいな~』 ◦ VFX Graphを使いたい ◦ BiRP廃止の影がちらつき始めた
やってみた URP 17.0.3 BiRP
URP移行でやったことを 紹介していきます
① 2Dライト
2Dライト • BiRPの頃のライト手法 ◦ スプライトにSurface Shaderを適用し、ノーマルマップを描いて3Dライトを当てていた ◦ 3Dのライティングを2Dに応用した形 • URPでは
◦ 2Dライトが標準サポートされている ◦ 専用の 2D Rendererを使う必要がある
2D Rendererのパイプライン • 先に画面全体のNormalと陰影を計算してから合成する手法 ◦ Deferred Rendering的ともいえる ◦ BiRPではForward Renderingのライト数制限がきつかったが、それも緩和された
② GrabPassがなくなった
GrabPassとは • 任意のシェーダー内で描画直前の画面をテクスチャとして 取得するBiRPの機能 • 画面をぼかしたり、歪ませるのに便利 • URPでは非対応だが、2D Renderer限定で Camera
Sorting Layer Texture という代替機能がある
Camera Sorting Layer Texture • URPで特定のSorting Layerの直後の画面をシェーダーから参照できる機能 • GrabPassのようにRenderer単位のキャプチャはできない レイヤーA
レイヤーB レイヤーC レイヤーD キャプチャ 参照 描画順
URP改造でGrabPassを再現する? • 残念ながら、SRPでは任意のRendererの直前や直後でバッチを切れない • 結論 SRPでGrabPassは(たぶん)無理 • 詳細が気になる人はこれを読んでください ◦ 各バッチに含めるRendererはRenderQueue,
LayerMask, SortingLayerなどで フィルタできるが、「特定のRendererの前後」ではフィルタする方法がない ◦ 作成したバッチにRendererListというデータが含まれているが、内容はC++側にあって C#からはアクセスできない
対応策 • URPを改造してこうする レイヤーA レイヤーB レイヤーC レイヤーD キャプチャ キャプチャ キャプチャ
キャプチャ 描画順
対応策 • GrabPassよりは単位が荒いが、概ね事足りた • Sorting Layerごとにバッチが切れるので性能は多少下がる • Sorting Layer数を増やしすぎないように レイヤーA
レイヤーB レイヤーC レイヤーD キャプチャ キャプチャ キャプチャ キャプチャ 描画順
③ Bloomの見た目が変わった
URPのBloom • BiRP (PostProcessing Stack v2) から実装が刷新されてルックも 変わり、パラメータをいじっても元のルックが再現できず BiRP (PPSv2)
URP標準
対応 • 旧実装をカスタムポストプロセッシングとしてURPに移植した BiRP (PPSv2) 移植後
④ RenderGraph対応
RenderGraph • URP 17 (Unity 6) で導入された新機能 ◦ ざっくりいうと、レンダリングパスの依存関係をもとに高度な最適化を行う機能 •
カスタムパス(Renderer Feature)の作り方が大きく変わっている • まだあまり情報がなく、手探りで対応 • (2D特有の事情は特になし)
まとめ
まとめ • GrabPassなど一部機能に不足はあるが、概ね問題なく移行できた • ライティングはむしろ進化した ◦ ライト数制限が緩和されてうれしい • URP改造するとURPに詳しくなれます