テラシュールブログ

旧テラシュールウェアブログUnity記事。主にUnityのTipsやAR・VR、ニコニコ動画についてのメモを残します。

【Unity】LWRPの2D向けライト機能を試してみる

f:id:tsubaki_t1:20190708212813g:plain

今回はLWRPに追加された2Dライトを試してみます。

2Dにライト

最近の海外で2Dなゲームでは、2Dでもライティング…正しくは法線効果で光源の位置を示しているゲームをよく見ます。

そのやり方については下の記事で紹介していましたが、LWRPに標準機能として2Dライティングの機能が追加されました。

tsubakit1.hateblo.jp

大雑把に言えば、以下の機能が追加されています。

  • スプライトにノーマル等の補助用テクスチャ追加
  • 2DスプライトShaderがノーマル計算用に参照するライト

実際に使ってみます

導入手順

まず Unity 2019.2Light Weight 6.7.1 をインポートします。 インポートは何時も通り Package Managerで。

f:id:tsubaki_t1:20190708213553j:plain

導入後にレンダリングパイプラインをLWRPに変更し、2D用カスタムパイプラインを導入します。

  1. Assets>Createのメニューから、Pipeline Assets2D Renderer を作成
  2. Pipeline Assetsの Renderer Typeカスタム に変更して、2D Renderer を登録
  3. プロジェクト設定グラフィックススクリプタブルレンダーパイプライン設定 を、先程作成したパイプラインに設定

f:id:tsubaki_t1:20190708213801j:plain

f:id:tsubaki_t1:20190708214135j:plain

f:id:tsubaki_t1:20190708214143j:plain

これで準備完了です。

とりあえずライトを試す

とりあえず2Dライトを試してみます。

LWRPの2Dを導入すると、ライトに 2D の項目が追加されます。このライト設定はスプライトにも影響します。

光の見え方は Inner RadiusOuter Radius 、それと Fall off Intensity で大体決まります。

f:id:tsubaki_t1:20190708214725j:plain

f:id:tsubaki_t1:20190708214839j:plain

f:id:tsubaki_t1:20190708215231g:plain

ライトの形状は、円形だけでなくポリゴンの形状や、スプライトの切り抜き等が可能みたいです。例えば 「出口を光らせる」のような演出をしたい場合や、ユニークな発光現象を表現したい場合でも使えます。

f:id:tsubaki_t1:20190708220202j:plain
Freedom Lightで矩形の光源(右下の緑)

f:id:tsubaki_t1:20190708220232j:plain
Sprite Lightでスプライトの形状にくり抜く

ちなみにライトは加算だけでなく減算や他のブレンドも可能みたいです。ダークライト…普通に3Dでも欲しい*1

f:id:tsubaki_t1:20190708222326j:plain

陰影表現の追加

光源の向きを示すため、ノーマルマップを使用して陰影表現してみます。

f:id:tsubaki_t1:20190708221513j:plain

やることは単純で、スプライトにノーマル等のテクスチャを追加します。

  1. Sprite Editor を開く
  2. Secondary Texture を選択
  3. + ボタンで要素を増やして、名称を _NormalMap に設定
  4. _NormalMapにノーマルマップを追加

あとはライトで Use Normal Mapにチェックを入れます。

f:id:tsubaki_t1:20190708220805j:plain

f:id:tsubaki_t1:20190708221025j:plain

この手順はTilemapに使用する場合でも有効です。

f:id:tsubaki_t1:20190708222032j:plain

注意事項

  • 現状SpriteAtlasには対応していません。SpriteAtlasでパッキングすることでUVが変化してしまうので。
  • 対応しているのは「陰影」で、影には対応していません。
  • ライトのZの位置も影響します。Zが大きく外れていると、GameViewに反映しない事があります。
  • 最初に表示される最新のLWRPバージョンが6.7.1より下の場合、一覧表示すれば選択出来るようになります。
  • このバージョンのLWRPには、Pixel perfect Cameraが含まれます

f:id:tsubaki_t1:20190708222717j:plain

*1:暗黒の光とか言ってはいけない。いいね?