I'm developing 2.5D game (3D assets, 2D gameplay). Since gameplay takes place on horizontal plane, majority of game objects have y component equal to 0. Most of my algorithms work on
Vector2s, since these calculations obviously make more sense (and are a little bit faster, I guess). This makes field for hard to catch bugs, since Unity allows transparent conversion from Vector3 to Vector2 via cutting off z component.
Since I'm still in a stage in which I can change calculations quite easily, my question is: which approach will cause me the least trouble?
- Current: Gameplay on XZ plane, custom conversion from Vector3.XZ to Vector2.XY
- Gameplay on XZ plane, calculations on Vector3.XZ (and making sure, that y is always 0 - otherwise some of calculations may be erroneous)
- Gameplay on XY plane (that may cause some problems in editor I guess) and automated conversion from Vector3.XZ to Vector3.XY
- Gameplay on XY plane, calculations on Vector3.XY (though I see no benefit over solution 2)
Or is there some other approach I may take?