# Speeds

## Overview

Speed Set are modifications you can do to the original animation, to increase or decrease movement, rotation, or animation speed. They are linked to the [**States** ](https://malbersanimations.gitbook.io/animal-controller/main-components/manimal-controller/states)so you can have different speeds when the animal is in the locomotion state, while flying or swimming, etc.

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-McUw_c08J-G-32H3lwO%2F-McUyExG46QwwlSuIDBY%2Fimage.png?alt=media\&token=d6e68e0b-1929-4f17-ae32-b67d199b44fb)

{% hint style="warning" %}
If your Character Animations are **NOT RootMotion (In Place),** you definitely need to modify the Speed  **Position** and **Rotation** values for each **Speed Set**.. otherwise, they won't move or rotate.
{% endhint %}

## Parameters

### Speed Set List

Each Speed Set has a list of Speed Modifiers to add extra control of the movement and rotation of the character while is on a specific [**State**](https://malbersanimations.gitbook.io/animal-controller/main-components/manimal-controller/states)**.**

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-LzxHo4RI9rbYPJIds59%2F-LzxTm3YExvmCUpVuTHG%2Fimage.png?alt=media\&token=8fb57f40-fc68-456a-aef0-4052f442459e)

{% hint style="success" %}
You can **create** or **remove  Speed Set** by clicking on the **+** or **-** button on top right corner of the list
{% endhint %}

### States

Each Speed Set needs States.. that allow the Speed Set to be active when any of those states are active.

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-MCIUyyEwAob0eHgGWyQ%2F-MCIWe9R97dIJ8X1H2TD%2Fimage.png?alt=media\&token=9ab44bdd-29a2-44fe-a0cf-56a0090687ee)

For example, the **Ground** Speed Set is Active when the Animal is in the **Idle** or **Locomotion** state.

### Stances

Speed can also be filtered by stances. E.g. the Sneak Speed is using the **Idle** and **Locomotion** States but it also needs the Stance Sneak to be Active too. This SpeedSet will have more priority than the regular Ground Speed. Which doesn't need any stance.

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-McUw_c08J-G-32H3lwO%2F-McV-NFUL9rqiJzBzwXZ%2Fimage.png?alt=media\&token=1ca9cda8-dcc9-447d-bada-0ba465bedc2b)

## Indexes

### Start Index

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-MCIUyyEwAob0eHgGWyQ%2F-MCIVcY6BimoW0tAlkeh%2Fimage.png?alt=media\&token=a03352d1-985e-4aa6-a928-d2e2decdb6c0)

It sets which Speed the Controller will start. This value is the Index for the Speed Modifier List, Starting the first index with (1) instead of (0). E.g. If Walk is the First Speed Modifier then the Start index should be set to 1.

### Top Index

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-MCIUyyEwAob0eHgGWyQ%2F-MCIVpBDkYQI97UtlPyI%2Fimage.png?alt=media\&token=f1709a19-31d8-406b-816f-658f9b5464f9)

Set the Top Index Limit the Speed can change.

For example in case of the Horse it has 5 Speeds

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-MCIUyyEwAob0eHgGWyQ%2F-MCIW8Kbnqwt15mGrVmW%2Fimage.png?alt=media\&token=ad676b99-342b-4415-9900-2fec16abdf6f)

But when increasing speeds, it can only go up to Gallop (4) since the Sprint is use only when the Sprint Input is active.

### Sprint Index

Sets the index value of the sprint speed

### Backwards Speed Mult (Multiplier)

Sets the speed multiplier for going backwards

## Rootmotion

### Rootmotion Pos(Position)

Sets the multiplier for the speeds position - set this to 0 if not using rootmotion

### Rootmotion Rot(Rotation)

Sets the multipler for the speeds rotation - set this to 0 if not using rootmotion

## Lock Speed

### Lock Speed

Lock the speed set to a certain value - useful for endless runner games where you only want the character to run at one speed

### Lock Index

