# Фиксаторы

<img src="https://lh7-us.googleusercontent.com/wKQKyOMsnDNdB-ioo_xKKYVnBMoScs36FiayludC5UezLgE_66u7WbGjChg1iTgShr3OLJuaHNxqm4XOm65Ymkjq1NTUkqxAuNwW9RN62gdLFR8Ib0Y-61rBhhMavSh3_5CWw9vSZBXaNXlNl7upLWE" alt="" data-size="line">**Фиксаторы** — это графические элементы, отображаемые на **Шкале кадров**. Они автоматически создаются при изменении значений параметров объекта (слоя) в **Режиме анимации**. Для каждого параметра создается отдельный фиксатор.

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2FVxvZg9lB2X8ybqHJlJiw%2F2024-04-03_16-29.png?alt=media&#x26;token=8757ec0d-3d14-4d3c-b2c1-86df59267936" alt=""><figcaption><p>Графическое отображение фиксаторов</p></figcaption></figure>

### Перемещение фиксаторов

**Фиксаторы** можно перемещать по **Шкале кадров** влево или вправо с помощью зажатой левой кнопки мыши. Это позволяет изменить момент времени, в который данная временная точка влияет на соответствующие параметры анимации. **Самый верхний фиксатор** перемещает все нижележащие фиксаторы одновременно.

Чтобы перемещать несколько фиксаторов одновременно, удерживайте клавишу **Ctrl**, выделите нужные фиксаторы и перемещайте их как единый блок, при этом сохраняются относительные расстояния между ними.

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2FkPE8etNhvqqxvr6MlQz9%2Fwaypointsmove.gif?alt=media&#x26;token=f50f4dd7-ae78-410a-bc8a-f1bf082a9e7b" alt=""><figcaption><p>Перемещение фиксаторов</p></figcaption></figure>

### Дополнительные действия с фиксаторами

Щелчок правой кнопкой мыши по **фиксатору** открывает контекстное меню, содержащее функции для работы с фиксаторами:

* **Преобразовать**
* **Отсоединить**
* **Экспортировать значение в библиотеку проекта**
* **Запретить анимацию**
* **Удалить**
* и другие опции.

<figure><img src="https://lh7-us.googleusercontent.com/3NiGs3lqAqSA721hwpYdKpWdXXFBYwqUbzQJONoke4ZZqvIUnU3CakLZXpsIdJpRNC2tHf4knkEO5t4XcyntJ6TGjHhBbKMUlilBviHtC9ZZWGvAbSuqr5PQIfUZ1QD3ogD0MI4lUY0ANnOG3zAAv68" alt=""><figcaption><p>Действия с <strong>фиксаторами</strong></p></figcaption></figure>

