コガネブログ

平日更新を目標に Unity や C#、Visual Studio、ReSharper などのゲーム開発アレコレを書いていきます

【Unity】キャラの立ち絵の画像のようにデザインが重複する画像の容量を削減できる「SpriteDicing」紹介

はじめに

「SpriteDicing」を Unity プロジェクトに導入することで
キャラの立ち絵の画像のようにデザインが重複する画像の容量を
削減できるようになります

使用例

例えば、上記のような Unity ちゃんの立ち絵は、表情しか違いがありません
しかし、これらすべての画像を Unity プロジェクトに追加すると、
1枚あたりの容量が 12.7 MB なので、合計で 76.2 MB もの容量になってしまいます

「SpriteDicing」を使用すると、これらの画像を

f:id:baba_s:20180824213537p:plain

このようにデザインが重複している部分を削って1つの画像にまとめることができるため、
容量を 9.0 MB まで削減できるようになります

使い方

f:id:baba_s:20180824214740p:plain

はじめに、Unity メニューの「File>Build Settings...>Player Settings...」を選択して
「Scripting Runtime Version」を「.NET 4.x Equivalent」に変更しておきます

f:id:baba_s:20180824214029p:plain

Project ビューの「Create>Diced Sprite Atlas」を選択します

f:id:baba_s:20180824214036p:plain

「Input Folder」の欄に、デザインの重複を削減したい画像が格納されているフォルダを
ドラッグして設定します

f:id:baba_s:20180824214044p:plain

「Build Atlas」ボタンを押します

f:id:baba_s:20180824213537p:plain

しばらくすると、デザインの重複を削って容量が削減された画像が作成されます

f:id:baba_s:20180824214055p:plain

Hierarchy で「Create>2D Object>Diced Sprite」を選択します

f:id:baba_s:20180824214114p:plain

先ほど作成した画像の中から、表示したいスプライトを選択して
「Diced Sprite Renderer」の「Diced Sprite」の欄にドラッグして設定します

f:id:baba_s:20180824214123p:plain

すると、設定した画像が正しく表示されることが確認できます

f:id:baba_s:20180824214131p:plain

ワイヤーフレームを見てみると、このように細かくメッシュが分割されて
描画されていることがわかります