# Random Animation

**Random Animation** creates basic animation for selected meshes for movement, scaling and rotation. You can stack these animations to create interesting effects.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FxSito8wUUpQL5d0pBtOr%2Fblender_zIG9mbblWL.png?alt=media&#x26;token=fd4b0ffc-300d-48b4-ab80-9bc944514f6c" alt=""><figcaption><p>Figure 1</p></figcaption></figure>

Here are the redo properties and what they do:

### Type

This has two options: **Axis** and **Path**. **Axis** animates the objects in the xyz axis while **Path** animates them on a curve.

{% hint style="warning" %}
***Path** is beta and will undergo some major rework so lets focus on axis for now.*
{% endhint %}

### Animation

This determines what transform to use for animating the object and has 3 options: **Rotate**, **Move** and **Scale**.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FZ3PRb5731bLu8dtcEEK9%2Fblender_MwtGP4aeFM.gif?alt=media&#x26;token=d1ce4528-2e4c-4427-8553-5df250688cd8" alt=""><figcaption><p>Figure 2</p></figcaption></figure>

### Mode

This only shows up when the **Use Cycles Modifier** toggle is on. This determines how the animation will loop and has 3 options: **Repetitive**, **Continuous** and **Mirrored**.&#x20;

**Repetitive** will repeat the animation from the starting frame once the end frame is reached.&#x20;

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FqL6eVweHgyTSm2pGNvwp%2Fblender_pgDSQhAItQ.gif?alt=media&#x26;token=862c70e3-e893-488e-96f1-41ceac1f6bb7" alt=""><figcaption><p>Figure 3</p></figcaption></figure>

**Continuous** will continue the animation until the literal end frame is reached.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FUtdzLTxnkx7sVod4RiQG%2Fblender_mp8h3m3EPo.gif?alt=media&#x26;token=f23f5945-d57a-4e57-a10c-cfef56594b94" alt=""><figcaption><p>Figure 4</p></figcaption></figure>

**Mirrored** will reverse the animation once the end frame is reached.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FaNJsQeSH26z6RmySO2O3%2Fblender_GW1Z0e4gMZ.gif?alt=media&#x26;token=a0af3c36-4ea4-43f0-98be-8635d105fe9d" alt=""><figcaption><p>Figure 5</p></figcaption></figure>

{% hint style="info" %}
*The start/end frame here refers to the starting or last frame of the object/local animation while the literal end frame refers to the total frame of the movie/animation.*
{% endhint %}

### Pivot

This has 3 options: **Origin**, **Geometry** and **Cursor**. This determines the pivot point for the animation which is particularly useful for scaling and rotation. **Origin** will use the object's origin point, **Geometry** will use the average location of the vertices of the object and **Cursor** will use the 3D cursor as the pivot point.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FkaTKafFoONkmzBK8nr2h%2Fblender_lBFmnQ8nnk.gif?alt=media&#x26;token=2ef22b7a-a430-4a6f-b868-f76142e7242f" alt=""><figcaption><p>Figure 6</p></figcaption></figure>

### Axis

This has 3 options: **X**, **Y** and **Z**. You can select multiple entries by pressing the `Shift` hotkey and clicking on the axis. Regular clicks will only select one while using the `Shift + Click` combination again on a selected option will deselect them.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FZU4jMxy23mcOhLKbTtDL%2Fblender_3YAXtscycC.gif?alt=media&#x26;token=559f63d5-2efc-4bc9-90f7-91ef9d95e312" alt=""><figcaption><p>Figure 7</p></figcaption></figure>

This determines the axis to use to animate the selected object(s) using **Rotation**, **Move** or **Scale**.

### Frames

This has 2 properties: **Start** and **End**. This determines the starting and frames for the animation.

### Seed

Randomizes the end frame for the animation using the values between the **Start** and **End** properties. Randomization will only start when using seed number 2 and above allowing you to assign a controlled value using seed number 1.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FEZcSvau43rR2qQ8I0KAq%2Fblender_ausqJpergm.gif?alt=media&#x26;token=0bfd85b3-87cf-4728-9c32-6af92d80ba97" alt=""><figcaption><p>Figure 8</p></figcaption></figure>

### Rotation

