Paragon - Child Blueprint/Animation BP
Requirements: Unreal Engine 4.19+, Paragon Characters from UE4 Marketplace, Base Character BP from Previous Tutorial.
In this tutorial, we are going to inherit from the Base Character BP from the previous tutorial to create a child blueprint class for a Paragon character. You will be able to follow this with any of the Paragon characters, in this tutorial we will be setting up Countess.
Make sure you have completed the Paragon Base Character tutorial before moving onto this one!
Creating the Child Blueprint Class
To get started, find the BaseCharacter_BP in the content browser, right click on it and create a child blueprint class. I’ve named mine Countess_BP because I am setting up Countess.
Drag this child blueprint class to the paragon folder for the character you are using.
Remember! We can make sure that we spawn as this character class by opening up the Paragon_GameMode_BP and changing the default pawn class to our new blueprint.
Open up the child blueprint class, and select the character mesh. Drop down the skeletal mesh on the details panel and select the character mesh you are using, I am going to choose Countess_Shogun.
We need to assign an animation blueprint to the anim class. Let’s come back to the content browser to create one.
Right click in the paragon character folder and go to animation > animation blueprint. We need to assign the animation blueprint to the skeleton of the character we are using. Mine is going to be S_Countess_Skeleton. Now just name the animation blueprint. Mine is named Countess_AnimBP.
We can now come back to the character blueprint and change the anim class to the Animation Blueprint we just created.
Now let’s setup the animation blueprint.
Animation Blueprint Setup
Let’s start by switching over to the event graph tab. Let’s drag out from the try get pawn owner and cast to our child blueprint class. Make sure the execution pins are connected up to the Update animation event.
From the cast to our child blueprint class we can pull out the blueprint output pin (named "As Countess BP" for me) and call the functions from our previous tutorial. Let’s start by calling the “Calculate Speed” function.
We can see that this function returns the speed, we can right click on this float and promote it to a variable named “Speed” to store it in the animation blueprint.
Now let’s drag out from the blueprint pin on the cast again and call the “Calculate Aimoffset” function we created in the previous tutorial.
We can see that this function returns the Aim Pitch and Aim Yaw, let’s promote both of these to variables named “Aim Pitch” and “Aim Yaw”.
Finally, let’s drag out from the blueprint pin on the cast again and call the “Calculate Lean” function we created in the previous tutorial.
We can see that this function returns the Lean Amount but it also has a Lean Sensitivity input! Let’s promote the Lean Amount return to a variable with the name of “Lean Amount”.
For the sensitivity let’s use a value of -10.0 (we want to make sure it’s flipped!). If we are using Rampage, we can just use 10.0 as we do not need to flip it.
That’s everything we need to do in the event graph! Let’s switch over to the Anim Graph to setup the animation state machine.
To create a state machine, right click on the anim graph and type in: New State Machine.
Let’s name this, “Base Locomotion”.
Now inside this state machine we want to setup two states, one for our idle animation and one for our running animation.
Drag out from entry and add a state named “Idle”. To assign the idle animation, double click on the idle state. Now we can right click and search for the animation, or we can use the asset browser on the right panel and drag out the animation, then connect animation to the result.
We can come back to the state machine by clicking on the back arrow or by clicking the name of the state machine on the top bar.
Now let’s drag out from idle and add another new state named “Run”. We want to make sure we can transition from the running animation back to the idle animation too. So to do this, let’s drag from run back to idle.
Run Blendspace with Leaning
Before we assign the run animation, we want to create a blendspace. We are going to do this because we want to apply the leaning to the run when we turn.
In the content browser, right click and go to animation > blendspace 1D. Assign it to the skeleton for the Paragon character you are using, mine is S_Countess_Skeleton. I’ve named mine Countess_Run_BS1D.
Open up the blendspace and name the horiziontal axis “Lean Amount”. The minimum axis value is going to be -45.0 and the maximum will be 45.0.
To assign the animations to the blendspace, scroll down on the asset browser on the right, we are looking for:
Drag the “Jog_FWD” animation in to the centre of the blendspace graph. (This will represent 0 on the lean amount, therefore running straight forwards).
Drag the Jog_FWD_Circle_Left to the left side (this will represent -45 on the lean amount).
Then drag the Jog_FWD_Circle_Right to the right side (this will represent 45 on the lean amount).
We can hold left shift and scrub the mouse across the blendspace graph to preview the blendspace.
We can add some interpolation by adjusting the interpolation time on the asset details panel (top left side), use a value of 0.2 and test out scrubbing the mouse across.
Now let’s come back to the animation blueprint and assign the blendspace to the run state.
Open up the run state and search for the blendspace we just created.
Notice we have a lean amount input. We already have a variable named “Lean Amount” that we can plug straight into this, grab it from the variable tab or by right clicking and searching for it.
Now let’s come back to the main state machine and setup the transition rules.
Double click on the circle for the transition going from idle to run.
To go from Idle to Run we want to make sure that our speed is above 0. Grab the speed variable and drag it out and search for float > float.
The second input should already have the value of 0.
We can then plug the red Boolean result straight into the can enter transition.
This now means that we can enter into the running animation (from idle) when our speed is above 0.
Copy these nodes and come back to the state machine. Let’s setup the transition rule going from run back to idle. Enter the transition rule.
To go from Run to Idle we want to make sure that our speed is NOT above 0.
Paste in the nodes from the previous transition rule, drag out the Boolean and type in NOT. Then plug the output from the NOT into the can enter transition.
This now means that we will enter the idle animation (from run) when our speed is NOT above 0.
That’s the transition rules setup, let’s come back to the main anim graph and setup the aim offset.
On the anim graph, if we look to the right we should see the asset browser. Scroll down until we see a blue asset icon.
The names for the Aim Offsets are different for each paragon character:
Feng Mao: FengMao_Idle_AO_BlendSpace
Drag the aimoffset into the graph and connect the state machine to the Base Pose input and the output to the Final Animation Pose result.
Now all we have to do is connect our Aim Pitch and Aim Yaw variables into the inputs!
That’s the Base of the animation blueprint complete for getting a Paragon character moving and animating! We can repeat the steps here for any of the other characters.
- Gavin Milroy (Tesla Dev)