Retarget UE Character Assets – ALS4 Community

There are two ways you can retarget your mesh to work with ALS4. The fastest way would be to use dynamic retargeting. This still requires from you to create an IK Rig and Retargeter, but you don’t have to add the virtual bones.

I am using this asset as an example. It’s the character I will use for my game. It should work for any character asset from the marketplace. It works also with Mixamo characters. To make it easier with Mixamo assets you can use this plugin for Blender.

Let us duplicate the target skeleton first, to have a backup if something goes wrong. Now open the duplicated skeleton.

First we have to add the virtual bones. You can do it by right-clicking on the bones.

Here is the table for the root bone, target bone, and name of the VB bone.

Root BoneTarget BoneName
rootrootCurves
hand_lik_hand_gunLHS_ik_hand_gun
LHS_ik_hand_gunhand_rLHS_ik_hand_r
hand_rik_hand_gunRHS_ik_hand_gun
RHS_ik_hand_gunhand_lRHS_ik_hand_l
ik_foot_rootfoot_r(ball_r)foot_target_l
ik_foot_rootfoot_l(ball_l)foot_target_r
ik_foot_lik_foot_lik_foot_l_Offset
ik_foot_lcalf_lik_knee_target_l
ik_foot_rik_foot_rik_foot_l_Offset
ik_foot_rcalf_rik_knee_target_r

The virtual bones should now match with the ALS4 skeleton. The names may differ from the ALS4 version from the marketplace, but the root and target bones should be the same. For the Mixamo assets you will need more virtual bones. You would first create “virtual IK bones” and then add the virtual bones.

Select your skeletal mesh, right-click -> Asset Actions ->Bulk Edit via Property Matrix -> Mesh – and replace the original skeleton with the new one.

The next step is creating an IK Rig for the ALS4 skeleton and our skeleton. You can create one by right-clicking on the content drawer and selecting Animation -> IK Rig. Select one of the two skeletons – you have to repeat this process for both skeletons.

First set the pelvis as Retarget Root. Now we need to create chains for the arms, legs, spine, fingers, etc. The chains for the IK and VB bones have the same start and end bone. So the chain contains just one bone. The chain for the legs should not contain the “twist bone”. The chains of the “twist bones” and the “clavicle” bones also contain just one bone as well as the root bone.

Now we add a Full Body IK Solver. Set the hands and feet(balls) as IK Goals and the pelvis as root bone for this Solver. Adjust the pullchain alpha value to zero for the IK Goals settings of the hands. Add settings to the clavicle bones and adjust the rotation stiffnes to 1. Then set the IK goals for your arms and legs.

We are almost done. Now we create the Retargeter based on the ALS4 skeleton and select the asset skeleton as a target. Select the root chain and set the Translation Mode to Globally Scaled and the IK and VB chains to Absolute. Adjust the pose of your skeleton to match the pose of the ALS4 skeleton by selecting the Edit Pose button. In my experience, the bones don’t have to overlap but should be aligned in parallel.

Now the weapons may be a little bit off. You can adjust that at the ALS Blueprint. There should be a function called “AttachToHand” and you are ready to go.

Dev Log 3

Not much happened this week. I found some character assets in the marketplace for the future player characters and wanted to implement them. But I had plenty of issues retargeting the assets to the ALS4 system.

I found the available tutorials and documentation useless since they just ignored the IK for the hands.
In the end, it worked out, and I can now work at least with the final skeleton.

As I started to work on the combat system, the idle pose created issues caused by ALS4. Now the character began to wiggle its butt. Since it was a short development week, I stopped there.

This week I hope to fix this issue and add the combat system.

Dev Log 2

My focus this week lay on the zombies. The first thing was to add simple dismemberment. This was straightforward, and it’s now possible to shoot the limbs away. It was finally time to add some blood. So I started to learn how Unreals Niagara works and created my first blood effect.
It does make a lot of fun, and I have to be aware not to spend too much time on it.

Since one can dismember the legs, I had to add some crawl movement for zombies and crawl attacks. This also happened without any surprise.

The last thing I added was a “biting event”. The zombie should attempt the player and try to bite him or bite him. This should happen until the action button gets pressed.

The implementation was not as simple as I expected, and there is still some jittering. Some of the animations are rooted animations, and I have to play them as a Montage to keep the network compatibility. So the root animations, which are played as Sequence, snap back to their root position. I will fix it next week.

Next week I will work on a more sophisticated melee system and add more blood effects. There will also be a tutorial about projectile path prediction.

That’s about it. Since I wanted to push this blog this week, I had to create some content.