Hey all, I am working on developing a fast paced movement shooter, and I am currently running into an issue with the camera movement using the ninja character. Basically whenever my player character leaves the curved surface (where I reset the gravity direction to default, and it should still be facing the same direction and just be rotated vertically), it instead completely flips its direction back to its initial rotation rather than keeping its current rotation. I have no idea how to fix this issue and I was hoping for some help with resolving it as this issue has been a persistent one for months.
I think the issue is in the Align Component To Gravity somewhere. I dont know much about C++, but I do know that the gravity works apropriately with that turned off, its just that the orientation of the actor isnt being properly set when the ball goes off of that angle with the bool set to true.
I noticed you mentioned Unreal has a built in gravity dir in the CMC. I peaked and exposed it to blueprints with a custom class extension. I played around and did the math rotating the character to planet centre ect. I even ported ALSV4 and some other custom avatars I have made myself. I was wondering if anyone knows why the equator of spheres and the like cause the characters to enter fall state for like 1 second. Then land and continue perfectly like nothing happened. Its my last hurdle. I am sure people may have a idea why. And maybe a solution. Thanks for your time.
The point is, I don’t want there to be any gravity in my project.
My character will have to be like a spider that sticks to all the surfaces it encounters, it’s not supposed to fall in any direction, but the way the ninja character is set up at the moment, every time I lose my grip on a wall, I I find myself on the main floor of Unreal or falling into the infinite void.
And in any case I absolutely didn’t understand how to make the character orient himself to descend it when he reaches a cliff.
I had already set up the whole character with a pawn, without the Ninjaplugin, but I had to give it up because Unreal is too stupid and doesn’t handle the root motion of an animation on a pawn.
So I’m trying to switch to this Ninjaplugin, but it’s full of gaps.
For example, the Change Char Axis function sets a new axis of gravity, but I can’t find any function in the plugin that gives you the current axis and direction.
EDIT: It seems to be some weird 'bug’in 5.2 in network movement code, on client the setcontrolrotation its getting called twice, first time sets correct rotation, second for some reason sets it at zero rotation…
Hiya Xaklse
Was wondering if replication should be working, using UE5.2
It appears the control rotation is flipped for the client. Character is all setup correct, also using ninjacamera manager.
on a side note, you planning on upgrading the plugin to the new momvementcomp code that comes with UE5+ ??
thanks
Cheers!
Frank
would it be possible to have the capsule rotates controll rotation also rotate the yaw witch it is not doing at the moment.
Hey, I’ve been having a problem where if I align the player character to a surface that is angled, moving up or down the slope makes movement slowed down more and more with the angle of the surface. If I align the character to the wall, Im not able to move up and down the wall (Floor to Ceiling) with walking forward or backward, but if I use left and right I can move freely up and down the wall.
Does anyone know what’s causing this and how Id go about fixing it?
As a note, I’m still pretty new to Unreal Engine so it might just be something I did wrong but I’m not sure what if I did.
Finally after a long while of tinkering around I did fix it, might not be the best fix but it works!
For anyone that has this happen within UE5 this is my fix, change your forward and backward movement to use Capsule Component - Get World Rotation - Break Rotator instead of Get control Rotation, then From Break Rotator, for your left and right you want to apply all, X, Y, and Z, Into your Vector. For your Forward and backward movement You only want to apply Y and Z, then everything should work when walking on walls and slopes.
As a note this fixes the unable to walk forward and backward on walls as well as the character moving backward when walking forward and looking down on a slope.
Hello, is it possible to make the camera not rotate with the player when they are moving on slopes, walls, ceilings, etc?
When I tried doing that, the movement controls didn’t work correctly and I couldn’t figure how to get the camera controls to work.
Here’s my movement blueprints:
And my camera blueprints:
If I remember correctly this is the setting you are looking for
If it isn’t correct, the answer should exist in earlier posts here as I remember someone previously asking this question.
Hello, do you plan on updating to UE 5.4?
Okay I need some help. I’ve got just about everything else how I want except for the fact that when the character is wallrunning and they get to the top I want the capsule to rotate instead of launching and then falling. I thought I could do this with a sphere trace to detect the new face and rotate to the axis on every walking off ledge event but I end up getting a crash entailing this:
Any help would be appreciated. Thank you.
Assertion failed: Vector1.IsNormalized() [File:D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NinjaCharacter\Source\NinjaCharacter\Public\NinjaMath.h] [Line: 162]
UnrealEditor_NinjaCharacter!UNinjaCharacterMovementComponent::UpdateComponentRotation() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NinjaCharacter\Source\NinjaCharacter\Private\NinjaCharacterMovementComponent.cpp:6508]
UnrealEditor_NinjaCharacter!UNinjaCharacterMovementComponent::SetComponentAxisZ() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NinjaCharacter\Source\NinjaCharacter\Private\NinjaCharacterMovementComponent.cpp:6455]
UnrealEditor_NinjaCharacter!ANinjaCharacter::SetCharMovementAxis() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NinjaCharacter\Source\NinjaCharacter\Private\NinjaCharacter.cpp:305]
UnrealEditor_NinjaCharacter!ANinjaCharacter::execSetCharMovementAxis() [d:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NinjaCharacter\Intermediate\Build\Win64\UnrealEditor\Inc\NinjaCharacter\NinjaCharacter.gen.cpp:202]
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_NinjaCharacter!UNinjaCharacterMovementComponent::PhysWalking() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NinjaCharacter\Source\NinjaCharacter\Private\NinjaCharacterMovementComponent.cpp:2909]
UnrealEditor_Engine
UnrealEditor_NinjaCharacter!UNinjaCharacterMovementComponent::PerformMovement() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NinjaCharacter\Source\NinjaCharacter\Private\NinjaCharacterMovementComponent.cpp:1117]
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_NinjaCharacter!UNinjaCharacterMovementComponent::TickComponent() [D:\build\U5M-Marketplace\Sync\LocalBuilds\PluginTemp\HostProject\Plugins\NinjaCharacter\Source\NinjaCharacter\Private\NinjaCharacterMovementComponent.cpp:427]
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_Engine
UnrealEditor_UnrealEd
UnrealEditor_UnrealEd
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
kernel32
ntdll
Place a branch node after the sphere trace by channel and plug the Return Value of the sphere trace into the branch, then connect the change char axis to the true section of the branch. As in the case of the false path (or the trace fails to hit anything) the value of the impact normal will be some Undefined value, and should be the reason your project is crashing.
Hey! Reading this makes me wonder if it is going to be updated to 5.4? Is it even possible to work on 5.4 with epic new gravity system? I just need to know should I have my hopes up or should I just stay on 5.3 and find a work around?
I am having some issues I need to upgrade to 5.4.2 but the plugin isnt ready for 5.4.2
so now when I go back into 5.3.2 nd try to reparent my main character from the ninja character to the character parent class, it breaks all the movement component codes through out my code
so this means , im getting errors in anything character movement related even though its not pulling things from my ninja character code
how can I fix this? as it looks like the plugin wont be supported anymore, we still need a we to un parent the ninja character class
here is a picture of the errors it gives
I do not understand why, this i my animation and because I changed it , it now breaks regular character movement component stuff. So I can move around after I reparent but if I close the engine and open it back up the character wont be able to move and the errors are still there
The Ninja Character class has it’s own movement component implementation, so the functions being called in blueprints are ones that belong to Ninja Character not the standard Unreal Character. If you are using a c++ project, you could try putting the Ninja Character plugin in the plugins folder of your project and change the supported engine version in the .uplugin file to 5.4.
those animations and that code hasnt been touched in 4 years, it was, with the original character parent class I had.
I switched my parent class to the ninja character , but my issue is, when I switch it back, to character parent class it breaks it things, that code didnt call anything from the ninja character like any fuctions or options, its literally just getting the character movement .
so there is no way to un parent from the ninja character back to a regular character parent class without having issues?
plug the try get pawn owner into a “is valid” node (the one with the two output execution pins) cause it seems like the try get pawn owner is failing to get a valid reference. Also try compiling and saving all files after parent class change and see if it gives the same error, because unreal is known to hold invalid references in memory and giving undefined behavior if you don’t compile and save.
I updated the plugin for Unreal Engine 5.4.
It has been almost 10 years since I started this project, and I feel the time has come to put it aside.
My lifestyle has changed a lot, I don’t have so much free time anymore, and the time I have I prefer to dedicate to myself and those around me.
It also doesn’t help that I’m saturated with so much programming in Unreal Engine, because of work.
It is very likely that I won’t release an updated version of my plugin for Unreal Engine 5.5.
My advice is to try to use Epic’s current solution (CharacterMovementComponent with custom gravity), or wait for the release of the Mover 2.0 plugin (in experimental status).
If you feel that these solutions are incomplete for your needs, I think we/you could see what can be changed and propose the needed changes to Epic to benefit everyone.
you deserve to rest, good sir, thank you for this wonderful plugin !!
best of luck for your future endeavors.