Comments (11)
I notice a couple places is TilesetCreator.gd where the condition if _tileset_orientation == "orthogonal"
was added that seem to transform some things about texture mapping. Removing those branches almost reverts behavior. The first tile still exhibits the shift but the rest are realigned. Perhaps this helps you narrow down the culprit.
from yati.
Hi, I'm sorry that you've just stumbled upon my current construction site (isometric tiles) and that I seem to have temporarily made things worse here as well.
Actually I am in the process of completely reworking isometric so that it is correct for all displacements and height/width ratios etc. including the collision polygons, whose .tmx/.tsx geometry data (in the case of isometric tilesets) the devil has seen.
Could possibly take more than a few hours, as I really want to be thorough this time.
Thank you for your example, that will help me a lot.
from yati.
Interestingly your .tsx is NOT set to 'isometric'.
That's one more combination (isometric map, non-isometric tileset) to be handled.
(And that's most probably the reason why in 1.1.2 it works but no longer in 1.2.1)
from yati.
Interestingly your .tsx is NOT set to 'isometric'. That's one more combination (isometric map, non-isometric tileset) to be handled. (And that's most probably the reason why in 1.1.2 it works but no longer in 1.2.1)
Interesting! I must have missed this property as it wasn't available on creation in Tiled like it is on maps. In fact, setting the tileset back to isometric with appropriate grid dimensions creates the exact collision-box distortion in the issue description.
When making this adjustment on my end to label the tileset as it should be, I notice my collision import is as desired, but the centering of the tile on the grid still exists, rather than snapping to the bottom as it used to. Updated tileset below works with tiled as expected but is still offset by half a tile vertically in godot.
testset.zip
from yati.
Concerning "... to label the tileset as it should be". I'm not sure that this is a strict 'should be'. I assume that it's depending weather one likes to have the automatically skewed rectangles or not. The overall map (in Tiled) seems to work both ways so I have to ensure that both ways are importable and have the absolutely same result.
The offset by half a tile is another animal having not exactly to do with the tileset being isometric or orthogonal.
It probably was introduced by the condition if _map_orientation == "orthogonal"
in TilemapCreator.gd as well as that one mentioned by you.
I will remove that and find another way to correct that isometric test design of mine which is then off :-)
The challenge is: All contingencies must work.
Please give me some time...
from yati.
There's no rush, I'm just trying to give information that may help. For my own work, I've reverted to 1.1.2 as I can work with just that while I am still experimenting with my own project.
Honestly my goal is to be able to submit PRs for issues like these, but I don't understand tilemaps in these two programs that well yet and so don't have the knowledge to learn your codebase.
from yati.
Hi, just have released v1.2.2 and hope that the issues discussed here are solved.
Thanks for all your input.
from yati.
This solves most of the issue! Isometric tiles are once again properly aligned in the imported tileset. However, collision information is not properly transferred, as depicted below in the TileSet window in Godot. The reproduction assets I sent you should already have this collision info in the .tsx file, so I imagine you should be able to reproduce this.
from yati.
Ooops! I've typed in one single sign wrong when translating from C# to GDScript (I'm developing in C#).
And in the tests I must have missed exactly that, perhaps only checked the orthogonal version.
I'm very sorry for that, that really should not happen!!
(Edit: and this will not happen any more, from now on I'll compare the .tscn files)
Fixed in v1.2.3.
from yati.
I'd like to close the issue. Ok?
from yati.
I haven't had a chance to test this yet but it seems like you've identified and solved the issue. I can reopen if it doesn't work for me.
from yati.
Related Issues (20)
- godot_node_type and/or res_path are not loaded from property types file. HOT 12
- Godot 4.2 - `TileMap.CellQuadrantSize` got renamed HOT 2
- AstarGrid2D (get_cell_tile_data) does not detect "custom data layer" in Tilset HOT 1
- How do I access raw tile id data? HOT 4
- Error `Can't find file 'uid://byk7emqeyttmh::::res://assets/mytilemap.png'.` HOT 3
- Reimporting multiple maps at once with same tileset results in hundreds to thousands of errors HOT 2
- Please add Object IDs to the imported nodes HOT 6
- Add a way to set the TileSet Texture NormalMap Texture and Specular Texture HOT 5
- Maps in projects exported on macOS are lacking collision data HOT 7
- Can't add multiple Tiles Collision Shapes with different physics_layer HOT 3
- Tile Collision Polygons not updating in Godot. HOT 3
- Make runtime loading compatible with threads ? HOT 2
- Need some help for the c# version HOT 1
- Support TileMapLayer nodes from Godot 4.3 HOT 7
- Error when enabling HOT 5
- GDScript Installation fails with Class "CustomTypes" hides a global script class HOT 6
- Option to import TSX files as an external TileSet resource HOT 6
- Custom Properties defined on object tile definitions do not propogate. HOT 4
- add_id_as_metadata does not work on instance items HOT 3
- Runtime package breaks when project is exported HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yati.