2024.12.19
システムの穴を運用でカバーしようとしてミス多発… バグが大量発生、決算が合わない状態から業務効率化を実現するまで
リンクをコピー
記事をブックマーク
高橋啓治郎氏(以下、高橋):1つオマケです。「SwapBuffer」という要素について。URP 12のWhat's Newを覗いてみると、「SwapBuffer」と書いてあります。4行くらいでサラッと書かれていますが、これだけ見てもなんのこっちゃわからないので説明します。
SwapBufferは、Scriptable Render PassにBlitというファンクションが追加されたというアップデートです。わかりやすく言うと、「Renderer Featureを使ってポストエフェクトを組むのがすごく楽になる」機能です。
以前から、Renderer Featureを使うことによってポストエフェクト的なものを組むことはできたんですが、今描かれているフレームバッファに対してポストエフェクトをかけたい場合、これを元に自分で確保したテンポラリのレンダーテクスチャに1回Blitしてから、またこちらに戻すというようにBlitが2回発生します。このテンポラリのRTは誰がどこで確保して、どこで誰が破棄するんだろうと考え出すと複雑になってしまうんです。
しかし、先ほど追加されたRender PathのBlitを使うことによって、URPが勝手に今のフレームバッファとは別にBlit用のRTを用意してくれて、ユーザーがマテリアルを渡すだけでBlit処理を行ってくれます。しかも、これがいつ死ぬかとか誰が確保するのかはぜんぜん気にしなくてOK。マテリアルを1個渡すだけで、フルスクリーンエフェクトが組めてしまうというお手軽な仕組みです。
(スライドを指して)サンプルを見てみると、相変わらずグルーコード的な短いコードを書かないとできないのがなんとも苦々しいですが、これだけのコードを書けばサクッとポストエフェクトを組めるようになりました。やっていることは、マテリアルをインスペクタから貼り付けられるようにして、最終的にBlitを読んでいるだけなので、すごく簡単なスクリプトです。
スクリプトを使ったうえで、ここではシェーダーグラフを使ってフルスクリーン色反転エフェクトを作ってみました。フレームバッファ、メインテクスチャをサンプリングして、One Minusを使って色の要素を全部0・1の間で反転して、フラグメントに書き込むだけのシェーダーグラフです。これをマテリアルにして先ほどのスクリプトにプロパティで突っ込むので、Renderer Featureを有効にすれば、このようにフルスクリーンエフェクトがいきなり動いてくれます。
大下岳志氏(以下、大下):なるほど。
高橋:このようにすごく簡単にフルスクリーンエフェクトを組めるようになったので、みなさんも試してみてはいかがでしょうか。特に、シェーダーグラフでサクッとフルスクリーンエフェクトを組めるのはすごく楽しいので。
大下:そうですね。
高橋:創意工夫して、いろいろなエフェクトを楽しんでほしいと思っています。
大下:コメントがメチャクチャポジティブです。
高橋:うれしいね(笑)。将来的にはコードさえも組まなくていいようにしたいと思っていますが、今は最低限のコードさえ用意すればこういったことが簡単にできるという段階です。今日のサンプルプロジェクトやサンプルコードが入ったサンプルリポジトリをスライドのGitHubのkeijiroのURPTestbedにアップしておいたので、おさらいする時に参考にしてもらえたらと思っています。
アーティスト目線での注目ポイント、プログラマーというか技術的な目線での注目ポイントをいくつか紹介しました。後半のコーナーでは、これ以外のアップデート内容を細かくチェックしていきます。
高橋:「残りの項目をチェックしよう!」と題して後半のコーナーを始めます。前半に説明しなかったWhat's Newを、順に軽く網羅していきたいと思います。
Secene Debug Viewは、先ほど大下さんに触れてもらったので飛ばして、「Reflectin probe blending and box projection support」です。Reflection probeの機能改善も入ったんですよね。
大下:はい。これはわかりやすいと思います。1つ目は、2つのprobeだったり、遠くから近づいたりした時にフェードがかかる、あるいは2つの間をブレンドする機能です。
高橋:blendingですね。
大下:そうですね。2つ目は、box projection。これもビルトインにはもう入っていたんですが、probeの領域をboxで定義することで、その中に入った時の反射の正確性を上げるというテクニックです。
高橋:(スライドを指して)特にこういう四角い壁に囲まれたシーンの反射は、box projectionをオンにすると見た目が顕著にリアルになります。
大下:そうですね。壁から床に落ちているシーンでの整合性がすごく上がるので、いいと思います。
高橋:URPでビルトインと同じ、もしくはそれ以上のことができるようになるのが我々の大目標なので、それがReflection probeにおいても達成されたという感じですね。
大下:「オプションがあるのに有効にならない」とコメントがあります。以前はそうだったかもしれませんが、今でもクオリティセッティングでチェックボックスにチェックを入れないと、この2つは動かないと思います。
高橋:なるほど。一度クオリティセッティングを確認してくださいという感じですね。「URP Deferred Rendering Path」は先ほど説明したので飛ばします。Deferredを使う前にこのドキュメントを一度見てください。すごく丁寧に書かれていて僕も驚きました。
高橋:説明したものは飛ばして、次は「URP Light Cookies」です。僕はLight Cookiesを使ったことがないのでイマイチ実感がないんですが。
大下:そうですね。これもビルトインの時からあったんですが、メインの機能はテクスチャを使ってライトの影響範囲にマスクをかけることです。それを使ってライトのプロファイル、形状を作ったり、スライドの絵のように特定の色だけをフィルターのように出したりできる。HDRPよりもずっと簡素な作りです。
高橋:なるほど。Light Cookiesも使えるようになったので、ここでもビルトインを越えるという目標が達成されたのかな。
大下:そうですね(笑)。着実に。
高橋:「Render Pipeline Converter」はなんでしたっけ。
大下:使ってみていい感じだったので、短い動画にまとめました。これは、ビルトインからURPへのコンバートをスムーズにする機能です。使い方は、最初にビルトインで用意したプロジェクトにURPのパッケージを読み込みます。
その後にRender Pipeline Converterを起動して、先に一度イニシャライズで変更ポイントの抽出を行うとスライドのように一覧が出てくるので、確認してコンバートアセットすると、すべてのチェックした項目にURP向けの変更が加わります。基本的にそれだけでURP化はおしまいです。
高橋:なるほど。今回サムネの背景に使ったシーンですね。
大下:そうです。不正なデータもありましたが、実際は特に影響なくそのまま動かすことができました。
高橋:これはありがたいですね。
大下:そうですね。独自のシェーダーが入るとまだ怪しいところはあると思いますが、お試しでプロジェクトを切り替えてみようという時には、すごくハードルが下がったんじゃないかと思います。
高橋:アセットストアで買ったビルトインしか対応してないアセットとかね。
大下:そうですね。
高橋:いいのかもしれませんね。
大下:わりとうまく動いてうれしかったので、動画を作ってみました。以上です。
高橋:Render Pipeline Converterもすごくなりましたね。
高橋:「Motion Vectors」は、Motion VectorsのレンダリングができるようになったことでMotion Blur effectに必要なものですね。
大下:そうですね。ただ、今のところMotion Vectorsがレンダリングできるようになった以上の機能ではない気がしています。
高橋:僕もそう思います。最終的にはこれを使ってテンポラルアンチエイリアスもかけられるようになるといいんですが、とりあえずエフェクトを組むためのインフラとして必要なものなので下地を整えられたという解釈でいいのかな。
大下:今後に期待できそうですね。
高橋:そういうことにしておきましょう。
(次回へつづく)
関連タグ:
2024.12.20
日本の約10倍がん患者が殺到し、病院はキャパオーバー ジャパンハートが描く医療の未来と、カンボジアに新病院を作る理由
2024.12.19
12万通りの「資格の組み合わせ」の中で厳選された60の項目 532の資格を持つ林雄次氏の新刊『資格のかけ算』の見所
2024.12.16
32歳で成績最下位から1年でトップ営業になれた理由 売るテクニックよりも大事な「あり方」
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
PR | 2024.12.20
モンスター化したExcelが、ある日突然崩壊 昭和のガス工事会社を生まれ変わらせた、起死回生のノーコード活用術
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2024.12.18
「社長以外みんな儲かる給与設計」にした理由 経営者たちが語る、優秀な人材集め・会社を発展させるためのヒント
2024.12.17
面接で「後輩を指導できなさそう」と思われる人の伝え方 歳を重ねるほど重視される経験の「ノウハウ化」
2024.12.13
ファシリテーターは「しゃべらないほうがいい」理由 入山章栄氏が語る、心理的安全性の高い場を作るポイント
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
Climbers Startup JAPAN EXPO 2024 - 秋 -
2024.11.20 - 2024.11.21
『主体的なキャリア形成』を考える~資格のかけ算について〜
2024.12.07 - 2024.12.07
Startup CTO of the year 2024
2024.11.19 - 2024.11.19
社員の力を引き出す経営戦略〜ひとり一人が自ら成長する組織づくり〜
2024.11.20 - 2024.11.20
「確率思考」で未来を見通す 事業を成功に導く意思決定 ~エビデンス・ベースド・マーケティング思考の調査分析で事業に有効な予測手法とは~
2024.11.05 - 2024.11.05