3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【Unity】URPで2DのEmissionを実装する時の設定

Posted at

#概要
Unity公式でShaderGraphの説明動画で、2Dキャラを発光させるための説明があったのですが、実際のゲーム画面に反映させるために事前設定が必要で、調べるのに結構時間がかかったのでまとめました。

Unityバージョン:2019.4.3f1(LTS)
Universal RPバージョン:7.3.1

#参考

設定

URPのインストール

Window->Package Managerでパッケージマネージャを開いて、『Universal RP』を選択してインストールします。
(最初、URPがUnityのUだと思って探すのに時間がかかった。。。)
image.png

パイプラインアセットの作成と設定

Projectタブ上で、Create->Rendering->Universal Render Pipeline->Pipeline Asset(Forward Renderer)でレンダリングアセットを作成します。
ライトも使いたい場合は【Unity】LWRPの2D向けライト機能を試してみるを参考に、2D Renderer Dataを作って適応させればOK。

作成したURPアセットをInspectorで開き、Quality->HDRのチェックを入れます。
この設定をしないと、Sceneタブでは発光しますがゲーム画面上では発光しません。
image.png
Edit->Project Settings...でProject Settingsを開き、Graphicsのタブを開いて、『Scriptable Render Pipeline Settings』に先ほど作成・設定したURPアセットを設定します。
image.png

Shader Graphを使ってシェーダーとマテリアルを作成

ProjectからCreate->Shader->2D Rendererの『Sprite Lit Graph』か『Sprite Unlit Graph』で作成できます。
ライトを使う場合は『Sprite Lit Graph』で、使わない場合は『Sprite Unlit Graph』で作成します。
ライトを使う場合は、前述した通り『2D Renderer Data』を作成してURPアセットに適応させる必要があるので、注意。
image.png

Spriteの発光のShader Graphの中身については、Unity道場2D編 Shader Graph はじめてみよう!基礎編(6月23日号)- Unityステーションの7:00辺りからしているので、詳細は省略します。
(おもしろいので、最初から全部見るのがオススメ)
ここから先は動画内で説明していることとほぼ同じなので、動画で見た通りにやれば大丈夫です
image.png
ポイントは乗算するカラーのモードがHDRになっていることと、動画内では慣習として説明していますが、画像のReferenceを『_MainTex』にすることです。
『_MainTex』にすることで、Spriteにマテリアルをアタッチした時、マテリアルがそのSpriteに設定されているTextureを判別して、それに対してシェーダーを適応します。

ShaderGraphは左上の『Save Asset』を押さないと反映されないので注意。

マテリアルはProject上でシェーダーを右クリックしてCreate->Materialで、そのシェーダーが適応されたマテリアルが作成できます。

ポストエフェクトを作成

まず、Hierarchy上でVolume->Global Volumeでポストエフェクトのためのゲームオブジェクトを作成します。
image.png
作成したゲームオブジェクトを選択して、Inspectorから、『Volume』のProfileの横にある『New』のボタンを押します。
すると、下に『Add Override』のボタンが発生するので、ボタンを押して、『Post-processing』から『Bloom』を選択します。
image.png
Bloomは、とりあえず発光させたいだけなら、『Threshold』と『Intensity』を設定すれば大丈夫です。
『Threshold』は光らせる色のしきい値で、0に近づくと白っぽい色を全部光らせます。1だとHDRの乗算をしてない色は発光しないみたいです。
『Intensity』は光らせる強さ。好みで決めていい気がします。
image.png

カメラにPostProcessingを適応

カメラのInspectorを開いて、『Rendering』から『Post Processing』にチェックを入れます。
この設定をしないと、Sceneタブでは発光しますがゲーム画面上では発光しません。
image.png

最後に

あとは、作成したマテリアルをSpriteに適応すればSpriteが発光するはずです!

公式の動画を見ながらShaderGraphを触ってみたけど、2、3個作ってみたらそれだけでも結構慣れた気がします。
光らせたり、歪ませたりがそこそこ簡単に実装できそうなので、演出をちょっと豪華にするのが簡単にできそう。(願望)

『Sprite Lit Graph』とか『2D Renderer』がExperimentalなのが若干気になるけど、そう大きな改修は来ないと信じたい。。。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?