What to lock the speed to if Lock Speed is toggled TRUE

## Free Movement Lerp Values (For Flying/Gliding/Underwater etc)

### Pitch Lerp On

Lerp value used to activate the Free Movement

### Pitch Lerp Off

Lerp value used to deactivate the Free Movement

### Bank Lerp

Lerp value used for banking on Free Movement

## Limits

Limits are a set of States and Stances that will be able to use the Speed Set. By default, it will be empty to be sure to set here what States and Stances you want the speed set to use. E.g. If you have an underwater speed set and only want underwater to use it, you set it here.<br>

<figure><img src="https://963537199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lzhr1XSMzMqNXjRnNlb%2Fuploads%2FeB5eqs2jSuhn9W6aqNun%2Fimage.png?alt=media&#x26;token=04051cba-dc39-4c3a-80ca-1aef5f13374c" alt=""><figcaption></figcaption></figure>

## Speeds

<figure><img src="https://963537199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lzhr1XSMzMqNXjRnNlb%2Fuploads%2F23DNFwKIuJhcvG5M90hS%2Fimage.png?alt=media&#x26;token=9d7fb83e-cb9a-4f60-be86-71931264686a" alt=""><figcaption></figcaption></figure>

### **Speed Name (Click on the Header!)**

Sets the Speed Modifier Name.

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-LzxU53I5i0INbonIO3v%2F-LzxVRGFeDgghPChVWlX%2FGkw1pT4pnV.gif?alt=media\&token=683d54dd-66a6-4bca-a717-418095dd6f86)

### **Vertical Speed**&#x20;

Set the Vertical Multiplier for the Animator ***Vertical***  Parameter. You can check the Locomotion Blend Tree on any animal to see the Vertical value used to change the Animation on each Speed.

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-MCIUyyEwAob0eHgGWyQ%2F-MCIXiU_ufLlXQWkStd9%2Fimage.png?alt=media\&token=9b5edd01-d8fe-4d2e-937b-b824e6dc1a87)

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-MCIUyyEwAob0eHgGWyQ%2F-MCIXrEt5rOf2Ye5FVyr%2Fimage.png?alt=media\&token=3f045c90-9e2e-4c39-813b-398686359532)

### **Position**

Modifies the Movement speed of the Character. If the animations are **RootMotion(RM):** it will add more movement on top of the animation's **RM** movement. This may cause a sliding effect.

{% hint style="warning" %}
If your  Animations are **In Place (IP),** INCREASE the **Position**  value so the character can move
{% endhint %}

