Tiled Isometric rendering tall sprites with offset

tried using a 96*64 sprite in Tiled to make the illusions of cliffs in Isometric Tiled maps, ended up looking like this


Map code looks like this

public class Map
{
// The tile map
private TiledMap map;
// The renderer for the map
private TiledMapRenderer mapRenderer;

    public Map(ContentManager contentManager, GraphicsDevice graphicsDevice)
    {
        // Load the compiled map
        map = contentManager.Load<TiledMap>("Maps/anothertest");
        // Create the map renderer
        mapRenderer = new TiledMapRenderer(graphicsDevice);
    }
    public void Update(GameTime gameTime)
    {
        // Update the map
        // map Should be the `TiledMap`
        mapRenderer.Update(map, gameTime);
    }
    public void Draw(SpriteBatch spriteBatch, Camera2D camera)
    {
        mapRenderer.Draw(map, camera.GetViewMatrix());
    }
}

edit: seems to be something to do with different spritesheets, doesn’t really make sense why it’s rendering like this, though

I was responsible for writing the Tiled renderer code for 1.0; there is a known render ordering problem when using multiple textures. It looks like you are using many textures so this is likely the same problem. However, things have changed between 1.0 and 2.0 (not by me), so I can’t say for sure if it’s not a different problem.

Yes, I’m pretty sure it’s the same problem. I wrote a little about this on my patreon a while back.

I have some thoughts on how to fix it which I’ve got on my to-do list.

Unfortunately, it’s not a trivial problem. Fixing it properly is going to take several iterations to strike a good balance between performance (memory and frame rate) and complexity (in the code and in the content pipeline).

The best approach at the moment is to organize your tileset textures so that the tiles for each layer only exist on one texture.