This only shows up when you have **Animation: Rotate** selected. This allows you to set the min and max degrees of rotation.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2F1ddV6HlkXXrhDGeXzwsj%2Fblender_09O6jIS9GN.gif?alt=media&#x26;token=7953938d-a939-4c2d-b3b0-446b68a60029" alt=""><figcaption><p>Figure 9</p></figcaption></figure>

### Move

This only shows up when you have **Animation: Move** selected. This allows you to set the min and max movement distance values.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2Fih0aRddj5drLBxJWSzld%2Fblender_LnmSA0FqNQ.gif?alt=media&#x26;token=8342744a-2c20-4ab0-aaa0-676d379bce4b" alt=""><figcaption><p>Figure 10</p></figcaption></figure>

### Scale

This only shows up when you have **Animation: Scale** selected. This allows you to set the min and max scale values.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FUbeULz3FQb5O3Ac8rIjU%2Fblender_7KBzibK0dz.gif?alt=media&#x26;token=70bcf497-c78f-4db4-9e9a-e36ea907055e" alt=""><figcaption><p>Figure 11</p></figcaption></figure>

### Seed

Randomizes the **Rotation**, **Move** and **Scale** properties using their min/max values with a seed number.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FGBXFa49cBMUYKcyGUBD4%2Fblender_Isdn2wSFC3.gif?alt=media&#x26;token=d0e6f3fa-a122-4977-a3ca-34a093e10681" alt=""><figcaption><p>Figure 12</p></figcaption></figure>

### Empty Type

Only shows up when **Add Parent Empty** is enabled. This allows you to choose which type or appearance of the empty to use.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FMhjfhoOYU7D3UCV14SSs%2Fblender_qw2fFCsXxR.gif?alt=media&#x26;token=82156530-e570-4f96-afa9-d19d39e77133" alt=""><figcaption><p>Figure 13</p></figcaption></figure>

### Location

Only shows up when **Add Parent Empty** is enabled. This has 3 options: Active, Cursor and Average. Active will place the empty on the position of the active object, Cursor will place the empty on the position of the 3D cursor and Average will place the empty on the average location of the selected objects.

### Size

Only shows up when **Add Parent Empty** is enabled. This determines the size of the empty object

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FAoDXGhJMWmS1gWXEpMMB%2Fblender_hqI3EykvDj.gif?alt=media&#x26;token=dc14726c-5dc0-4add-8fa7-71a7a69376c8" alt=""><figcaption><p>Figure 14</p></figcaption></figure>

### Use Cycles Modifier

This allows you to use the **Mode** properties to determine the type of animation loop to use.

### Clear Animation

Clears the animation of the selected object(s) for every use of the operator. Disabling will allow for animation stacking.

### Add Parent Empty

Adds a parent empty to the selected object(s) and exposes 3 new properties: **Empty Type**, **Location** and **Size**. You can use this to parent multiple objects then animate the parent empty for more effects.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2FZXgFP9pymhQbTgJREs9K%2Fblender_DbPIwM2bia.gif?alt=media&#x26;token=b672b482-fe39-43a6-b5c3-5a9480569554" alt=""><figcaption><p>Figure 15</p></figcaption></figure>

### Align To Picked Normal

Aligns the parent empty to the direction stored using the [**Normal Picker**](https://www.blenderguppy.com/add-ons/random-flow/functions/normal-picker) operator.

<figure><img src="https://1533334696-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F4r0AELTCYZZ7h3JlR2Hg%2Fuploads%2Fq2sgDYZMQBVyoHgGetU7%2Fblender_gUYednd4U6.gif?alt=media&#x26;token=0afc7247-68e4-4f4b-a13b-0d0922eff064" alt=""><figcaption><p>Figure 16</p></figcaption></figure>

### Reset Transform

Resets the transform of the selected object(s).

### Even Frames

Randomize the frames using only the even divisors of the literal max or end frame of the movie making it easier to create videos with seamless looping animation.

### Remove Initial Parent

Removes the parent of the selected object(s) so they can animate independently without being affected by the animation of the parent object. This is to offset the parenting feature of the add-on using the **Parent To Source** toggle in the add-on [Settings](https://www.blenderguppy.com/add-ons/random-flow/functions/settings).
