「Unity/SpriteAtlas」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→コードでAtlas画像設定) |
|||
(同じ利用者による、間の2版が非表示) | |||
行21: | 行21: | ||
==UGUIへの適用== | ==UGUIへの適用== | ||
#ImageのSourceImageに普通にアイコンファイルを指定する。 | #ImageのSourceImageに普通にアイコンファイルを指定する。 | ||
+ | |||
+ | ==AddressableのSpriteAtlasの場合== | ||
+ | *SpriteAtlasのInclude in Build を無効に | ||
+ | *AllowRotationのチェックをはすず(UGUIの表示が崩れるので) | ||
+ | *Tight Packingのチェックをはすず(UGUIの表示が崩れるので) | ||
+ | |||
+ | 参考:https://kondeneenen.com/spriteatlas_for_aas/ | ||
+ | |||
+ | 参考:https://sunagimo-app.hatenablog.com/entry/2019/03/11/020119 | ||
+ | |||
+ | ==コードでAtlas画像設定== | ||
+ | <pre> | ||
+ | using UnityEngine; | ||
+ | using UnityEngine.U2D; | ||
+ | using UnityEngine.UI; | ||
+ | |||
+ | public class ScriptScene : MonoBehaviour | ||
+ | { | ||
+ | [SerializeField] SpriteAtlas spriteAtlas; | ||
+ | [SerializeField] Image image; | ||
+ | void Start() | ||
+ | { | ||
+ | image.sprite = spriteAtlas.GetSprite("baseline_cancel_black_24dp"); | ||
+ | } | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | 参考:https://www.snoopopo.com/entry/2022/05/12/215449 | ||
==参考== | ==参考== | ||
https://shibuya24.info/entry/unity-spriteatlas | https://shibuya24.info/entry/unity-spriteatlas |
2024年11月5日 (火) 04:36時点における最新版
目次
SpriteAtlas
複数の画像を1枚の画像にするプラグイン。CPUの負荷軽減の効果がある。
SpriteAtlasインストール
Unityメインメニュー/Window/PackageManager から2dSpriteをインストール
初期設定
- Unityメインメニュー/Edit/Project Settings/Editorメニュー
- SpriteAtlasのModeを Disabledから Sprite Atlas V1 - AlwaysEnabledへ
使い方
- Unityメニュー/Assets/Create/2D/SpriteAtlasで、SpriteAtlasファイル作成
- SpriteAtlasファイルのObject for Packingに、画像アイコンをドラッグ追加
アイコンをまとめる
- SpriteAtlasファイルのObjectForPackingに、アイコンディレクトリを追加することで、その下のアイコンがすべて対象となる。
Atlas画像プレビュー表示
- PackPreviewボタンで、画像のプレビュー表示することができる。
UGUIへの適用
- ImageのSourceImageに普通にアイコンファイルを指定する。
AddressableのSpriteAtlasの場合
- SpriteAtlasのInclude in Build を無効に
- AllowRotationのチェックをはすず(UGUIの表示が崩れるので)
- Tight Packingのチェックをはすず(UGUIの表示が崩れるので)
参考:https://kondeneenen.com/spriteatlas_for_aas/
参考:https://sunagimo-app.hatenablog.com/entry/2019/03/11/020119
コードでAtlas画像設定
using UnityEngine; using UnityEngine.U2D; using UnityEngine.UI; public class ScriptScene : MonoBehaviour { [SerializeField] SpriteAtlas spriteAtlas; [SerializeField] Image image; void Start() { image.sprite = spriteAtlas.GetSprite("baseline_cancel_black_24dp"); } }
参考:https://www.snoopopo.com/entry/2022/05/12/215449