xyz I am slightly confused is this for implementing with godot in 3D or in 2D?
Because if this is 2D I am unsure how this would help with my original problem that caused you to suggest I move to 3D. Which was I can y-sort for objects that are "above" however there isn't a good way of handling when you are suppose to be in front of the object on the x-axis but are still above it on the y-axis.
If it is 3D, I still am unsure if I understand how this would help me with finding the z index for movement purposes. How is my character if I am not using the build in physics to know where they should be on the z index.
I could use the gridmap get_used_cell_by_item()
use the item id to manually via code set each items relative z index. Or, I could just create two gridmaps for the two heights of 1 meter and 2 meter.
Example:
Class Cell:
var elevation : int #sets the items height based on 2 meter increments, each 2 meters is a new elevation
var z_index : int # this would be set at either 0 or 1
So, at elevation 0 there would be only tiles at 0 height and 1 meter. So, 0 would be what you'd walk on, and then there would be terrain you could climb on which would be 1 meter. Your player would store his relative elevation, and whenever he moved up 2 meters his elevation would change, so thus while navigating and checking cells based on coordinates they'd all be searched based on their z index at their elevation, but then when going to move to them it would be based on their var z_index to know if you can walk normal, or need to hop up on them.
Do you think this would be a logical way to go about this? I would just have to make sure that all blocks that can be walked on are exactly 1 or 2 meters high.