【Unity】【2D】画像を分割読み込みする。


やりたいこと

キャラクタやマップの画像を分割して読み込む。

画像を分割する。


- Unityに追加した画像を選択
- 「Texture Type」を「sprite」にする。
- 「Sprite Mode」を「Multiple」にする。
- ドットバイドットならば「Pixels Per Unit」を「1」にする。
- Sprite Editorを選択する。


- Sliceを選択する。
- 「Type」を「Grid by Cell Size」にする。
- 「Pixel Size」を設定する。
- Sliceを選択する。

注意点

分割画像が歯抜けになっている場合、Unity側がそれを無視してしまうため、
適当な色で設定する必要がありそうだ。

■ 歯抜けあり(11個の画像として扱われる。)

■ 歯抜けなし (16個の画像として扱われる。)

分割画像を読み込む。

    Sprite[] spritePlayer;
    void Start()
    {
     // 画像をロードする。
        spritePlayer = Resources.LoadAll<Sprite>("Images/Player/001");

        // 新しくSpriteRendererコンポーネントを追加し,スプライトを設定する。
        SpriteRenderer renderer;
        renderer = GameObject.Find("Player").AddComponent<SpriteRenderer>() as SpriteRenderer;
        renderer.sprite = spritePlayer[1];
    }

参考サイト

【Unity】スクリプトから画像を分割して読み込む
公式リファレンス : GameObject.AddComponent