private static void SetTileFlips(Tilemap tilemap, LDtkDataTile tileData, Vector2Int coord) { float rotY = tileData.FlipX ? 180 : 0; float rotX = tileData.FlipY ? 180 : 0; Quaternion rot = Quaternion.Euler(rotX, rotY, 0); Matrix4x4 matrix = Matrix4x4.TRS(Vector3.zero, rot, Vector3.one); tilemap.SetTransformMatrix((Vector3Int)coord, matrix); }
private static void BuildTile(LDtkDataLayer layer, LDtkDataTile tileData, LDtkTilesetAsset asset, Tilemap tilemap) { Vector2Int coord = tileData.LayerPixelPosition / layer.__gridSize; coord = LDtkToolOriginCoordConverter.ConvertCell(coord, layer.__cHei); Sprite tileSprite = GetTileFromTileset(asset.ReferencedAsset, tileData.SourcePixelPosition, layer.__gridSize); Tile tile = ScriptableObject.CreateInstance <Tile>(); tile.colliderType = Tile.ColliderType.None; tile.sprite = tileSprite; Vector3Int co = new Vector3Int(coord.x, coord.y, 0); //Tilemap mapToBuildOn = tilemap; tilemap.SetTile(co, tile); SetTileFlips(tilemap, tileData, coord); }