0 votes

I'm just starting to learn to use the engine and I have come across the following issue:
I've downloaded an isometric tileset.
So first I made a tilemap node for the floor tiles. They are all 64x32 so everything was fine.
The problem was when I decided to add all the other objects. Some of them are higher. Even as high as 64x128.
So when I place an object tile on top of a floor tile, they do not align, I have to place the object on another place for it to match with the floor.
I tried changing the Tile Origin of both tilemaps, but none seems to make sense to me.

Let's take for example a railway floor and a cart object:
The cart is 64x64.

If I set the origins to "top left", the floor is placed as expected...
But then, the cart is below...

With "bottom left"...

And with "center"...

So no matter what origin I choose, the cart is always below the floor.

I could just place the cart one tile above... But that doesn't feel really natural... Besides, I expect I will have lots of trouble when I try to use bigger tiles, like walls and columns.
No to mention when I want to have characters drawn in front or behind different objects.

So... Is this regular behavior? Is this a bug? Am I doing something wrong?

EDIT: I found there is an "Isometric Game" template. And I can place those tiles perfectly even when they are different sizes...
But I don't find the difference between that template and my project.

in Engine by (16 points)
edited by

1 Answer

0 votes

Ok, I found the answer in the end.

I had to properly set the offset of each sprite in the scene before converting it to a tilemap.

I had tried this before, and re-converted the scene to a tilemap, and made sure the "merge" option was disabled on the save dialog.
But apparently, the assets in my main scene were not reloaded. Even after removing and re-setting the Tile Set property of the Tilemap. I had to delete the old .tres file, create a new one, delete the tilemap node, close the project, reopen it, and create the tilemap from scratch.
Not sure which of these actions caused the assets to reload. Probably there was a faster way to do it.

by (16 points)

I want to add that the offset that needs to change is the Tex Offset, for me it was the Y-Axis and I had to set mine to -32. I did not have to remove anything or change anything in my scene or reload. I just had to change it for each tileset piece and then save the tileset. Once I move back into my Tilemap everything was placing just fine.

Welcome to Godot Engine Q&A, where you can ask questions and receive answers from other members of the community.

Please make sure to read How to use this Q&A? before posting your first questions.
Social login is currently unavailable. If you've previously logged in with a Facebook or GitHub account, use the I forgot my password link in the login box to set a password for your account. If you still can't access your account, send an email to webmaster@godotengine.org with your username.