![](https://lh3.googleusercontent.com/pBDCtkxjFyqIf5me8uuyMN9kVcWwPMyA_BsZMQ9FjWAwI82UMrsfNhJO_WpjW7DBNsea6TcRP_0-dYdxmHuCHuclFSPdOF1_eby9hHIJGmWe6yj0vxy2LFlUDNsMWQkfHWz0r2eI)                 ![](https://lh3.googleusercontent.com/Bvk32vFG3RxhvtrVr7bMq1hpjt8DNjHwiLmSJOQbIplKpNSIA4KjSpnKdXU7B9NbdHFoOa4mjA1zDJgDJWZDetihKRFIDxXGNz-2zmFQ4vwWkPZvbc4Xm3oibtFeeHUzE8JG2pf-)

Left: Position = 0  (Only using RM movement)     Right: Position = 10 (Movement added to the RM)

### **L (Position)**

Lerp value for changing between position speeds. Higher values: more responsiveness. Zero value removes completely the smoothness&#x20;

![](https://lh5.googleusercontent.com/9_HKW88EhfjQ75t4LkzBF7pVE4U0ectVpcS7WVoJoNB7ltfyhD4W1sPIAXF7K5QnfZfYI_DJTufJ_eWQb564Y2v8At-wD5Ho2SNKzECpUb-pC3KQ41qwIij-CoLTIFZ31mIxFZtL)

### **Rotation**&#x20;

Modifies the Rotation speed of the Character. If the animations are **RootMotion(RM):** it will add more rotation on top of the animation's **RM** rotation. This may can cause sliding effect.

{% hint style="warning" %}
If your  Animations are **In Place (IP),** INCREASE the **Rotation** value so the character can Turn
{% endhint %}

![](https://lh5.googleusercontent.com/uEK23vZ35z7gq72fCkOsEXkh102CX3zVclf0F8B_Vgla3hIWpFXwP2wpEgayAiqRRCx0VYco_r-zQZy-0J5oO0fekCvHStoHUKPkWeHi7B9d0Of7DWCy0_7SA8xZvPuLYl12mbKT)        ![](https://lh6.googleusercontent.com/8mbPnZ0dqfNDk6Ka-wovPZwcu2Mkmcwc1yo7lMn6KSWIz7qJB0v-Tm1df6c7PoK5o0ZlOJbM9GB1X1siezEIZUsvz_3VUqybib6cIna_A2v1O72Y8MNCHSuLaCrx5mDw-mjNd_uU)

&#x20;        *Rotation = 0                                                                          Rotation = 60*

### **L (Rotation)**&#x20;

&#x20;Lerp value for changing between rotation Speeds. Higher values: more responsiveness. Zero value removes completely the smoothness&#x20;

![Lerp Rotation = 139](https://lh4.googleusercontent.com/bvSd3kaFWYgHdffLMTjQ0JMRDmoHpHmZ9zXAO4q2hL0Xrkwo_P3EEm9acAJaZYUONPzyNp4B6JmXDPHlBLWMcaZUXrrO2hMZ4jaPy2gYEaSbuvIxIvTRTHXiu5gyG1YdrXbMkcrv)

### **Animator**

Modifies the  Animator's Speed of the character while Moving. Default Value (1)

![](https://lh4.googleusercontent.com/MDGNYeyLeQci6WFprKBnqo8LKuoBrYw4HlvkPZY2hqegsL-q9VWT_lm5UniAbfnwAyNetgUvj2KMznGe2Bu1XYvXm6ii6a6DKT4aOBr0L0GiVbnvdHY9AmWDbMZUfpv-CqwA9Un1)

### **L (Animator)** &#x20;

Lerp value for changing between Animation Speeds. Higher values: more responsiveness. Zero value removes completely the smoothness <br>

{% hint style="danger" %}
The **SpeedModifier** on the Animator controller is the parameter that receives the Animator speed value.
{% endhint %}

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-M3xZI-YX88YTl3gw8V3%2F-M3xa98isxqMFibXToCY%2Fimage.png?alt=media\&token=d8bb7fce-f630-4e7d-aec7-d7877545ac0f)

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-Lzhr1XSMzMqNXjRnNlb%2F-M3xZI-YX88YTl3gw8V3%2F-M3xaJ77vVTFCYmaw8gp%2Fimage.png?alt=media\&token=6d2ea60d-5741-4afd-98ac-86113b2c418e)

### Strafe

Strafe Movement Position. Add Additive Position to your Strafe Animations in case they are not Root Motion.

![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lzhr1XSMzMqNXjRnNlb%2Fuploads%2FP4PMnc4WeGajdo7Xeh72%2FUnity_6bcfL1fa6l.gif?alt=media\&token=a8c3ecc9-5359-4c28-b704-eb801489d7a0)        ![](https://963537199-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-Lzhr1XSMzMqNXjRnNlb%2Fuploads%2Fe6HcfX8j8tehG1gJW9HE%2FUnity_2RDxJnFrXy.gif?alt=media\&token=8c5e2fc7-50fa-456e-b3e3-b51be2237c27)

*Strafe  = 3                                                                           Strafe = 10*

{% hint style="info" %}
As a recommendation using InPlace Strafe animations works better than RootMotion Strafe Animations.
{% endhint %}

### Strafe(L)

Lerp value for Strafing - Higher value means more responsiveness.  Zero value removes completely the smoothness&#x20;
