Isometric and Hexagonal Support in Tiled2Unity

(Seanba) #1

I know some of you have asked for this before so you might want to know you can now export Isometric and Hexagonal maps from Tiled into your Unity projects with the latest version of Tiled2Unity.

For Bjorn: I’d like to think I’m sending some Patreon support your way although I haven’t seen any evidence of it just yet. FWIW, I added a link to your Patreon page from within Tiled2Unity. Hope that helps.

(Steffen Itterheim) #2

It’s a pain in the ass to implement.

Tell me about it. :dizzy_face:

Nice to see our tileset used elsewhere. Oh and regarding the seams, usually in 2D engines all you have to do is two things:

  • Disable texture filtering (== linear filter)
  • Ensure the tiles are placed on exact pixel coordinates, not subpixels

Not sure if the latter is even possible in Unity due to its “oh we just scale to the screen resolution don’t worry about it” approach to supporting multiple screen resolutions. But I guess somehow it ought to be possible. I’ve seen Unity tile based games without that issue.

(Thorbjørn Lindeijer) #3

That’s correct, but a limited use-case. It’s really nice that @Seanba included the instructions to avoid the seams by extending the tiles a little. It has many advantages like making the application resolution-independent, allowing zooming in/out and allowing the map to scroll smoother than per pixel.

That is really awesome, thanks! I also like to think it helps of course. I consider my Patreon page quite succesful, but the number of patrons is very low considering about 800 people download Tiled every day. I estimate the current patrons to be about 0.1% of Tiled users. But it works!

Object Colliders in Isometric Mode

The isometric map mode in Tiled skews your collision objects so that rectangles becomes parallelograms and circles become ellipses. This complicates things a bit for us in Unity.

It’s was actually meant to make things easier, or at least more sensible. I assumed that the areas would be for example places where you can’t go or enemy spawn areas. So I projected the shapes because then internally they could be considered to be in the same coordinate system as your objects.

Of course, then I messed it all up with the way I implemented rotation, which happens in screen space which does not make sense at all for things that have first been projected isometrically… this happened mostly because it was the right thing to do with tile objects, which are not projected onto the map.

(Seanba) #4

Ensure the tiles are placed on exact pixel coordinates, not subpixels

I agree. And that’s what I did for my Mega Man game and other efforts I’m working on now.

But my number 1 email support request is about seams and that’s the toughest part of advice for Unity users to take. It involves them setting the orthographic camera size carefully and making sure the camera position stays on pixels as it moves. Now I just tell them to fatten out their tiles.