Hey everyone! So, if you have watched the State of Unreal
in GDC 2024, you might be familiar with all the changes that were announced for
version 5.4, including the changes in animation system, which took a massive
transformation and blew our minds away. So, two of the major features, including the
Advanced Auto Retargeting and the Modular Control Rig, completely transformed
what was once a slow, cumbersome, and complex procedure into an intuitive,
streamlined, and surprisingly fun process. So, in this video, we are going to dive
into these enhancements and show you how they can be leveraged across different
skeletal meshes. So let's get started. So, I have downloaded this sample Mixamo
model for our today's demonstration. So first, we are going to create an IK for our
Mixamo character. So let's open this in the preview skeletal mesh;
we will choose our Mixamo mesh. So previously, we used to go through all the
trouble of creating the IK chain map one by one manually. Now, we have this button:
"Autocreate Retarget Chain." So the system understands that this is a Mixamo skeleton, and
it creates the retarget chain map accordingly. So this system has basically compatibility
with different types of industry-standard skeletons that you have used in various
applications like maybe Daz, iClone, and so on, and they are all going to be easily
retargetable over here. Pretty cool, right? You can also create the IK goals
with a single click by clicking on the "Autocreate IK." So it creates
a full-body IK by default. If you are interested in other types of IK,
please check out my other tutorial. Here I can see a minor issue
that can be very easily fixed by reversing the preferred angles over here. So now let's open this RTG
mannequin that comes with our mannequin character. In the Target Asset,
we will choose our Mixamo IK Rig Asset. Yes, so here we can see a few issues. That's
because the poses are not matched. So let's go to the editing retarget Pose, and in the
auto-align, I will choose "Align All Bones." What this does is it automatically aligns
the target bones to match with the source pose. In the other tutorial, you have seen me
manually do this thing, like rotate each of the bones so that they all align with the
source pose, but here it's all happening in just a few clicks. I mean, retargeting
has suddenly become so fun and interesting. [Music] So here we see another issue where his left
upper hand is not correctly oriented. We can fix that very quickly by changing the pole
vector offset of the left arm from 0 to 180. [Music] We can retarget the Paragon character
very similarly, so let's do that. With just two clicks, I am setting
up the IK chain and the IK goal, and it works even better with the Paragon
character since it's an Epic compatible skeleton. The IK retargeter over here is
also pretty simple and straightforward, and this works flawlessly for the
mannequin as well as the MetaHuman. Let's see how this works with Mixamo. The first
thing we are going to do is align the bones to match the source, and then we need to set the
pole vector offset of the left arm. Here you can see issues in its feet, so I will go back to
editing the retarget pose. I had already aligned it to match with the source, so now I just have
to manually adjust the left and the right feet. Now, the animation looks much better. [Music] Let's look into implementing the
Modular Control Rig. For that, I will go to the animation section in the
context menu. In the Control Rig option, I will choose "Control Rig," and over
here, I need to select "Modular Rig." So first, in the preview scene settings, I
will select my preview mesh. It comes with the root control by default, as you can see.
And in the center, you see this round button, which indicates that we have to drop
the spine rig module on top of it. On the left, you have your module assets that
you need to drag one by one. And over here, you have the rig hierarchy. All the controls that
you add are going to appear over here, and you can also directly add the controls in here, just
like how you do in the control rig blueprint. So now, let's add our modules. I will start
with the spine. I will just drag it and place it in the socket. This brings up a group
of other sockets that are connected to the spine socket, and we're going to place the
respective modules one by one over here. [Music] Sometimes you can misplace, so you can simply
delete from the module hierarchy and reposition. And this tool is not very perfect. It has a lot
of issues still. Even the Undo doesn't work all the time, and a lot of times I had really
messed up and I had to start all over again. So in your rig hierarchy, you can see all
the controls that have been automatically created when you dragged the modular rigs.
Typically, in your control rig blueprint, you would have to create individual
controls manually. So this approach is actually a very effective and time-saving
way of quickly creating controls around your character that you can, of course, manipulate
in the sequencer to create custom animations. So by default, your arm rig is FK. You can
change that by checking the "FK/IK Default" in the details panel of your arm module. This will
ensure that you're able to use basic hand IK. I can create the modular rig
for the MetaHuman as well, very similarly. Along with the base preview
mesh, we can also add additional meshes from this skeletal mesh array. Now let's
quickly set up the modular assets. [Music] This "Add Control Rig" asset that you see
over here is going to be useful for you if you're looking to add a control rig for
specifically a particular bone. And this "Chain Rig" is going to create a hierarchy
chain for any given set of bone hierarchy that you are looking for. So here, you need
to specify the start bone and the end bone. So I can simply choose one of the fingers
as a part of the chain link hierarchy. So now we are going to test this
in the sequencer. So in the level, I added my actor, and in the sequencer,
I'm going to add the reference. By default, it's going to load the default MetaHuman
control rig, but we need to test ours. So we will delete the previous control rig,
and now we can add the new control rig. So let's check if everything is working. [Music] Oh, okay, I see a weird issue going on over
here, and that's probably because of the improper connection of this chain link. So we need to
go back to our Module Rig Editor and fix it. [Music] Yeah, this is totally wrong. So, let's
quickly delete this, and basically, we need to redo it. So whatever you do in the
editor, I strongly advise you against pressing "Undo" because that is totally messed up, and
even if I press "Undo" to reverse something, I almost never recover to the point that
I can make it work again flawlessly. So typically, what I do if I mess something
up by pressing "Undo," or for whatever reason, I usually close the editor without saving
and then reopen, and then it works fine. Maybe this is a bug or something that might
get fixed in the later version. Till then, I will be cautious while working so that
I don't lose my changes. And this is just a preview version I'm working on, so
a lot of bugs are already expected, and a lot of things are going to get fixed in the
release version when it launches later next month. So I will now drag my chain rig model inside
one of the finger sockets. So if I want to add this in my index finger, I will just drag
this on one of the index finger sockets. [Music] So the hand IK is now working fine. The index
finger chain also works correctly. Alright, so let's go back to my sequencer. [Music] Now, yeah, so it is working fine. [Music] Now, in the State of Unreal demo, they showed
how a single finger control can be used to manipulate all the fingers for our right hand.
We are going to create something very similar. The process is not very straightforward, and
for this, I will be using this chain link. First, I need to create the controls for each of
the fingers, starting with the index finger. Now here, you see a lot of different sockets that
you might be tempted to put your chain link on, but I must warn you, not all of them work.
I've seen that I get the expected result when I am adding my chain link to either
the "side in" or the "side out" sockets. Alright, so let's add the chain module in
our index finger. The start bone is going to be "index 1," and the end bone is "index 3."
Okay, so I can change the shape of the Gizmo, and to do that, I will go over here under "shape
name" and just change the name to "Arrow Thick." Alright, so now let's set up the middle finger.
We are going to set up the start bone and the end bone over here, and if I want to make this chain
dependent on the index finger chain, then I have to set up the parent control. So the parent
control is going to be the "index 1 control." Okay, so the parent control is still showing
null. That's because we actually need to make this as a child in the hierarchy as well.
So I will just drag this in the plane chain. Alright, so this works perfectly. So now
we can set up the rest of the fingers. We can rename the chain links so
that they are easy to identify. Okay, so now I'm going to set up the bones for
each of these chains. So, except for the thumb's chain, I want the movement of the chain models for
the rest of the fingers to be dependent on that of the index finger. So I will add the remaining
ones as well as children of the index chain. So now let's quickly change the
shapes of the remaining Gizmo chains. Yep, so this is working perfectly fine. With
just the movement of the index finger chain, I'm able to move the remaining fingers,
and the thumb chain is moving separately. So now let's go back to our
sequencer and try this out. Yeah, working as expected. It's even fun
trying this out inside the sequencer as compared to in the Control Rig editor because
of all the clutter of note sockets over there. So now, we are ready to animate our character,
but I'm not going to since I'm not an animator. You can try out the preview version of 5.4
and let me know how it goes in the comment section. And if you are interested in
learning about Control Rig Blueprint, please let me know. I can make a
separate video on that as well. Till then, please like, share, comment, and subscribe to my channel. And if you
want to learn the basics of IK targeting, watch my previous tutorial video.
The link is given in the description. So that's it for today. I will
see you in the next video.