Advanced Locomotion System V3

Haha so that was actually something I forgot to take out when I submitted it. It causes errors in networked play. You are right, that is not the cause of the problem, but I thought the part before that might be. When simulating ragdoll, is the ragdoll stiff, as if it was applying an angular motor? Or is it always completely limp even when moving quickly?

As far as the movement while playing the get up animations, there is a macro inside the character BP called Shouldn’t move, which keeps the player from applying movement input when certain anim’s are playing. You could also enable root motion in the animations and that would have the same effect.

Well, glad you posted the image … I will remove the Add Force at Location. The ALS system is so comprehensive … the more I dig into it, the more I appreciate how well it is designed.

Katia appears to go “completely limp” when standing or moving slow and simulating ragdoll (no stiffness at all). Does that mean no angular motor is being applied?

Katia does not go stiff, when stimulating ragdoll, at high speed as well … as a side note, I do notice some of the curl animation the faster she runs, when entering ragdoll. And if I run and jump off a ledge, the curl animation becomes really apparent. I checked out your default character a bit more, and that motion at high speed looks pretty much the same when going into ragdoll while running. The “limpness” or lack of angular motor is really apparent at standing and slow speed ragdoll simulation… every bone goes limp as she drops.

Also, I don’t notice the “flail” animation much at any speed, and at low speed your default mesh appears to apply a bit less ragdoll to the upper body than my retargeted Katia, especially at slow speed. Perhaps this is just a setting … is there a way to increase the amount of “flail” that blends into the ragdoll, so the upper body does not go so limp at low speed … or some other setting you can point me to, or is that all the result of the lack of angular motor?

One more issue, the N_Rotate_to_Idle is still not showing up on Katia’s Skeleton Animation Notifies, as it does with your default ALS Mannequin … not sure what is causing that either, or what impact that might have to all this, if any, or her movement.

Thanks for the tip also on the Shouldn’t move macro.

I absolutely love this system, and plan to use it on all my projects. Please consider an ALS 3. It would be very easy, and free, for you to set up a Trello board, or do it here, and people could post their requests, like did above, for future updates. This is the best thing I have ever bought on the Marketplace, and the way it is now designed, is a great foundation for adding additional features.

NOTE: You were absolutely right … the “Shouldn’t move” macro was pointing to the Mannequin Get up montages … changed to the retargeted Katia, and now she does not move when getting up.

A little help with the ragdoll tweeking, and it’s time to add swimming to the state machine, and surfs up!

Does the IK have any parameters that must be set up for a different characters?

For some reason my character bends the knees once i apply the IK system on it. The skeleton have the additional bones and the animations without the IK system appears to be normal, but with the IK postprocess the character pulls the feets up.

The knees are bent like 80’ degrees:
3f55e054c592a8a60123c3ad2e348e0dfbd108ad.jpeg

For in-game i have added this to bring the pelvis up by ~20 uu, which helps to have the legs straight, and it seems to be working normal, but in animation previews and blueprint viewport i still get the knees are bent. Is there any particular reason for this?

bent_knees_pelvis_up_20.jpg

Edit: temporarily fixed the problems by adding a Z offset to the feets, pulling up the pelvis by an another Z offset, and by disabling IK while in editor the doll no longer appears with bent knees
4118747effb1888b29d9d6a77ce6eadbedb5a4dc.jpeg

I’m going to expose these two variables to the character BP to have custom settings for different models where i expect to have similar problems as well, so it will be easier to adjust these values to make them appear correct for the model

Also, i just have moved all the IK stuff to be part of the AnimBP (once again) and it seems to be working just fine (so far). Made this decision because i had many editor crashes while switching between the mannequin and my model, but the crash probably is just an editor bug.

It might mean that no angular motor is being applied, or the forces arent strong enough. It might take a bit of tweaking. If you want to send me a small copy of your project Id be happy to take a look and see If I can track down the issue.

If the Anim Notify isn’t showing up, you could just create a new one. That particular anim notify just sets the ‘Idle Entry’ enum to a specific state, so that it plays the proper animation when returning to idle from a Rotate In Place anim.

Hmmm not sure off the top of my head why it would be doing that. Perhaps it has to do with the re-targeting of the IK bones? Could be a lot of different things. If you open up the mesh asset, click on animations, and turn the bone visibility on, you can see the results of the retargeting. Check to see that the IK bones are in the proper places.

Yes, i didn’t noticed but the ik_foot_l and ik_foot_r bone pivots are a bit higher than they are supposed to be. They are in correct place in skeleton and mesh views, but offset only when the animation plays. I’ve been playing with the translation settings but it made worse so i revert them back to the default “Animation” setting.

This actually explains why i had to add an offset which wouldn’t be necessary otherwise.

Okay I may be dumb or just missing something but i am trying to reverse the cameras. Basically I want to have it start in first but then be able to press the C button and have it then change to a thirdperson view. Any advice or tips? I’ve tried messing with in the blueprint and just removing the thirdperson camera completely but to no avail.

Well you could add this to the Event Begin Play graph.

Thank you! I spent over an hour trying to figure this out. I knew it was something simple. Thank you again!

Can someone point me to an easy to understand tutorial on how to add the ik_foot_l and ik_foot_r bones to my character (from CharacterCreator) which doesn’t include them. I have Maya LT.

