(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発しているゲームです!


「2D環境にて高品質な光と影の演出」が出来ると謳われている2DDL Proを試してみた【Unity】【アセット】


このエントリーをはてなブックマークに追加


この記事でのバージョン
Unity 2017.1.0f3
2DDL Pro 1.4.2


はじめに

現在、Unityライセンス購入時に優良&有料アセット詰め合わせ、エッセンシャルパックが貰えます。

せっかく貰ったのだから試しに使ってみよう!記事にもしてみよう!というのがこの記事の趣旨です。


さて、今回紹介するアセットですが、タイトルの通り2Dエッセンシャルに含まれる2DDL Proです。

説明によると2D環境にて高品質な光と影の演出が出来るとの事。

2DDL Pro : 2D Dynamic Lights and Shadows - Asset Store



何が出来るの?

とりあえず何が出来るのか知りたいので、サンプルを見ていこうと思ったのですが、

なんとこの2DDL Proにはサンプルが17個も含まれています。

さすがに多すぎる感はありますが、それだけ色々出来るっぽいです。


f:id:kan_kikuchi:20170816115751j:plain


とりあえず"0 - DUNGEON GAME"が雰囲気を掴める感じだったので、これをご紹介。

DUNGEON GAMEはその名の通り、ちょっとしたダンジョン探索ゲームです。

全4ステージで、1ステージ目は操作説明的な感じ、既に松明がいい感じに光っている。


f:id:kan_kikuchi:20170816122435g:plain


2ステージ目はプレイヤーが光源を持って移動するサンプルで、

明るくしないと見えない宝箱があったり、明るくすると開くドアがあったりします。


f:id:kan_kikuchi:20170816123220g:plain


3ステージ目もプレイヤーが光源を持って移動するサンプルですが、

2ステージ目とは違い、見下ろし型&光源が近いほど明るいという自然な感じ。


f:id:kan_kikuchi:20170816124630g:plain


4ステージ目はまさかのエンディング。

角度を付けて3Dっぽくしている所をプレイヤーがひたすら歩くというもの。


f:id:kan_kikuchi:20170816124651g:plain


このサンプルだけでだいぶ色々出来る事が分かりましたが、

一応、他のサンプルもざっと見て、出来る事を箇条書きで並べてみると以下ような感じ。


- 光源の様々な設定(色、明るさ、半径、角度、レイヤー、etc)
- 影の表示、リアルタイムで更新
- 光に当たったか、外れたかの判定
- 光が当たっている所だけ表示(Fog)
- 光が当たった時だけ物を表示
- レンズフレアの追加
- 炎のような揺らめき
- 複数の光源


しっかりは見てないので、恐らくこれ以外にも出来る事は色々ありそうです。


以下はおまけで、他のサンプルの抜粋です。


f:id:kan_kikuchi:20170817065313g:plain
f:id:kan_kikuchi:20170817065831g:plain
f:id:kan_kikuchi:20170817070150g:plain
f:id:kan_kikuchi:20170817070623g:plain


仕組み

2DDLでは明るい部分のMeshを生成&更新し、

それをMeshRendererで表示する事で光源を作り出しているようです。


f:id:kan_kikuchi:20170816173426j:plain
f:id:kan_kikuchi:20170816173434j:plain


また、Sprite Rendererを明るくするのにはUnityのPoint Lightを使っているようです。

ただし、このPoint Lightも2DDLのスクリプトから調整出来るようになっています。


f:id:kan_kikuchi:20170816173953j:plain


なお、影が出来るか判定するため、

壁などの光を遮断する部分にCollider2Dが必要になります。


f:id:kan_kikuchi:20170816173607j:plain


おわりに

上述の通り、Sprite Rendererを明るくする部分にはUnityのPoint Lightが使われているため、

前回の記事でやったやり方の代わりにはならないようです。



とは言え、PointLightだけでは出来る事は限られているので、

2Dでもっと光と影の表現をしたい!という場合にはかなり強力な手助けになりそうです。