# Animation

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3kHHjzTns-btYpO2Ws%2F-M3kItyfABG34BD7wW7k%2Ftimeline2.png?alt=media\&token=7c3800f1-214d-4356-a147-94daf0720c54)

### **Real-time animation**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3kAY_XYpUGN2Dd2m5d%2F-M3kC75z36HgMPdkjJdh%2Frealtime1.gif?alt=media\&token=79053ddc-e4da-4bc2-aa5f-73df543c022a)

###

{% embed url="<https://youtu.be/luTp8EeK9Ng>" %}

When you’re holding an object while the recording mode is on—every movement of that object will be recorded; the timeline is playing along while you’re holding the object. As soon as you release the object—the timeline pauses.

### **Keyframe animation**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3kAY_XYpUGN2Dd2m5d%2F-M3kF3_BoPqOv-AIk5oz%2Fkeyframe22.gif?alt=media\&token=d7f60b47-0960-4dee-885f-c351bcf72a3f)

###

{% embed url="<https://youtu.be/GM0WNoYQ3xc>" %}

When you grab and release an object in the Keyframe mode—the object gets a key on the timeline at the current time. The key is keeping information about position, rotation, and scale of the object at that time.

## Keys

All animation in Tvori is based on tracks with keys where keys keep information about properties of objects, their position in space, materials, and more.

You can move, select, duplicate and delete keys.

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3kJaLPSonzkL7iipIY%2F-M3kKT7OaTVVS9U54Phb%2Fkeys.png?alt=media\&token=08040b9e-7428-4dde-a14c-7f5f37adc28f)

### **Selecting keys**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3lZ9zzkwe_TTc7YL-s%2F-M3l_uVPODfE_iCC8ZWd%2Fmultselect.png?alt=media\&token=c1a10746-4caa-48a2-a498-a14f9910107c)

###

{% embed url="<https://youtu.be/ih5A-2F_gwo>" %}

To select keys on the timeline, press and hold the select button on the controller and move the controller.

{% embed url="<https://youtu.be/Z4sc4yOiXfM>" %}

To  deselect keys, press and hold the select button on the controller and move the controller across a timeline area which has no keys on it.&#x20;

### **Moving multiple keys**

{% embed url="<https://youtu.be/YJKNpQ1UJ-g>" %}

### **Tweening (interpolation)**

You can set how an object is transitioning between given keys. We call it tweening.

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M4-Cs7T41P7_H8W5Va_%2F-M4-u6LUCR0y_CgU0JYP%2Finter.png?alt=media\&token=e1a9875b-0e5c-4a41-96ce-9e3c5e1cd403)

There are 3 types of tweens:

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M0cHhiHBLV_rt_O44Pr%2F-M0cTSrM1XgWm4wPuojO%2FInerpolationKeys%20-%20Copy.png?alt=media\&token=9eed5dd6-13ce-4d06-a59d-22bd7aa50dae)

* **Curve (or** **bezier)** — is a default tween. The movement of an object will be along a [curved path that you can control](https://learn.tvori.co/tools/animation-path).
* **Linear** — an object will be moving on a straight line and have the same speed along the way.
* **Stepped** — the movement from key to key will be instant. As if the object was teleported from point A to point B. It's most suitable when you do [blocking animation](https://vimeo.com/10856139).

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3kAY_XYpUGN2Dd2m5d%2F-M3kHBamLDSYJU-Bae2s%2FTweening.gif?alt=media\&token=bd25ae38-a6d1-41cd-8a8f-e1b580acffcd)

Use this button to switch tweens.

{% embed url="<https://youtu.be/a23tV1JN9SI>" %}

### **Change tweening of multiple keys**

{% embed url="<https://youtu.be/unWeflRQCXQ>" %}

### **Duplicate multiple keys**

{% embed url="<https://youtu.be/HHls5UsoO5c>" %}

### **Delete multiple keys**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3lZ9zzkwe_TTc7YL-s%2F-M3lemCWY4gxMAyYQ6Av%2Fdeletecon1.png?alt=media\&token=e9c9ce77-4bb5-4b94-87b4-d61f13cb3f3b)

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3lZ9zzkwe_TTc7YL-s%2F-M3lfhdoDVZhdbF7opuW%2Ftrachbin2.png?alt=media\&token=577f5359-2d84-4f4e-ac45-42e3385fa7ec)

###

{% embed url="<https://youtu.be/iWoAvIgUoWw>" %}

### Key snapping

Now its possible to snap key against keys on other tracks.

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-MPEpVYCL3qaMQPy7fEi%2F-MPErgvTJEpu459-XwP2%2FTimeline-snapping.gif?alt=media\&token=dc6e03e6-6509-409d-8a78-b220d9e4d72f)

### Possibility to insert or remove empty keys

Just click on scrubber to call context menu and choose needed option.

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-MPEpVYCL3qaMQPy7fEi%2F-MPEsanRCeIfzw0FW_83%2Femptykeys.gif?alt=media\&token=ca16873d-f1ec-4779-9355-3a781da16c68)

## **Tracks and actions**

There are buttons on the left of each animation track.

