➕Integration
In this section we will learn how to integrate the system.
Scriptable Animation System offers a streamlined integration process. Let's start with the custom controller integartion. We will use the FPSController script from the demo project as an example.
Initialization
First, you need to add references to the framework core components:
Then, make sure to initialize all the components:
Weapon change
When switching weapons, we need to link a new Animator Profile:
Additionally we play an Equip animation, which is optional and depends on your project implementation specifically. A similar logic is applied to the UnEquip method.
Aiming
Additionally, we access the FPSCameraController, and adjust the target FOV. We also adjust the recoilAnimation aiming status, which is important as it will adjust the animation accordingly.
Playing animations
To play an animation, you need to call the:
You can also specify the start time of the animation as a second parameter, which might be useful for mechanics like staged reloads.
Recoil
The recoil is implemented via Recoil Animation component and Camera Shakes. First we need to initialize the Recoil Animation component when a gun is equipped:
You only need to add the Recoil Data to your custom weapon class. The Recoil Data is a Scriptable Object, that contains the information about the procedural recoil animation.
Next, we need to apply the recoil effect in runtime:
Making adjustments
Sometimes it is necessary to adjust our system's behavior in runtime, depending on gameplay situations.
In the Scriptable Animation System it is implemented primarily via the Input System:
In the example above, we toggle the Playables systems and stabilization based on the sprinting status. You can adjust custom properties in a similar way, depending on the requirements of your project.
Last updated