You might want to read up on c_move.. it has two different vectors for movement: absolute and relative... I think one is for independently moving the object, and the other will move the object with its absolute movements intact, like a boat which you can drive around (absolute) but in an ocean current that adds its own movement on top of that (relative).

I think my.x just moved the entity according the the world's x axis, not the entity's. Someone else here can certainly answer it better than me, but I am pretty sure what u need is better suited towards c_move.. or? It's worth getting to know c_move if you are going to use 3DGS.

good luck anyway