Unityドット絵の一部にEmissionMapを指定する方法

こんにちは今回はドット絵にEmissionMapを適用する方法を解説します。

ライセンス表示

使用素材

Unityちゃん素材

https://unity-chan.com/download/index.php 上記のサイトから

『コーゲンシティ・オールスターズ!』ユニティちゃんピクセルアートパック for アクションゲーム Vol.2 使うのでダウンロードしてきてください。

EmissionMap

EmissionMap用の画像を保存しておいて下さい。

完成予定

Unityちゃんの剣だけをEmissionさせるのが今回の目的です。

プロジェクトの新規立ち上げ

上記の様に新規プロジェクトを作って下さい。 新しく作る必要がない人はそのままでOKです!

素材のダウンロード

まず使用素材のダウンロードサイトから

『コーゲンシティ・オールスターズ!』 ユニティちゃんピクセルアートパック for アクションゲーム Vol.2をダウンロードしてください

ダウンロード後は

のアイコンをダブルクリックでUnityにプロジェクトにインストールされます

Post-Profilesの導入

https://ekulabo.com/post-processing

https://ekulabo.com/fun-bloom

上記の2つの技術記事を参考にBloomの実装までやってみて下さい。

上の記事から順に読むと実装が楽に出来るはずです。

以上の事ができると下図の様な状態になっていると思います。

MainCameraにはPost-process Layerがアタッチされている。

次にPost-Process用のオブジェクトが以下の様に存在する

bloomのIntensityとColorを上図の様に設定しておきましょう。

UnityChanを画面に表示する

それでは今回の光らせるUnityChanを画面に表示しましょう。

  1. まず空のゲームオブジェクトを作成しましょう。
  2. 次にSpriteRendererをアタッチしましょう。
  3. SpriteRendererのSpriteをUnityChan_Soard_Combo_5に変更しましょう。

これでUnityちゃんが表示されたと思います

カメラに表示されない場合はオブジェクトの位置を見直してください。

EmissionMapを使う為のMaterialの作成

現在のMaterial(Sprites-Default)ではEmissionMapを指定できないので新しくMaterialを作成します。 1. ProjectのAssetsでCreateMaterialを行う

2.Material名は分かりやすくEmissionMaterial等にしましょう。

EmissionMaterialの詳細設定

  1. まずEmissionMaterialのInspectorを見て、RenderModeをCutoutに変更しましょう

2.EmissionをOnに変更しましょう

3.EmissionColorを試しに下図の様に変更しましょう

Intensityの値が小さいとBloomが掛からないので気を付けましょう

  1. Colorの隣の丸を押して記事の上で紹介しているEmissionMapを指定しましょう

UnityChanにEmissionMaterialを取り付ける

どうでしょうか下図の様に光ってると思います

BloomのIntensityやEmissionのColorを

お好みで調整すると下図の様に良い感じに剣が光ると思います

上手く出来ないときに見るポイント

  • VolumeのLayerとMainCameraにアタッチしたPost-process LayerのLayerのタグが下図の様に等しく成っていない

  • ProjectSettingのGraphicsのUseHDRにチェックがない場合

以上のこと以外で上手く行かない場合はコメントをください。

終わりに

次の記事で動的EmissionMapの実装に関して記事にするかと思いますのでアニメーションに合わせてEmissionMapを変更する方法に興味が

ある人は次回の記事を参考にしてみて下さい。

EmissionMapに関しては

光らせたい部分だけ白抜きして光らせたくない部分は黒くする事で作成出来ます。

今回は詳しく解説しませんでしたがイラストレーター等を上手く活用すると簡単にできると思うので挑戦してみて下さい。

今回のEmissionMapを活用すると

上のツイートの様なゲームが作れると思います。