I believe the shadow COULD solve it because every bike has its own shadow. In fact the shadow is the bike projection to xz plane so the convert formula is something like that:
- Input: bike 2d position: bx0, by0 ; shadow 2d position: sx, sy
- Output: bike 3d position bx1, by1, bz1
Convert formula:
bx1 = bx0;
by1 = by0 - sy;
bz1 = sy
That's the idea. In detail it's a little more complex because there are multiple bikes and shadows in a scene so we have to match/ pair a shadow with a bike. But that's just implementation detail.