I'm not sure what you mean about this, how can I know from the world position when the texture/sprite is perspective based?
It is a 2d game, but we create "rotated" sprites to give the perception of depth inside the game. So, when the sprite is facing forward, the depth is simply, the Y axis (up / down), but, when rotated 45 degrees, the sprite depth is more like a V shape, when the whole V is the bottom of the crate
check the attached images, notice the difference in boat and the crate rotations, how the water level when its head on is a line ---- and when turned a V. But the world position of the sprite is exactly the same, its just using a new sprite from the sprite collection. So as far as I know we need to use the gradient map to determine it?