Advanced Locomotion System V3

One more question for me :slight_smile: I’ve moved most stuff over into a Character Blueprint that already had a ton of code in it - almost everything works, except the turn in place… he looks around as you’d expect - but he doesn’t actually turn… Can you give me a hint as to where I might look for what I missed? - if I watch the graph in “Turn In Place Check” in the animBP - the ABS of the Yaw is never greater than the Aim Angle Threshold 1 and so never goes on to the “Play Turn In Place” Animation - not sure if that gives you any clues or not :slight_smile:

Thanks again for the great system

Open Up the Turn In Place graph in the manage character rotation graph in the grounded section. You will find a Turn In Place Check function that is responsible for firing the turn animations. Have you added more functions into the graph with different parameters?

Hmm thats quite odd. Are you using the same AnimBP, and also, is your actor using the control rotation?

hmmmmm control rotation? I am not sure what that is - so I am going to guess “no”? :slight_smile: does it have anything to do with the cameras and spring arms? because I kept what I had there for them as I’m only doing third person right now and they worked OK - but if I need to move over all the camera stuff too then I will

Edit: sorry - and yes it’s the same animbp that worked already :slight_smile:

Sorry, I misunderstood, I have crouch turn animations, but I have not tried to add them yet.

The turn works fine when I am crouched and moving, and he will crouch move and then go into crouch idle just fine,

but once I am in crouch and stopped and in Idle, I get some really inconsistent reactions when turning or hitting the crouch button again … such as sometimes it wont stand back up, sometimes it will, and when in Locomotion States 2 or 3, sometimes he will turn his head, but not rotate around, and sometimes he will stand, turn, then crouch again.

A bit odd. I know I have screwed up somewhere. Any help would be appreciated.

OK I’ve moved the camera blueprint stuff over as well and now I can press 1,2,3 and the camera adjusts as you’d expect, but still no turning in place - weird because I think everything else is working - even ragdoll and get up

I missed one thing somewhere for sure but it’s so complex I’m having trouble finding what I missed

Okay, took another look at my two issues:

  1. When starting from an idle standing position, crouching works perfect, as long as I remain idle. And after moving, if I go into standing idle, crouching will work perfect. While moving, I can enter and exit crouch movement, and it works, as longs as I continue moving.

But when I enter idle crouch from any movement, pressing the crouch button to stand up will not work until I apply some movement with the left thumbstick.

Update: Getting closer to solving the Crouch problem after entering idle crouch from stopping… think it has something to do with the Crouch_Stop Blend in the Choose Stopping Anim.

Update 2: Crouch Idle issue fixed. Don’t fully understand why, but shortened the Crouch_Stop Blend Idle animation and it works perfect.

That leaves the Crouch Idle turn issue. Think that may have something to do with Turn in Place Check, but not sure.

  1. When starting from an idle standing position, entering crouch, then turning in place in locomotion states 2 & 3, will cause the character to stand, turn, then crouch again.

And when I enter idle crouch from any movement, then turning in place in locomotion states 2 & 3, will cause the character to turn his head around, but not turn in place.

Update 3: Fixing the crouch idle issue, has fixed part of the crouch turn issue. Now will always stand, turn, then crouch. Just need to get the stand out of the turn. Only documenting all this so it may help other noobs like me.

Any thoughs?

I have been looking at this as the solution to my crouch turning issue. I was thinking if I were add a switch on body position, then for standing use the current Turn in Place Checks … but for Crouch, add new Crouch turn animations. I’ll give it a try … what do you think?

Update: Added Switch on BodyPosition to ALS_AnimBP>Event Graph>Manage Character Rotation>On Ground>Turn In Place Graph, and Turn in Place Check, with crouch 90 and 180 turns, to BodyPosition Crouching, for Switch on Locomotion States 2 and 3. Also added Crouch turn 90 and 180 L and R to ALS.Choose Turn in Place Curve (maybe not necessary?) Need to adjust everything, but crouch idle turn now working. Not sure this was the best way to do it … but it worked.

Still pops up to standing to turn from crouch, then returns to crouch, when in First Person only. Last Crouch issue.

Okay, solved 1st person idle crouch turn, pop up to stand and turn, before back to crouch … added a Body Position Blend Poses (Crouching Pose) in the Idle state before the ALS_Idle_Additive and Turn in Place Slot. Crouch working, in all states, 3rd and 1st person, idle, moving, stopping, turning, etc.

Clearly not doing things the right way, but it works for now, and can move on to swimming … will have to wait until King Tum Tum’s next update with proper Crouch to see how to do it the right way.

Thanks again for the help King. Great seller support, and lovin ALS.

If you add the Blend Pose to the Land State, you can crouch jump, and it will smoothly land back into crouch, instead of just the knee bend.

Check the Idle Entry enum. In the Rotate in place function, it sets the Idle Entry enum to the transition animations, which blend to their respective idle pose. Add in another Idle Entry enumerator, and plug it into the function when crouching.

King,

  1. I would like to create a “switch on Camera Position” (1st and 3rd person) so I can insert that anywhere, and do things such as switch Final Animation Poses based on 1st or 3rd person camera.

For example, I would like to apply the Idle state Additive ALS_Idle with the swaying, only when in 3rd person. When in 1st person, I would like to keep the head still by removing the Additive. I will need to change 1st and 3rd person swimming animations as well. And there are lots of other examples where I may want to change things based on camera position.

To best fit with your system, should I create another Enum for Camera Positon? then switch on that? What is the proper way to do this?

  1. How do I turn the foot IK off for prone, swimming, and other animations where it is not needed? When I enter prone now the IK keeps his feet planted, and screws up the prone animation. Need to turn it back on when he transitions from prone to crouch.

So you could use the View mode Enum in the characterBP, or make a similar one in the component.

As far as IK, open up the Post Process AnimBP and try adding more conditions.

Ok, I was looking at the Post Process for the IK solution, that is good to know …

Is there anyway to use the View Mode Enum here in the Idle state, so the Apply Additive is applied only when in 3rd person?

Is there a way to add Prone to the Switch on EMovementMode so I could link it with Falling, Swimming and Flying to no Foot IK enable?

If not, where do I add the Prone Condition so I can opt out of IK?

A better way might be to create an Additive Alpha Float, and plug it into all of the additive nodes. That way you could easily blend off all additives on first person, and you could control the float from the component or something.

Hmm. Ill try to do some experimenting when I get time to figure out a good way to do this.

Now if we could just figure out how to get IK working on our custom model. (such that it works with Locomotion.) Anyone got any good tips for making sure the setup’s right?
Right now, it kinda gets bent out of shape. Literally.

Noticed there was an update, is there somewhere I can see what changes happened when they occur?

OK I am sooooo close to getting our character set up here - my last two hurdles are

  1. IK - seems to work but when I run it seems the running animations for his legs are not playing - the arms swing and his legs “move” but they are not running like you’d think
  2. I don’t get any flail animation on ragdoll :slight_smile: this is SUPER important :slight_smile: LOL