Player controller rotation is locked to 90,-90 even with a custom camera manager. (Exposed quaternions have 0 effect)

Hey coderz I’ve been messing with some player controls lately and I’m trying everything I can to just add a rotation to the controller so the player can roll. The problem is only two ‘types’ of nodes will actually work on the player controller.

Add Roll Input(Stops at 90,-90).

Set Control Rotation(Also stops at 90,-90).

I found out this is a result of the camera manager by default not allowing the player to go beyond these numbers, a custom one later and it still will not. No matter what I set the roll min/max it will never go beyond 90,-90. If I set the values above 180,-180 the controller will simply not rotate at all.

I cannot add actor rotation, either in world or local. Or use my custom nodes I’ve setup to use quaternions either. It simply seems like some sort of really weird and specific engine bug.(Lots of rotation nodes do not effect the controller and the couple nodes that do are locked anyways, as well as the camera manager.)

Does anyone know any good solutions to this? I simply just want my player to be able to roll whilst they are moving.

Thank you for your time.

Edit: Bump 2

No matter what I still can’t rotate the player controller beyond -90, 90. If I try it this way below(which completely negates gimbal lock might I add) it only goes -1, 1 degree in either direction.

I just want to give you some information so you might be able to get on your way, unfortunately I have not got the experience to resolve this for you.

You are running into a gimbal lock issue due to the way that euler rotations (FRotator) are handled, the ranges for each of the values are -90 to 90. The solution to this is to use quaternions (FQuat). #gimbal #6DoF #quaternion Unreal Engine 4 Tutorial: 6DoF Fixing Gimbal Lock - YouTube is the tutorial I have found linked to several times to resolve this issue.

I hope it helps! Good luck!

Yes. I use quats via custom functions I wrote in c. The problem is that it is the camera manager itself that is the problem. Even if I attempt to rotate the player controller(using quats) the camera manager stops it going beyond those ranges.

Somehow I need to write a custom camera manager in c that is able to take quats.

Did you resolve this issue? I am trying to resolve (I think) the same issue with a “free look” camera and cannot figure out how to get past the -90/90 lock.

Solved my issue with this reference.

Fixing rotation lock