# Introduction

## BPC\_FPA\_ProceduralAnimation Component

This is the core class for this project. This component performs all FPS procedural related calculations. PoseOffset, Idle, Locomotion, Recoil, Jump, AimSpineWieghts, Lean, Sway, Lag

It provides functions for PoseOffset, Idle, Locomotion, Recoil, Jump, AimSpineWeights, Lean, Sway, and Lag.

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2F4rNhz70qlTdMVFVOEjiA%2Fprocedural%20animation%20folder.png?alt=media&#x26;token=e7019e09-f26f-46b2-a91b-78186ad024f5" alt=""><figcaption></figcaption></figure></div>

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FjVzDKIc8USmB5w2HHqIE%2Fprocedural%20component.png?alt=media&#x26;token=fc8b56c7-6fe5-4927-8fd3-5f51613caea4" alt=""><figcaption><p>This component can be used by attaching it to a character.</p></figcaption></figure></div>

This component provides a number of custom functions that can be used by FPS characters.

<figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2F0EcFxrJi6gSLNJdMX3z1%2Fsuuport%20function%20event.png?alt=media&#x26;token=b42a419f-4c2d-4ae6-8047-a1403ec58722" alt=""><figcaption></figcaption></figure>

## DataAsset\_AllAnimData

This data asset manages all procedural animation data.

<figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FC5tRRAoVH88kL9niOYBQ%2Fdata_asset_folder.png?alt=media&#x26;token=32ef81f1-69e2-4534-b505-d88a6dfd6265" alt=""><figcaption></figcaption></figure>

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FVEGxxl5jzQskLZSBMI9S%2Fdata%20sset%20data.png?alt=media&#x26;token=8ea1a768-1ffc-4713-913e-87c604717f20" alt="" width="321"><figcaption><p>You can edit the data values in this file.</p></figcaption></figure></div>

### *<mark style="color:red;">Pose Editor</mark>*

<figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FtY15Fzr0Dx33kmjkGSn7%2Fpose%20editor.png?alt=media&#x26;token=6a858a6c-91d9-442e-b29d-f2c1a0fd4d33" alt=""><figcaption><p>You can create and modify BASE(IDLE), SPRINT, CROUCH, UNEQUIP, and ADS poses. To create an ADS pose, you must add a SIGHT SOCKET to the weapon.</p></figcaption></figure>

### ADS

<figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2Fgi7rsEOmbgY1xIpdXoJi%2Fads%20pose%20editor.png?alt=media&#x26;token=591f3fe7-986c-4d67-b229-a0ccc5758a9a" alt=""><figcaption><p>ADS poses can be created using the pose eidtor.</p></figcaption></figure>

### Recoil

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FSh1pZAwQYq8QOIb431Ga%2FRecoil.png?alt=media&#x26;token=7d6a11fa-3ef8-4add-9135-662b8de54f36" alt="" width="563"><figcaption><p>You can set the value randomly with a minimum and maximum value.</p></figcaption></figure></div>

### Idle

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FtlwW6WGdJhNiNmhRMsKb%2FIdle.png?alt=media&#x26;token=a964f2b3-722c-4813-95cb-7b3f5d7b5b0e" alt="" width="563"><figcaption><p>You can create IDLE animations with a curve base.</p></figcaption></figure></div>

### Locomotion

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FPRdUryh73ylHMvjXeEhb%2FLocomotion.png?alt=media&#x26;token=df371e54-bf77-47cd-98df-bf2cd079b7ea" alt="" width="563"><figcaption><p>This too can be animated with a curve base, and additionally adds force to the step timing.</p></figcaption></figure></div>

### **Jump, Land, Fall**

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FGtqx3nwfUOZdI29BXq5h%2FJump.png?alt=media&#x26;token=520f6abd-3bd2-454e-bc90-a752a956ae60" alt="" width="563"><figcaption><p>You can create animations by adding force when jumping, landing, and in the air.</p></figcaption></figure></div>

### **Sway And Lag**

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2F72tLSwce86ZOEFKVAtng%2FSway%20Lag.png?alt=media&#x26;token=f7cf68be-18e9-42dd-940d-8cce13444c09" alt="" width="509"><figcaption><p>Sway is the animation effect when the camera is rotated and Lag is the animation effect when the character is moving.</p></figcaption></figure></div>

### **Aiming**

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FTFuHjIyzwwQyR8FSKghc%2Fdoc_aimspine.png?alt=media&#x26;token=b19f7234-1290-47dd-a700-8bf666b37350" alt="" width="380"><figcaption></figcaption></figure></div>

### **Lean**

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FlFxcbJF1de5csF6EojY1%2FLean.png?alt=media&#x26;token=ba5943f3-3216-456f-8fad-ea073be92c3c" alt="" width="553"><figcaption><p>You can rotate the character spine left and right.</p></figcaption></figure></div>

### Pose Offsets

Base, Sprint, Crouch, Block, Unequip, ADS

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FwlQjsklXlUQOCUKuSxMu%2F2023-07-01%2006%2041%2016.png?alt=media&#x26;token=8fcdaba3-120b-4e9b-84d6-4da280435418" alt="" width="563"><figcaption><p>You can set an offset value for each pose.</p></figcaption></figure></div>

## **Animation Blueprint**

We can use the FPS Procedural Animation blueprint Layer by linking it to our Character Animation Blueprint.

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FnhM7pK9tK4EejDkLXQUU%2Fdoc%20anim%20bp%2002.png?alt=media&#x26;token=85e1ca39-a7b4-486e-a172-db615a24beef" alt="" width="482"><figcaption><p>Character Animation Bluepirnt</p></figcaption></figure></div>

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2F3wCFbQpMYWtg55XTgyMt%2Fdoc%20anim%20bp%2003.png?alt=media&#x26;token=8fc4bb15-1779-413b-bf98-bf885c11a8f2" alt="" width="563"><figcaption><p>Procedural Animation Blueprint Layer and Animation Blueprint Interface</p></figcaption></figure></div>

## **Character**

BP\_ FPA\_BaseCharacter has basic functionality. BP\_ FPA\_Character\_FullBody inherits from BP\_FPA\_BaseCharacter and has additional FullBody-specific functionality.

<div align="left"><figure><img src="https://1197542038-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FYENozDdsyDOor7ciQM8a%2Fuploads%2FBet7NxBq2AXEQjHrokMW%2Fdoc%20character%20blueprint.png?alt=media&#x26;token=762270f0-596a-4af1-b55c-4ca79d8fab12" alt="" width="552"><figcaption><p>BP_FPA_BaseCharacter, BP_FPA_Character_FullBody</p></figcaption></figure></div>