В самом верху меню находятся команды, которые позволяют связывать значение фиксатора с другими параметрами (или другими фиксаторами). Подробнее об этом можно прочитать в разделе [Связывание параметров.](https://docs.synfig.ru/svyazyvanie-dannykh/svyazyvanie-parametrov)

## Интерполяция

**Интерполяция** — это метод автоматического создания промежуточных кадров между **фиксаторами** анимации. Это позволяет создавать плавные анимации без необходимости вручную рисовать каждый кадр.

<figure><img src="https://lh7-us.googleusercontent.com/OmLJsY0xmNwvokrXh1-ktw_kOPIy5KxOQisCjlBSMC4-LYS1RuMhcEJ3suIVDVMQOPaMrNYyK-KIWYKZOp_Cb16qOkrs7yFDRkw2jNVdCbRt3Fhnkva1Am0k35EAJhE1nQlL2k3Ne7I4_VDfh_9v0xg" alt=""><figcaption><p>Фиксаторы с разной интерполяцией</p></figcaption></figure>

От типа **интерполяции** зависит способ изменения параметров между **фиксаторами**. Например, при использовании **линейной интерполяции** анимируемый параметр между кадрами изменяется равномерно. Другие типы интерполяции позволяют создавать плавные ускорения, замедления или криволинейные переходы, влияя на характер движения объектов.

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2FrxSw0PKjfWEZ8JU5E1T5%2F%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D0%BE%D0%BB%D1%8F%D1%86%D0%B8%D1%8F.gif?alt=media&#x26;token=cefab458-f166-45eb-bb4b-20a23cb9133f" alt=""><figcaption><p>Разница типов интерполяции при одинаковых параметрах</p></figcaption></figure>

{% hint style="info" %}
Подробнее о типах интерполяции смотрите ниже в разделе **Типы интерполяции**.
{% endhint %}

Каждый **фиксатор** разделён на две половины:

* **Левая половина** показывает тип входной интерполяции.
* **Правая половина** показывает тип выходной интерполяции.

Это позволяет комбинировать разные типы интерполяции для одного параметра.

Чтобы изменить интерполяцию у фиксатора:

1. Щёлкните правой кнопкой мыши по нужному **фиксатору**.
2. В появившемся окне в нижней части выберите требуемый тип интерполяции.

<figure><img src="https://lh7-us.googleusercontent.com/YGO5RE03H0rrmctpAu2cYa76xGzHR-kBvrYpTpgIDnBWey7QG4vT-Q1HbKkOZiZ5C6vWsS93eH2vmaB_p-w9lrIaZ2QW8W9JpiCBTZaeR3LqGqFa7t12XrEK1cmrV0Woh_Xu3GySJCxo8AtHChe0sBE" alt=""><figcaption><p>Окно с выбором интерполяции</p></figcaption></figure>

Чтобы изменить интерполяцию только одной половины **фиксатора**:

1. Щёлкните правой кнопкой мыши по фиксатору.
2. В появившемся меню выберите **Вход/Выход**.
3. Нажмите на нужный тип интерполяции.

{% hint style="info" %}
Подробнее смотрите ниже, в разделе **Интерполяция Входа и Выхода**.
{% endhint %}

## Типы интерполяции

Цвет и форма **фиксатора**, отображаемые на **Шкале кадров**, указывают на тип её интерполяции:

* <img src="https://lh7-us.googleusercontent.com/7BHqXAiCFdTqoZaWK_LIuEkXauqBvkRV_G247M3BDG1dzUpL2AI8dR7PFDOr0xNcOYdEhZ-XcjnWbMjC8WtWZ8ETuGDyUpFTDgeV9FnzKzkEBWTj0OQA2pYOmpyRsS8GFvD4C-wLz42IOZIKRajPpIQ" alt="" data-size="line">  — **Сгладить**
* &#x20;<img src="https://lh7-us.googleusercontent.com/7dt7VZTkNTvLo9a-TqkvGIkihI9CNUEGijZgh-Fe8QQ63OM0N1OoTSbJxAN-x30O5LuPxiSgYRE88z63pQETLze2Ns4GwOdsyQ6HRs_FhGpm0MbgcSfG5hDmfK4QU0S601gPQiKjEIg_cDCNCeNtX3s" alt="" data-size="line"> — **TCB (Ти-Си-Би)**
* &#x20;<img src="https://lh7-us.googleusercontent.com/Js82sCH0xKtdY0oB6Z0bwuGmltGvTvxtlI8GKaTLMXNrsY55-rjJDFnrozBsLB1Mg7Y3Y3oe1Fa98GGQ31blQzkJDjKAX4Wk8WNdZgxcUYF0VfdFsorwYYJSsxY7gs8FoO83qo8ewWPFr7_M-mdpdUo" alt="" data-size="line"> — **Константа**
* &#x20;<img src="https://lh7-us.googleusercontent.com/05tT-nUBRDV5p1a6hc9mVv5WQK0ghA9RDssyTYZ_bG9rRlRPhXCJyVP5jRdqIs-bLa1DcVnq7BU0Fy79eRo7OeMUEV9RkdoNEk_Bb0ebBuCfnSGV4dxI63b775bs3Mwx0-vig4hEPRQCNLQ2_jiHK_I" alt="" data-size="line"> — **Плавный вход/выход**
* <img src="https://lh7-us.googleusercontent.com/NfVSSE2cLj9tLvvauNxsFgpNFP36mNgYqXGsTiNANAqTb22Wqj6mHX9f13I6HgWZgQ-c_4xW-AAcIrV9EVtxr3otCOQHhU0JzdTjAl29rwJJoJXEgrneTb2qTuiTPv7osn36XJULhLLZUHsdoyOm9qs" alt="" data-size="line">  — **Линейная**

### Линейная интерполяция

**Линейная интерполяция** — это метод, в котором значения между **фиксаторами** меняются по прямой равномерно и с постоянной скоростью.

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2FPVxotowRFRlYFtz9TQw4%2F%D0%BB%D0%B8%D0%BD%D0%B5%D0%B9%D0%BD%D0%B0%D1%8F.gif?alt=media&#x26;token=85b3a0ff-ef70-4614-bf04-54225792af3e" alt=""><figcaption><p>Демонстрация <strong>Линейной интерполяции</strong></p></figcaption></figure>

### Интерполяция Сгладить

**Сгладить** — это метод интерполяции, который ограничивает значения **фиксатора** в пределах заданных минимального и максимального значений. Это предотвращает выход параметров за допустимый диапазон, что может вызвать нежелательные артефакты в анимации. Данный тип интерполяции обеспечивает создание плавной кривой между соседними фиксаторами.

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2Fl7suTNjad9F06W9qofAT%2F%D0%B3%D0%BB%D0%B0%D0%B4%D0%BA%D0%B0%D1%8F.gif?alt=media&#x26;token=f0e46a02-0ce3-4f68-9603-5e7f2a420acf" alt=""><figcaption><p>Демонстрация интерполяции "Сгладить"</p></figcaption></figure>

### Интерполяция ТСВ

**TCB-интерполяция (Tension, Continuity, Bias)** — это тип интерполяции, определяющий форму кривой изменения параметра во времени. Данный метод схож с инструментом создания областей (инструмент **Кривые**), который формирует гладкие кривые между вершинами.

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2FXz0V0KpiqMlHH4dzhqH0%2FTCB.gif?alt=media&#x26;token=5a51b212-4a87-4d9f-be28-4bb224baefd4" alt=""><figcaption><p>Демонстрация интерполяции <strong>TCB</strong></p></figcaption></figure>

С помощью **TCB-интерполяции** можно управлять параметрами анимации через четыре значения:

* **Натяжение (Tension)**
* **Непрерывность (Continuity)**
* **Отклонение (Bias)**
* **Временное натяжение (Temporal Tension)**

Чтобы открыть окно редактирования этих параметров:

1. Щёлкните правой кнопкой мыши по **фиксатору TCB**.
2. В появившемся списке выберите **Правка**.

В открывшемся окне вы сможете настроить каждое значение для точной корректировки кривой интерполяции.

<figure><img src="https://lh7-us.googleusercontent.com/VlXQPUIoxmuN4BlpGtSAyo8uR1_qhrd9gVNF9ReGNbx_to3X3qgF507VxoT4eKsUqatDuXQTe7JSbIKTrxRzIlIx76Jtt6JKN8iwm2wA0dZahoVoyeus2ml6D-xByHZs5UU7n_CvlO_2ilJSsUEpraA" alt=""><figcaption><p>Настройки интерполяции <strong>TCB</strong></p></figcaption></figure>

### Натяжение

**Натяжение** (**Tension**) определяет остроту прохождения кривой через фиксатор. Этот параметр аналогичен влиянию манипуляторов кривой Безье, однако действует в обратном направлении, управляя **длиной** манипуляторов.

Высокое значение натяжения (близкое к `1.0`) приводит к более линейному перемещению между опорными точками. Чем выше натяжение, тем короче становятся манипуляторы, из-за чего кривая начинает резче менять направление.\
При значении натяжения `1.0` и остальных параметрах, равных `0`, интерполяция становится полностью линейной — длина манипуляторов равна нулю.

Значения натяжения **выше** `1.0` вызывают появление изгиба кривой вокруг опорной точки: манипуляторы вытягиваются в отрицательном направлении, фактически меняя своё направление.

Низкие значения натяжения, наоборот, заставляют объект следовать касательной опорной точки. При очень малых значениях большая часть движения происходит вдоль касательной из-за чрезвычайно длинных манипуляторов.

### Непрерывность

**Непрерывность** определяет способ расчета касательной (направления движения) в фиксаторе. Этот параметр также можно сравнить с манипуляторами кривой Безье.

* Значение `0` приводит к зеркальному отражению (объединению) манипуляторов, обеспечивая плавный переход между кривыми. В результате достигается непрерывность первого порядка — плавное и непрерывное изменение направления движения.
* Значение `-1.0` формирует простой острый угол, приводящий к линейной интерполяции с резким поворотом.
* При значениях **меньше** `–1.0` угол становится ещё более острым, при этом движение до и после опорной точки приобретает всё более выраженную зеркальность.
* Значения **выше** `0` оказывают аналогичное влияние, но манипуляторы при этом отражаются в противоположном направлении. Вследствие этого интерполяция будет двигаться "снаружи" к опорной точке, создавая острый угол с другой стороны.

### Отклонение

Отклонение определяет, какой из сегментов кривой до и после фиксатора будет оказывать большее влияние на расчет касательной (направления движения).

* Значение смещения меньше `0` приводит к тому, что касательная будет ориентирована преимущественно вдоль входящего направления (движения к фиксатору).
* Значение смещения больше `0` обусловливает ориентацию касательной преимущественно вдоль исходящего направления (движения от фиксатора).

### Временное натяжение

По умолчанию объект движется с постоянной скоростью между равноудаленными фиксаторами с одинаковым временным интервалом. Временное натяжение позволяет управлять скоростью движения объекта.

* Значения выше `0` заставляют объект проводить больше времени вблизи опорной точки. Это приводит к замедлению движения непосредственно перед и после нее. С другой стороны, скорость будет увеличиваться по мере приближения к следующей опорной точке.

{% hint style="info" %}
Наглядный пример: Представьте себе мяч, лежащий на небольшом холме (предыдущая опорная точка). Он скатывается по небольшой долине, постепенно набирая скорость, прежде чем начать подъем на большой холм (измененная опорная точка) и значительно замедлиться по мере приближения к вершине. Затем мяч снова скатится вниз, достигнув максимальной скорости в следующей долине, и начнет подъем на следующий небольшой холм, теряя скорость по мере приближения к вершине (следующая опорная точка).
{% endhint %}

* Значения ниже `0` приводят к более быстрому прохождению объекта через опорную точку. Это вызывает замедление движения вблизи предыдущей и следующей опорных точек.&#x20;

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2F3lJKbGl1EuuLJzLJzb41%2Finterpolation2.gif?alt=media&#x26;token=086ab3b3-3e49-463d-b35d-67f8ef19b4af" alt=""><figcaption><p>Демонстрация настроек интерполяции TCB</p></figcaption></figure>

### **Интерполяция Константа**

**Константа** — это метод, при котором значение параметра остаётся неизменным вплоть до следующего фиксатора на временной шкале.

Иными словами, параметры объекта, заданные в фиксаторе с интерполяцией «Константа», не изменяются на протяжении всего временного интервала до следующего фиксатора, после чего значение мгновенно переключается на новое.

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2FpjmiKJ9mVWRHuOihZdcO%2F%D0%BA%D0%BE%D0%BD%D1%81%D1%82%D0%B0%D0%BD%D1%82%D0%B0.gif?alt=media&#x26;token=77b85595-fa6f-419e-b85b-44bafada1d86" alt=""><figcaption><p>Демонстрация интерполяции <strong>Константа</strong></p></figcaption></figure>

### Интерполяция Плавный вход/выход

**Плавный вход/выход** — это тип интерполяции, обеспечивающий плавное вхождение и выход кривой **к** и **от** фиксатора. Данный метод гарантирует гладкое изменение параметра даже в случаях, когда кривая лишь проходит через опорную точку, не останавливаясь на ней.

Иными словами:

* **Плавный вход** — кривая плавно ускоряется по мере приближения к опорной точке.
* **Плавный выход** — кривая плавно замедляется по мере удаления от опорной точки.

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2FEuUone1brgOhwdDvffS1%2F%D0%BF%D0%BB%D0%B0%D0%B2%D0%BD%D1%8B%D0%B9.gif?alt=media&#x26;token=d94d7837-a1c6-4b55-9178-787bfdffac36" alt=""><figcaption><p>Демонстрация интерполяции <strong>Плавный вход/выход</strong></p></figcaption></figure>

### Интерполяция по умолчанию

Тип интерполяции по умолчанию для новых **фиксаторов** определяется раскрывающимся списком в нижней части окна **Холст**. С его помощью можно установить интерполяцию, которая будет применяться ко всем создаваемым фиксаторам на **Шкале кадров** по умолчанию.

<figure><img src="https://lh7-us.googleusercontent.com/5bwS_zW18cLFPafYpuptjBliLYzHtdDjyN9WhNie2lj22q8ODQGVMjtS25oPu6_MbqLKryG3jBh4Hn-qvgAFd75DWWwnDWq7kYkQmorODhrYeyD6Xo0WXZ1TVRFfetUTce_u67k7ZOIbG9IKEH1tZ8w" alt=""><figcaption><p>Окно с выбором интерполяции по умолчанию</p></figcaption></figure>

### Интерполяция входа и выхода

Каждый **фиксатор** имеет настройки интерполяции входа и выхода, которые определяют, как будет изменяться её параметр:

* **Интерполяция входа** определяет, как параметр изменяется в моменты перед достижением фиксатора.

<figure><img src="https://lh7-us.googleusercontent.com/SnpNOG8HeRNyBRhJNy310YqlnzcWT0rJY7nfwkhIoVm8W6Zx0TFjZWuQHAkoc0cVMyflRrWTomiAcCx_Hd8FGrDOGQgCv5y8Z5bJbNmzmFK3JhlXjyLWaTYTxjGH9_TFbUe2k6_Z73DRoYgs7bKChkw" alt=""><figcaption><p>Окно выбора интерполяции для входа фиксатора</p></figcaption></figure>

* **Интерполяция выхода** определяет, как параметр изменяется в моменты после достижения фиксатора.

<figure><img src="https://lh7-us.googleusercontent.com/zeWX71T9SPB9UG08yPY_5BCCaD6HfJPJxcILEpvcBGSZsjGSjkNoTSpEbpbCT90a4OpR00vv7kd1pEyVA-OKr5oRxATx7ieO74GMhNFtfpiK-z65Dt84r93jCj3xjGrDNoFTpsbg8gJSX0nyFNbZW_w" alt=""><figcaption><p>Окно выбора интерполяции для выхода фиксатора</p></figcaption></figure>

Наглядно это видно на графиках анимации, которые вы можете включить сверху **Шкалы кадров**.

<figure><img src="https://1199379288-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe9XVEXa2X3Uhr8yAecH3%2Fuploads%2Fwd2My1cKgVf50HFqT8nD%2Flinearandsmooth2.png?alt=media&#x26;token=53127108-997b-4b1b-b633-59aad834c909" alt=""><figcaption><p>Графики анимации</p></figcaption></figure>

Ниже представлена таблица, демонстрирующая все возможные вариации **фиксаторов** при использовании различных типов интерполяции на входе и выходе.

* **Интерполяция на входе** показана в левом столбце.
* **Интерполяция на выходе** показана в верхней строке таблицы.

<figure><img src="https://lh7-us.googleusercontent.com/mdZs0xTpym9_tW-Z9lwJXN_0sPuyJoZMKPLkRPpMPyFYV2j4c_KvOpjb_Lu8V2q7796lFU3K6zdY-VRFkr-sSR0jsEY3vLwbYcDoS9fAtEyBbnEjKbzpgEftDDUXmUbQOqkA3JJaJU-nJ08L5-Lnf5A" alt=""><figcaption><p>Варианты использования разных интерполяций на входе и выходе.</p></figcaption></figure>

<img src="https://lh7-us.googleusercontent.com/RQ8Sb3Nes5E_HqvjjoTjEvk4N_CUzJJ9MHDbqyv1COQ4GxSGu4B57RthykuraoEhDL7tsi6P-3q8-GRUcogMyVPHhAn2RBB7tEzgNGiQLpyGXktCJGiSL_RXbASuYBuZ1FomIqRVb3VhDXha37u2SDk" alt="" data-size="line"> — **Неопределенный фиксатор** (серый) — используется, когда у одного объекта на шкале кадров записано несколько фиксаторов для разных вершин с разными типами интерполяции.&#x20;

<figure><img src="https://lh7-us.googleusercontent.com/33T8Q_70N4xMqPv0LYleh-_HCo4lGPBjTACl-VGoKHX_k0gGqEACGp6hyEpy98QpQkx6IvZ-pja5mStucH0LLW85AHk9_EJuFpIHF-NHA5U5Bo1x9W7UvmkBo0mohIVM20voKPcG5ivE2YZ56TFOZ1E" alt=""><figcaption><p>Неопределенный фиксатор на шкале кадров</p></figcaption></figure>

Если у **фиксаторов** используется одна интерполяция, будет использоваться символ текущей интерполяции.&#x20;

<figure><img src="https://lh7-us.googleusercontent.com/xNpl_nEw39Dsjvb83akV9rIsC1lW3kjDikup8Y6VrS15w3hRuPvUtjtUpHi0DhF4CWUtpxXteTzgbCpukMltzTJMSawoGMVaiVYdH5gKZOMauvUokOJkQkQrGXJTvUkhD1tNe1TDCeinPSLCsce6cpg" alt=""><figcaption><p>Разная интерполяция для вершин одного объекта</p></figcaption></figure>

Если у **фиксаторов** только одна часть имеет одинаковую интерполяцию, например на **входе**, а в другой части используется другой тип интерполяции, то у **самого верхнего фиксатора** одна половина будет отображать символ выбранной интерполяции, а вторая половина останется **неопределённой**.

<figure><img src="https://lh7-us.googleusercontent.com/SKtK923ASc288i7Go8_VMDBWxAUiKnufzQLY_SpByumciVPH9vddSXmJTCu0MYChT4XlQ1gKD2gRge4z-lAqrKnPRLILMaSJHI1z_zpWzDKQFzBZdE1i6wjg2KikeLlZPSbQAc3veHyHYD1emHazvQo" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-us.googleusercontent.com/a1S9623B3ZiY8W5Un9cJ6r2Ac9BBYTa1CalreLgqXcWc-s6GwILXy0aOd_Uer5Ho1ZsBOacZeXMisG3HImh6kGTplOmEaPV1ReexwR8AN8PUbGdeGT8oDUB0el02vLFUiAEONSGE_vEj2OFWsm9ULzo" alt=""><figcaption><p>Разная интерполяция для вершин одного объекта</p></figcaption></figure>