And before saying there are dozens of videos on Youtube… I have watched dozens of of them, and nothing does exactly what I need and none of the things I have tried form these are working. So not sure what I am doing wrong?

Many thanks!

Its just as simple as adding new joints into the correct places in the hierarchy. Add a new joint, called IK_Foot_Root, and make it a child of the root joint. Then make two child joints of that IK Root, named IK_Foot_R and IK_Foot_L. Then, you need to move the IK_Foot joints into the correct position, which should be the foot (or ankle) joint. The easiest way to do that is to click on the Foot Joint, then shift click on the correct IK_Foot joint, then add a point and orient constraint. Once you’ve done that, you can export it all as the new skeleton.

Just a quick question as i am thinking about getting this …

What is the total impact to network for replication and what is replicated?
I am asking because, 2 players with replication, my cell phone can do it no problem. On a bigger scale, im looking at possibly 200+ players on a single map. What would the impact be at that point ?

The C_Rotate_to_Idle Notify is created in the ALS_C_Rotate_L90dps, at 1 second, frame 31

The N_Rotate_to_Idle is listed as an Anim Notify, but needs to be created … correct?

Do I create it in ALS_N_Rotate_L90dps? with the same timing, 1 second, frame 31?

Oh gosh I have no clue actually. The system can be optimized further if needed, but right now I’m not so sure. I’m a rookie at programming and networking.

Hey, so I’m actually an idiot. I made some last minute changes right before release, and totally forgot to delete those anim notifies, as they are actually unnecessary. I had used them, but had problems with them, as sometimes they wouldnt fire if the anim didnt play the full cycle, so I added a small bit to the Rotate In Place function that makes the notifies unnecessary. Now, the Idle Entry State enum is set in the function instead of the anim notify events.

Terribly sorry for the confusion.

Thanks for the info on the notifies … it was getting a bit confusing for me, but all clear now.

Great support, and just wanted to say, this Locomotion system is amazing … but you really can’t appreciate it without retargeting to a custom human character, and dumping the UE4 Mannequin. There are some great Characters on the Marketplace. I had success with Kubold’s Katia. Now I am trying another Character. The problem I ran into, if I want to use a custom character procured from somewhere else on the web, is that the skeleton rig is not compliant with UE4 (extra bones, missing bones, weights wrong when retargeting), and typically doesn’t look right, even after retargeting … and I do not use Maya, so the only answer is to replace the skeleton of the new Character in a tool like Blender, so it will work with the Human Retargeting in UE4 and ALS… thankfully, after some time, I found a solution, and I though some of you may be interested in checking it out, based on our replies on this board, and private messages from this forum.

I found this fantastic Blender add-on tool, that will add a UE4 compliant rig to any Character, (even supports tail bones), and I found lots of tutorials, and it comes with great support! I am a Blender noob, but Lucas, the developer, helped me through it. The tool is called Auto-Rig Pro, and I found it here Lucas Veber - Artist and Developer

I know many of you are still having problems with IK feet on your rig, and issues with retargeting. You may want to give this tool a try to see if it solves your problem. The tool has options to add face, eye, tongue, teeth, chest, etc bones, for more advanced characters. Make sure you download the latest version of Blender, add the tool to it, and follow the instructions to the letter.

I wanted to mention this here, because the ALS system is fantastic, but it needs a great Character Mesh to shine. Choices on the Marketplace are good, but limited. So this opens up the possibility of using ALS with any character found on the web, for people like me that don’t use Maya.

Hope that helps.

HI there!

I’m using a backflip root animation montage, and when I play it, the character tries to change it’s rotation while the animation. Where is the function where the AdLocomotion control it ? because I don’t want to rotate while doing this animation

There is a macro in the AnimBP called Shouldn’t Rotate. At the moment its set up so the character wont rotate if playing the get up animations, but you can add in more animations, such as your backflip montage.

Trying to add “Crouching,” but it is taking a lot of work, and not functioning yet…

Added the Action Mapping to Project input settings
Checked Can Crouch on Character Movement Nav Movement
Created the Blend space
Added the Crouch state to the Grounded Locomotion state, and added the transition rules
Added Crouch to ALS_Player_CharacterBP Input Graph
Added ShouldCrouch Variable, CanCrouch Macro, and added Crouch Check to Sprint / Walk Check
Added Crouching boolean and CrouchSpeed Float and set crouching speed, … ALS_Component, and added Crouching to Choose Max Walk Speed
Etc. Etc. Etc.

I know I am forgetting something … normally addding crouch would be a five minute task, but I am still learning the ALS system. Any ideals on what I am missing?

Also created ChooseCrouchngAnim, but not sure how to configure the AnimNotify_Crouching.

Any help would be appreciated.

Still trying to add “Crouching” … taking a closer look at the “Moving State” to see if I need to reconfigure the Crouching state and transitions. Adding transitions from Crouching to both Idle and Moving. Will add slide when hitting crouch, and speed is over 300, and will add “Prone” when holding down B button on the controller … after I have basic crouching working.

Do I need to set up the Crouching State like the Movement State, with a Blend Poses, of both a back and forward Crouch Blendspaces?

Moving_State.PNG