コガネブログ

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

【Unity】Tilemap からすべてのタイルの情報を参照するサンプル

ソースコード

var tilemap = GameObject.FindObjectOfType<Tilemap>();
var bound   = tilemap.cellBounds;

for ( int y = bound.max.y - 1; y >= bound.min.y; --y )
{
    for ( int x = bound.min.x; x < bound.max.x; ++x )
    {
        var pos = new Vector3Int( x, y, 0 );
        
        // TileBase 型でタイルの情報を取得
        var tileBase = tilemap.GetTile( pos );
        
        // 特定の型でタイルの情報を取得
        var ruleTile = tilemap.GetTile<RuleTile>( pos );
        
        // タイルに使用されているスプライトを取得
        var sprite = tilemap.GetSprite( pos );
        
        // タイルの色を取得
        var color = tilemap.GetColor( pos );

        Debug.Log( $"{pos}, {sprite}, {color}" );
    }
}

参考サイト様