Any way to disable the rotation limit?

Hello!
I am trying to get a character to be able to run up loops/walls and the such. I have got the character to be able to rotate when walking on surfaces (albeit a little laggy), but whenever i try and go upside down using it, this happens.

I can never go any higher than this, no matter how high i put the max step count.

Here is the rotation blueprint i am using. Thanks in advance!

Please help!

Hi, I think the issue is gimbal lock since standard pawn doesn’t resolve that issue you have to do that on your own.

Looks like this person figured all that stuff out back in 2015:
https://forums.unrealengine.com/community/work-in-progress/28494-sonic-unreal-worlds-open-source-ue4-sonic-engine

Maybe they can help.

I came across this awhile ago, and looked into it. I could not find where the slope coding is, and it may not work in 2d. I’ll continue looking into it though.

Okay, i found the code, but it involves all the other variables for other parts of the blueprint. So i may have to fix it myself…

I’m interested too – can you link me to the code?

It may be. I looked into it, and tried to fix it, but it just made my pawn move around constantly and fly off into oblivion, though.

one of these two.

I found this (UE4 Adventure Kit WIP 12 - Wall Walking - YouTube) which may help, but its mostly c++… and not open source.

Why do you just add the vector (0, 0, -600)? Don’t you want to get the position of the “feet”? So you need to rotate this vector acording to the current rotation of the mesh, or did I miss something?

I found this rotation code online, Can’t remember where from though. These are the values they set, but maybe its wrong.

Perhaps I didn’t get the point, but when the rotation of your character is the only problem and it shall just stand upright on the ground, then you just have to find the desired normal vector.

Instead of adding (0, 0, -600) to the character mesh, you have to add it in local space, i. e. rotate the vector corresponding to the mesh’s world rotation:

Just connect the output of this snippet to the “End” input of LineTraceByChannel. The rest can remain unchanged.

Thanks! I’ll try this out!
But if your confused about the point, it’s trying to make a character be able to go through loops (with enough momentum, but thats later). Currently when attempting this the character will walk up it fine, but when its a straight wall will just slam to a halt and will refuse to keep moving.

I saw something recently that makes me think that Walkable Slope and CharacterMovement component are part of what’s causing this limitation. I saw in a live training about AI that a character will step up onto the top of a wall from below, even a vertical one, if the combination of the navmesh and the charmovement component settings tells it that it can, like stepping up a stair (no jumping required, just walk into it).

This might be an obstacle to making your character run through loops too.

Oh, also, whenever i walk off a platform, i just magnet to the ground. Any fix?

Sure sounds about right. Maybe i could try making a custom character movement? Also, I cant seem to find walkable slope in the character movement component, so it may be only for AI.

That’s how gravity works, no “fix” needed. Let’s concentrate on one thing: Did my hint help you and solve the problem? Falling off a platform would be another thread.

Ah, sorry. I added it in and barley saw a distance. Still got locked in place at very high rotations. But it somehow added momentum if you stop holding forward, so that’s nice!

Your initial question has nothing to do with momentum or with locks. And your last comment is not an answer to my question, or is it?

I move along, wish you good luck and am going to have a barley containing beverege. Furthermore, I recommand you to use the forum, as you want to develop a complex situation rather than having a clear question answered.