### **Add to Favorites**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3fg5Sw1y_qEt8XYWMM%2F-M3fk7xGZ36kNRxvOt3Q%2Fmovetofavorite.png?alt=media\&token=9d751d8f-cfcd-44a2-8021-174d0153bed7)

You can add any animation track to favorites. Favored tracks will be pinned at the top of the list of tracks no matter whether objects with tracks are selected or not.

Objects with favored tracks will show [animation paths](https://learn.tvori.co/tools/animation-path) at all times.

{% embed url="<https://youtu.be/jqwPQAb0qzg>" %}

### **Scroll the timeline**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3lmwhQHNhP-II09SW4%2F-M3m-i93w6eYeW8klhuw%2Fscroll.gif?alt=media\&token=cd8424df-edab-428e-8d3a-07824f051a9f)

###

{% embed url="<https://youtu.be/-IVPft63lGA>" %}

### Add and delete key**s with a button**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3fxezNKdDBG_CiaT3l%2F-M3g4FSXav7q23HZB2S3%2Fset-key2.gif?alt=media\&token=d6efa7a3-2fad-41e2-9edd-9c270a5230bb)

On the left of each track there's a button with a key icon. It adds new keys and deletes existing keys where the time slider is.

### **Visibility — Hide and show objects over time**

You can make an object disappear on a scene when the timeline reaches a certain time period. The track responsible for hiding and showing objects is called visibility.

When visibility is useful:

* Make an object or a character to appear instantly.
* Switch one object with another.
* Do stop motion animation, like this one [Why'd you Steal my Dog?](https://youtu.be/vWumXtJTzQQ)
* Do animation of UI where UI elements appear and disappear over time.

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3fg5Sw1y_qEt8XYWMM%2F-M3foJaDXb2UAnROxZDY%2Faddtrack.png?alt=media\&token=f6399750-accf-486e-bd59-22edbef89228)

Here's how to add the visibility track:

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3fg5Sw1y_qEt8XYWMM%2F-M3ftxOGxgv0_KK8XlRf%2Fvisib.png?alt=media\&token=f3c80533-be8d-4254-996e-c5b227e3bf73)

A new visibility track has 1 clip set to show the object in a certain time period. You can add new clips by using a button with a key (set key).

{% embed url="<https://youtu.be/PvHNS0FC3hE>" %}

### **Animation Looping**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3fuVFZCKCIdnJYQhWp%2F-M3fx9SuBW5I5_2vlnix%2Floopoffon.gif?alt=media\&token=ed7084f2-07ca-455a-9cf7-50934178ee04)

Animation looping allows to create loop cycles of animations on the track.

{% embed url="<https://youtu.be/h5i0v0-oMo4>" %}

### **Adding keys to a selected body part of puppet and imported characters or to all body parts**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3kAY_XYpUGN2Dd2m5d%2F-M3kDgMsAPR38Otd2pyK%2Fpartfullbodykeys.gif?alt=media\&token=7aac7586-2ab6-48dc-aa57-574152d42b76)

{% embed url="<https://youtu.be/GTwPWEEtAh0>" %}

When "full body" button is on, the character will get keys that capture its full pose. It's easier to look at animation of a character as animation of its poses instead of individual body parts.

When you want to set keys to individual body parts you can turn the "full body" off.

### **Go to an object**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3fxezNKdDBG_CiaT3l%2F-M3g-gvkPB4BsnwZTaeM%2Fgotoobject.png?alt=media\&token=1865d03b-d6c3-4dcc-91a6-4fe44fc2b90b)

###

{% embed url="<https://youtu.be/NzJI6ArhyrU>" %}

You can teleport yourself to an object by pressing "go to object" button.

As a way, you can put [viewers](https://learn.tvori.co/scene-tools/viewpoint) or [locators](https://learn.tvori.co/scene-tools/locator) in your scene and use them to teleport yourself in their positions and scale. It's useful when you work on a large scene where it can become tiresome to move yourself to far away parts of the scene.

### **Copy/paste track keys**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3m3KOxbwOPmfjJdD3E%2F-M3m5wDNaI-8RYpRMfQm%2Fcopypastetrack1.png?alt=media\&token=fe216664-5e68-49bd-bec6-95e307b06533)

{% embed url="<https://youtu.be/yQATZ3oWGmM>" %}

You can copy and past animations from one object to another. Keep in mind that if the characters have different proportions, the duplicated animation might not look right.

### **Animate materials**&#x20;

{% embed url="<https://youtu.be/euoVtpNaDmU>" %}

You can animate properties of materials such as color, transparency or metalness using [materializer](https://learn.tvori.co/tools/materializer) in keyframe mode.

### **Remove Track**

![](https://391799992-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LTv9i_X3KknDBUSXYfy%2F-M3lmwhQHNhP-II09SW4%2F-M3m2oi0U3bdDtPZlvwG%2Fremovetrack.png?alt=media\&token=d2889a5f-0a04-4a70-86c2-3b0ab9f3ca43)

{% embed url="<https://youtu.be/Pft54EWymlM>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.tvori.co/tools/timeline/keys-mode.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
