So, in my little 2.5D game I want to have a “turret” track to the player whilst remaining flat on the Z-X plane (rotating on the Y axis only, hence, 2.5D game). I can set up the logic bricks/python such that it does indeed track to the player, but getting it to stay axis locked to Y is another matter. With pretty much any setting, it tumbles when the player is directly above and below, or otherwise does not remain flat.
The problem appears to be caused by Track To being hard-coded to lock an axis to Z; that is, you can choose which object’s axis is aligning, but what it is being aligned to is always Z.
I can’t figure a way to make it work, aside from trying something really hacky, like using Math™ to get the vector between enemy-player, then alignAxisToVect using said vector. Or (maybe) using bge.constraints.setGravity(x, y, z) to change gravity’s direction.
(Note that I am, in fact, already using alignAxisToVect to align the turrets up/down to Y (Thank you Nines <3) so that alone unfortunately doesn’t appear to be able to solve the issue.)