Unity を検索

ユニバーサルレンダーパイプライン(URP)を使った人気のビジュアルエフェクトのレシピ 12 選を収めた e ブックが公開

2023年6月29日 カテゴリ: Engine & platform | 10 分 で読めます
This image and the cover image for the e-book are from PRINCIPLES, an adventure game from COLOPL Creators, the technology brand of COLOPL Inc, who developed the series of Shironeko Project and Quiz RPG: The World of Mystic Wiz.
This image and the cover image for the e-book are from PRINCIPLES, an adventure game from COLOPL Creators, the technology brand of COLOPL Inc, who developed the series of Shironeko Project and Quiz RPG: The World of Mystic Wiz.
シェア

Is this article helpful for you?

Thank you for your feedback!

このたび、ユニバーサルレンダーパイプライン(URP)エフェクトの作り方を解説した Unity の新しいクックブックを無料でダウンロードいただけるようになりました。本クックブックでは、さまざまなゲーム、アートスタイル、プラットフォームに適用できる、人気のビジュアルエフェクトのレシピを 12 個紹介しています。こちらを参考に、Renderer Feature、GPU インスタンシングメッシュ、デカール、Volumetric Materials などを作成してみてください。本クックブックは、ビルトインレンダーパイプラインを使用したプロジェクト開発経験があるクリエイター向けの URP の使用方法に関する情報満載の、『Introduction to the Universal Render Pipeline for advanced Unity creators(ユニバーサルレンダーパイプライン:上級 Unity クリエイター向け)』ガイドと合わせて使用することをお勧めします。

本クックブックでご覧いただけるレシピをざっと紹介します。

1. ステンシル

Renderer Feature を使用すると、ライティングとエフェクトでさまざまなことを試すことができます。このレシピは、必要最小限のコードのみを使用するステンシルに絞って取り上げています。サンプルプロジェクトに沿って進める場合は、エディターで「Scenes」>「Renderer Features」>「SmallRoom - Stencil」と選択し、サンプルシーンを開きます。

このサンプルプロジェクトは、拡大鏡越しに見るデスクの例を使用します。その目的は、拡大鏡のレンズを変換して、X 線画像のようにデスクを透視できるようにすることです。ここでは、レイヤーマスク、シェーダー、Renderer Feature の組み合わせを使用します。

Renderer Feature は、ドラマチックなカスタムエフェクトを実現したり、ゲームプレイの可能性を広げたりする、優れた方法なのです。

Stencils in action: As the magnifying glass moves over the desk, it can see through the drawers to reveal what’s inside.
ステンシルの動作:拡大鏡をデスクの上へ移動させると、引き出しの中身が透けて見えるようになっている。

2. インスタンシング

CPU と GPU の間でのデータのやりとりは、レンダーパイプラインの多大なボトルネックとなっています。同じジオメトリとマテリアルを使って何度もレンダリングしなければならないモデルがある場合には、Unity はそれを行うための優れたツールを提供しています。本クックブックのインスタンシングの章では、それらについて説明します。

このレシピは、一面に広がる草原を使用して、インスタンシングの概念について説明します。SRP Batcher、GPU インスタンシング、RenderMeshPrimitives、ComputeBuffer を使用します。

A field of grass rendered using an SRP Batcher-compatible material
SRP Batcher 互換マテリアルを使用してレンダリングされた草原

3. トゥーンシェーディングとアウトラインシェーディング

一緒に使用されることの多いトゥーンシェーダーとアウトラインシェーダーは、まったく異なる 2 つの課題を提示してきます。トゥーンシェーダーでは、URP 互換の Lit シェーダーを使用して作られる寒色を受け取り、連続的なグラデーションにするのではなくメリハリを付けた出力にするため、カスタムライティングモデルが必要です。

このレシピの例は、シェーダーグラフを使用します。ただし、シェーダーグラフはカスタムライティングに対応していないので、Main Light と Additional Lights へ直接アクセスするために使用できるノードはありません。代わりに、カスタムノードを利用してこれらにアクセスできます。

全詳細については、トゥーンシェーディングとアウトラインシェーディングのレシピを確認してください。

One scene, three different looks: Standard shading (left), with post-processing (center), and per-material shading (right)
1 つのシーンでの 3 つの異なる外観(スタンダードシェーディング(左)、ポストプロセス(中央)、マテリアルごとのシェーディング(右))

4. アンビエントオクルージョン

アンビエントオクルージョンは、Unity 2020.2 から使用できるポストプロセス手法です。このエフェクトは、相互に近接した溝、穴、交差点、サーフェスを暗くします。現実世界では、そういった領域はアンビエントライトが遮断、あるいは遮蔽されがちで、そのために暗く見えています。

URP を使用してリアルタイムのスクリーンスペースアンビエントオクルージョン(SSAO)エフェクトを Renderer Feature として実装する方法をご覧ください。

Screen Space Ambient Occlusion
スクリーンスペースアンビエントオクルージョン

5. デカール

デカールは、サーフェスにオーバーレイを挿入する方法として便利です。デカールは、シーン中にプレイヤーの操作と連動して弾痕やタイヤの溝など、そういった外観をゲーム環境に加えるためによく使われます。

このレシピに沿って進める場合は、URP Decal Projection のプロパティを調整する、マテリアルを作成することに加え、さらにコードを使用してデカールを追加します。

A new Decal Projector in action
新しい Decal Projector の活用事例

6. 水

わかりやすさを考慮して、この水のレシピはシェーダーグラフ内で作成されています。以下の 3 つのステップで構築されます。

  • 水の色を作成する
  • タイル状の法線マップを動かして、さざ波をサーフェスに加える
  • 動くディスプレイスメントを頂点位置に追加して、うねり(swell)のエフェクトを作成する

