TATIKUNLOG.

主にゲーム作りについて書き留めるブログ。

URPのURP Package Samplesを見る【Unity】


PR

以前、公式のURPサンプルプロジェクトを取り上げました。

tat1kun.hatenablog.com

内容は異なりますが現在のURPではPackage Managerから公式のサンプルを入手することができるようになりました。

今回紹介するURP12からのサンプルではURP12からの新機能を使ったものも含まれて、新機能を触る際の参考にもなると思います。

環境

  • Unity 2021.2.0f1

  • Universal RP 12.1.0

導入方法

Package ManagerのUniversal RPのSamplesから導入することができます。

注意点として、URPのパッケージを入れた状態じゃないとSamplesは表示されません。

f:id:tat1kun:20211031135915j:plain:h400

内容紹介

Camera Stacking

カメラスタッキングの機能を使ったサンプルになっています。

つまり別のカメラの映像をメインカメラの映像に重ねて演出するサンプルですね。

以前紹介したURPサンプルの中にも同じような実装のものが含まれていました。

Mixed field of view

異なるFOV(Field of view)のカメラ映像を重ねるカメラスタックの使用例です。ここではFPS的な視点をFOVの異なる風景用のカメラ武器用のカメラを別々に用意して作成しています。

f:id:tat1kun:20211031144839j:plain:h350

Split screen

f:id:tat1kun:20211031150637j:plain:h350

カメラスタックを使ってポストプロセスの影響範囲を制御している例です。

ポストプロセスの有効無効はカメラ側で設定できるので、それを活用しています。例えば左の円柱側のカメラ映像は下側の文字にまでエフェクトがかかって薄くなっていますが、右の立方体側の映像は文字にはエフェクトがかかっていません。これは右側はポストプロセスを無効化したカメラに文字を描画、重ねて実装しています。

(シーン名はSplit screenと書かれていますが、映像分割は標準でカメラに備わっているViewport rectで実装しています)

3D skybox

カメラスタックで背景用の映像を重ねて活用している例です。

f:id:tat1kun:20211031155856j:plain:h400

Renderer Features

URP Renderer Feature | Universal RP | 12.1.0

RendererFeaturesを用いてどのようなことができるかの実装例のテストシーンが収録されていて、Ambient occlusion以外の4シーンはShader graphも活用して作成されています。

Ambient occlusion

Renderer Featuresでscreen space ambient occlusion (SSAO)を使用するテストシーンです。

f:id:tat1kun:20211031171330j:plain:h250

Glitch effect

レイヤーで指定したオブジェクトに対してグリッチエフェクトをかけるテストシーンです。

グリッチエフェクトはSceneColorを使ってShaderGraphで作成したマテリアルによって実装されています。

f:id:tat1kun:20211031172038j:plain:h250

Keep frame

f:id:tat1kun:20211031174348j:plain:h250

パーティクルを利用して渦のようなエフェクトを作成している例です。 フレーム間の色を保存しておき、保存された色が時間経過で消えるようにしているみたいです。

Occlusion effect

URPのドキュメントでも実装の仕方が詳しく書かれている、 遮蔽されている物体の描画を変化させるエフェクトの実装例です。

このシーンではオレンジのCubeの見え方を変化させています。

f:id:tat1kun:20211031174558j:plain
左:横から見た図 右:手前から見た図

Trail effect

f:id:tat1kun:20211031175445g:plain:h300

物体の通った場所をカメラで取得してテクスチャに情報として描き込んでおき、砂場の凹みとして適用しています。

f:id:tat1kun:20211031175745j:plain:h250
通った場所を記録しているテクスチャ画像

Lens Flares

レンズフレアエフェクトの作成・使用例を含んだシーンになっています。

f:id:tat1kun:20211031181128j:plain
レンズフレアの実装例

Decals

URP12から使用可能になったDecalの使用例のシーンです。

Blob shadows

f:id:tat1kun:20211031182824j:plain:h300

キャラクタの足元に簡易的な影を生成する使用例になっています。

Paint splat

f:id:tat1kun:20211031182532j:plain:h300

Decalに使用する画像を固定ではなく、シェーダから生成している例です。

詳細は省きますが、ランダムにインクのようなエフェクトを生成するのにも工夫して作成されています。

Proxy lighting

Blob shadowsの実装に加えて、Decalでライトを実装する例のシーンです。

f:id:tat1kun:20211031192828j:plain:h300
青いCapsuleの表面でスポットライトに照らされているのが分かります

Shaders

f:id:tat1kun:20211031193429j:plain

URPのLitマテリアルの作例を見ることができるシーンです。

おわりに

URPの学習ソースは限られていたので、公式でこういったものを配布してくれていると助かりますね。

今後も何かしらの新機能が実装されたときに作例のようなものが示されると使いやすくて良いですね。

参考

docs.unity.cn

forum.unity.com