はじめに
公式の動画を見ていたところURP
で利用可能なレンズフレアの紹介をされていて、面白そうだったので試してみました。
公式ドキュメントにはURP 12 (Unity 2021.2)
のNew feature
として紹介されていますね。
docs.unity3d.com
厳密にはUniversal RP 12.0.0
から実装されているので、Unity 2021.2.0b14
以降なら利用可能だと思います。
今回はこちらの画像を実現するためのやり方を紹介したいと思います。
環境
Unity 2021.2.18f1
Universal Render Pipeline 12.1.6
Lens Flare (SRP)コンポーネントをアタッチ
Lens Flare (SRP)
コンポーネントを光らせたいゲームオブジェクトにアタッチします。(例. Directional Light
)
ただコンポーネントをアタッチするだけでは動作はせず、必ずLens Flare Data SRP
というアセットを参照させる必要があります。
Lens Flare Data SRPアセットの作成方法
Project
ビューから、任意の場所にてCreate -> Lens Flare (SRP)
を選択し、アセットを作成します。
またコンポーネントと紐づけるにはドラッグ&ドロップしてください。
Lens Flare(SRP)のプロパティ
General
プロパティ | 意味 |
---|---|
Lens Flare Data | このコンポーネントが利用するLens Flare (SRP) Data asset 。 |
Intensity | レンズフレアの強さ。 |
Scale | レンズフレアの大きさ。 |
Screen Attenuation Curve | 画面端からの距離に応じてレンズフレアの効果を弱める。 |
Occlusion
プロパティ | 意味 |
---|---|
Enable | 深度バッファに基づきレンズフレアを部分的に弱める。 |
Allow Off Screen | カメラの視野外のレンズフレアが現在の視野に影響を与えるようする。 |
Lens Flare Data SRPの設定
レンズフレアのカスタマイズをするにはLens Flare Data SRP
にレンズフレアのデータを設定しなくてはならないのですが、正直かなり難しいです。
冒頭で紹介した動画でも同じことをお話されていて、サンプルのLens Flare Data SRP
を利用すると良いとのことでした。
ということで私も同様にサンプルから引っ張ってきたいと思います。
サンプルのインポート
Lens Flare
のサンプルはPackage Manager
からUniversal RP
を開き、Samples
にあるURP Package Samples
をインポートします。
またLensFlares
フォルダ以外のサンプルは利用しなければ削除しちゃってOKです。
Lens Flare Data SRP
はSamples/Universal RP/〇〇/URP Package Samples/LensFlares/LensFlarePresets
の中に入ってますね。
面白い応用例
動画でも言われていましたが、必ずしもLight
関連のゲームオブジェクトに利用しなければならないわけではなく、様々な場所で利用できます。
例えばアニメに登場する謎の光とかですね。
我が人生に一片の悔いなし。