(:3[kanのメモ帳]スマートフォン用の表示で見る(:3[kanのメモ帳]個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。2017から新たにSpriteAtlasなるものが追加されました。今までもSpriteをパックする(一つの画像にする)機能としてSpritePackerがありましたが、ちょっと使ってみた感じ、SpriteAtlasの方がかなり良さげです。何よりResources内でも使える(SpritePackerは使えない)というのが一番の利点でしょうか。そもそもSpriteをパックする(一つの画像にする)利点は、単純に言えば処理が軽くなる事です。calls(描画回数)が減っているのが分かると思います。いう事で今回は、SpriteAtlasを使ってみた系の記事です。記事中の画像は以下のアセットを使っております。AtlasからSpriteAtlasのファイルを作成します。PackingにパックしたいSpriteを指定するだけ。Previewを押すとパック結果を見ることも出来ます。パックしたい画像はあらかじめTextureTypeをSpriteにする必要があります。画像が重複して追加され、容量が増えるみたいなので、SpriteAtlasだけをResourcesにいれましょう。次にSpriteAtlasの設定項目についてです。TypeTypeは基本的にMasterで問題ありません。他のSpriteAtlas(Master)を元にScaleを指定して複製する感じで使います。基本的に有効で問題ありません。Bundleを介してSpriteAtlasを使う場合には無効にした方が良いようです。基本的に有効で問題ありません。Atlas内で回転するだけなので、取り出して使う時は元の状態で使えます。基本的に有効で問題ありません。Atlas内では各画像が重なっているように見えますが、取り出して使う時は元の状態で使えます。基本的に無効で問題ありません。使用メモリが倍になるので注意が必要です。基本的に無効で問題ありません。容量が増えるので注意が必要です。Trilinearを使います。Sizeパックした画像の最大サイズを設定します。基本値は2048ぐらいで、あまり大きすぎると表示できないスマホもあるので注意が必要です。calls(負荷)は減りません。分割された各画像の確認は右上のプルダウンから行う事ができます。Compression圧縮形式の設定です。基本はNoneで良いですが、容量を減らしたい時は適宜他の設定にします。圧縮するほど画像は劣化するので、注意が必要です。SpriteAtlasの取得では生成&設定を終えたSpriteAtlasを実際に使ってみましょう。SpriteAtlasは他のファイル同様、Resources.Loadで取得でき、SpriteAtlasのGetSprite(画像の名前)を使う事でSpriteを取得出来ます。weaponAtlas.GetSprite("axe2");もちろん、Inspectorから設定して使う事も可能です。null;また、GetSpritesでSpriteAtlasに含まれる全Spriteの取得が可能です。返り値として取得するわけではなく、引数にSpriteの配列を渡しその中に全Spriteが追加される感じです。Sprite[spriteCount];//spriteArrayに全Spriteを設定_weaponAtlas.GetSprites(spriteArray);なお、SpriteAtlasのGetSprite(s)で取得したSpriteの名前には、(Clone)が付きます。おわりにSpritePackerのResources内では使えないという致命的な問題が無くなり、だいぶ使い易くなったSpriteAtlasですが、GetSpriteで取得する際に文字列で指定する必要があったり、全Spriteの取得が面倒だったり、いくつか改善の余地がありそうです。はてなブログPro個人ゲーム開発者。ω、)_新作は札束風呂VRや神巫女。Policy広告はてなブログをはじめよう!kan_kikuchiさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。