このレシピは単純な水のシェーダーの基本を作成するものです。「Caustic Reflections」、「Refraction」、および「Foam」を使用するとさらに効果を高めることができます。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

7. カラーグレーディング用の LUT

LUT テクスチャの使用は、劇的なカラーグラデーションを生み出す効果的な方法です。このアプローチは多くのゲームに役立ちます。ここで使用するのは 1 つのフィルターですが、必要なステップはすべてのフィルターに当てはまります。

Using Color Lookup to create grading effects
カラールックアップを使用したグレーディングエフェクトの生成

8. ライティング

URP でのライティングは、ビルトインレンダーパイプラインを使用する場合と似ています。一番大きな違いは設定を行う場所です。

本クックブックのこの章では、GPU プログレッシブライトマッパー、ライトプローブ、リフレクションプローブを使用して、リアルタイムライティングとシャドウに関連するレシピ(ベイクしたライティングや混合ライティングも含まれる)を扱います。フルコースディナーを用意できるほど十分なレシピを選ぶことができます。

シェーダーと色空間に関して頭に入れておくべきこと:URP でライティングを使用する際には、Lit シェーダーか Simple Lit シェーダーのどちらかを選べますが、その判断は主にアートの観点によります。リアルなレンダリングを求める場合は Lit シェーダーを、より定型化されたレンダリングを求める場合は Simple Lit を使用したほうが期待通りの結果が得られます。

The diorama scene mixing baked and real-time lighting
ベイクしたライティングとリアルタイムライティングが混在するジオラマのシーン

9. 影

影の設定は、URP で Renderer Data オブジェクトと URP アセットを使用して設定します。これらのアセットを使用して、影の忠実度を定義できます。

The URP Asset
URP アセット

このレシピには、メインライトと影の解像度、シャドウカスケード、ライトのベイクなどに関するヒントがあります。

Texel size by scale setting: In the top-left image, texel size is set to 0.5; in the top-right image, 0.2; in the bottom-left image, 0.1, and in the bottom-right image, 0.05.
スケール設定のテクセルサイズ:テクセルサイズは、左上の画像が 0.5、右上の画像が 0.2、左下の画像が 0.1、右下の画像が 0.05 に設定されています。

10. ライトプローブ

ライトプローブは、開発者が「Window」>「Rendering」>「Lighting」パネルから「Generate Lighting」をクリックしてライティングをベイクしたときに、環境内の特定の位置にライトデータを保存します。これにより、環境内を移動する動的オブジェクトのイルミネーションに、ベイクされたオブジェクトで使用されているライティングの強度が反映されるようになります。暗い場所ではオブジェクトが暗くなり、明るい場所では明るくなります。

こちらのレシピに沿って、編集のスピードアップのためにコードベースのアプローチを使用してライトプローブを配置する方法、シーン内にリフレクションプローブを使用する方法、それらを混在させる方法を身に付けましょう。

The robot inside and outside of the cave, with lighting level affected by Light Probes
格納庫の中と外で、ライトプローブによってライティングレベルに影響を受けているロボット

11. スクリーンスペースリフラクション

スクリーンスペースリフラクションは、レンダーパイプラインによって作成された現在の不透明なテクスチャをソーステクスチャとして、レンダリングされるモデルにピクセルをマップします。この方法とレシピでは、画像のサンプリングに使用される UV を変形させます。

法線マップを使用した、リフラクション(屈折)エフェクトの作成とリフラクションエフェクトの着色の方法について説明します。

An example of Screen Space Refraction
スクリーンスペースリフラクションの例

12. ボリュメトリック

これは、レイマーチングを使用して 3D テクスチャをレンダリングするレシピです。Unity でサポートされる 3D テクスチャは、1 つのテクスチャ上のグリッドに配置された画像の配列であり、テクスチャアトラスに似ています。違いは各画像のサイズが同じであることです。3D UV 値を使用して、使用する個々の画像の行と列を定義する UV.Z を含む画像のグリッドからテクセルを取得できます。

3D テクスチャを作成するときに Houdini を使用することもできます。3D テクスチャの代替としては、多層化されたパーリンノイズの使用、または Unity を使ったタイル配置可能なノイズテクスチャの事前ベイクなどがあります。

A cloud with ray marching
レイマーチングを使用した雲

その他のリソース

This cover image shown here is from PRINCIPLES, an adventure game from COLOPL Creators, the technology brand of COLOPL, Inc., who developed the series of Shironeko Project and Quiz RPG: The World of Mystic Wiz.
このカバー画像は、『白猫プロジェクト』や『クイズ RPG 魔法使いと黒猫のウィズ』のシリーズを開発した COLOPL, Inc., の技術ブランド COLOPL Creators によるアドベンチャーゲーム『PRINCIPLES』からのものです。

Unity から上級者向けの多くのリソースが提供されています。このブログ記事の冒頭で説明したように、e ブック『Introduction to the Universal Render Pipeline for advanced Unity creators(ユニバーサルレンダーパイプライン:上級 Unity クリエイター向け)』は、経験を積んだ Unity の開発者やテクニカルアーティストがプロジェクトをビルトインレンダーパイプラインから URP に移行する際に役立つ貴重なガイドです。

すべての上級者向け技術 e ブックおよび記事は、Unity ベストプラクティスハブにあります。e ブックは、上級者向けベストプラクティスのドキュメントページにもあります。

2023年6月29日 カテゴリ: Engine & platform | 10 分 で読めます

Is this article helpful for you?

Thank you for your feedback!

フォーラムでディスカッションに参加する
関連する投稿