2024.10.10
将来は卵1パックの価格が2倍に? 多くの日本人が知らない世界の新潮流、「動物福祉」とは
リンクをコピー
記事をブックマーク
高橋啓治郎氏(以下、高橋):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.11.13
週3日働いて年収2,000万稼ぐ元印刷屋のおじさん 好きなことだけして楽に稼ぐ3つのパターン
2024.11.11
自分の「本質的な才能」が見つかる一番簡単な質問 他者から「すごい」と思われても意外と気づかないのが才能
2024.11.13
“退職者が出た時の会社の対応”を従業員は見ている 離職防止策の前に見つめ直したい、部下との向き合い方
2024.11.12
自分の人生にプラスに働く「イライラ」は才能 自分の強みや才能につながる“良いイライラ”を見分けるポイント
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.11.11
気づいたら借金、倒産して身ぐるみを剥がされる経営者 起業に「立派な動機」を求められる恐ろしさ
2024.11.11
「退職代行」を使われた管理職の本音と葛藤 メディアで話題、利用者が右肩上がり…企業が置かれている現状とは
2024.11.18
20名の会社でGoogleの採用を真似するのはもったいない 人手不足の時代における「脱能力主義」のヒント
2024.11.12
先週まで元気だったのに、突然辞める「びっくり退職」 退職代行サービスの影響も?上司と部下の“すれ違い”が起きる原因
2024.11.14
よってたかってハイリスクのビジネスモデルに仕立て上げるステークホルダー 「社会的理由」が求められる時代の起業戦略