Top down game - Move character "up" according to camera instead of world


I’m trying to set up a top-down twin-stick, but I want to rotate the camera about 45 degrees for a more “isometric” look, rather than the up/down/left/right approach. I want to rotate the camera instead of building the maps like that, because I want to still be able to build perpendicular maps along grid.

Instead of this:

I want this:

Right now my move input is simply to use the axis and applying it:

But I would like for the X-axis to use the Camera’s “up” as up, so no matter it’s rotation, my stick and pawn movememnt is always based on the camera. How do I do that? I’m sure there’s a simple solution, but I haven’t been able to figure it out. I tried something like this, which doesn’t work at all. :slight_smile:

Help would be greatly appreciated.


I’d try just passing in the x,y components of the camera’s forward and right vectors and ditch all the extra stuff you have in between there.

Not quite sure how you mean?

It needs to somehow multiply with my Axis input.

Can’t you just drag a pin straight off the camera, get its ‘up’ vector (not forward vector) and multiply that by the axis input?

D’oh! Yeah, that worked brilliantly. I guess it was too obvious.

Thanks a lot.