Ключи и сглаживание
Ключ - это значение на одном кадре одной дорожки плюс сглаживание, с которым к нему приходят. Всё, что в уровне движется, меняет цвет или включается и выключается, - это список ключей
Базовые понятия - Как устроен редактор. Каждое поле инспектора ключа - Свойства объекта
Что можно анимировать
У каждой дорожки свои ключи, независимые от остальных:
| Владелец | Дорожки |
|---|---|
| любой объект | позиция, поворот, масштаб, размер, якоря, опорная точка |
| фигура | цвет, UV |
| текст | цвет, размер шрифта, Заполнение (какая часть текста написана), Появление (какая часть скрыта за маской) |
| камера | позиция, поворот, зум, опорная точка, тряска |
| уровень | фон, тема, границы экрана, каждый из 12 эффектов постобработки |
| игрок | размер, скорость, видимость, управление, столкновения |
Ключ цвета фигуры может быть и градиентом по прямоугольнику объекта. Его поле Градиент выбирает раскладку: Сплошной (один цвет), Вертикальный (снизу вверх), Горизонтальный (слева направо) или Четыре угла (свой цвет в каждом углу)
Ключ размера шрифта - это либо одно число, фиксированный размер в мировых единицах, либо диапазон с включённым Авторазмер. Текст рисуется размером Максимум и уменьшается к Минимум, пока не поместится в свой прямоугольник
Ключи объекта отсчитываются от начала его промежутка. Поэтому сдвиг объекта во времени переносит всю его анимацию
Позиция задаётся относительно родителя. Ключ хранит само значение, а не прибавку к предыдущему ключу
Видимость, управление и столкновения игрока либо включены, либо выключены. У таких ключей нет сглаживания: смешивать нечего
Первый ключ на пустой дорожке игрока ничего не меняет на экране: видимость, управление и столкновения в нём включены, а размер и скорость равны обычным значениям игрока. Когда управление выключено или игрок скрыт, им нельзя управлять: курсор пропадает, а нажатие не подхватывается. Скрытого игрока всё равно можно задеть: это решают только столкновения
Текст: заполнение и появление
Две дорожки текста прячут символы по-разному. Обе принимают долю от 0 до 1 и считают символы текста
Заполнение - доля написанного текста: 0 - ничего, 1 - весь текст. Ненаписанный символ не рисуется вовсе, поэтому строка становится короче. Пустая дорожка пишет весь текст. Направление задаёт каждый ключ:
Вперёд(по умолчанию) - с первого символа, как пишущая машинкаНазад- с последнего символаОт центра- растёт из серединыК центру- растёт с обоих концов и сходится в середине
Появление - доля символов, скрытых за маской: 0 - все видны, 1 - все под маской. Скрытый символ остаётся на своём месте и рисуется символом маски, по умолчанию X. Маска - поле Маска появления текстового объекта, и если в ней несколько символов, каждый скрытый символ берёт один из них. Пустая дорожка ничего не скрывает. Режим задаёт каждый ключ:
Случайно(по умолчанию) - вразброс, но в каждом прогоне одинаково. Символ, скрытый при 0,3, скрыт и при 0,6, поэтому текст проявляется, а не мерцаетВперёд- скрытые символы в конце, текст появляется с началаНазад- скрытые символы в начале
Чтобы впечатать строку, анимируйте Заполнение от 0 до 1. Чтобы она проступила из шума, анимируйте Появление от 1 до 0
Советы
- Ставьте ключи только тому, что движется. Дорожка без ключей берёт значение по умолчанию
- Для изменения точно в долю берите
Constant, например для смены темы на дропе - Поворот не сворачивается: ключ на 0 градусов и ключ на 720 крутят объект дважды. В радианах, как пишут файл и ИИ-ассистент, это 0 и 12,566
Между двумя ключами
До первого ключа и после последнего значение стоит на месте. Между двумя ключами игра берёт долю прошедшего времени, пропускает её через сглаживание и смешивает два значения
Доля считается по времени, а не по отрисованным кадрам. Поэтому кривая одна и та же при 30 и при 144 fps
Сглаживание принадлежит более позднему ключу пары. Сглаживание ключа задаёт отрезок, который приходит в этот ключ от предыдущего.
Поэтому сглаживание первого ключа на дорожке никогда не видно. Новый ключ получает Linear
Поле Сглаживание открывает окно Выбор сглаживания, где каждый вид нарисован своей кривой.
Можно выделить несколько ключей, даже на разных дорожках, и поменять их одним шагом отмены
29 видов сглаживания
Linear - прямая. Constant держит предыдущее значение и прыгает на ключе
Остальные 27 - это девять семейств по три вида: In, Out и InOut. Например, InSine, OutSine, InOutSine
| Семейство | Форма |
|---|---|
Sine | самая мягкая кривая |
Quad, Cubic, Quart, Quint | степени 2, 3, 4 и 5 |
Expo | экспонента |
Circ | четверть окружности |
Back | выходит за диапазон и возвращается |
Elastic | колеблется вокруг значения |
In начинает медленно и заканчивает быстро. Out начинает быстро и успокаивается. InOut медленный с обоих концов.
От Sine до Expo каждое семейство резче предыдущего
Back и Elastic выходят за диапазон: Out проскакивает цель, In отходит назад за начало. Коллайдер двигается вместе с объектом. Поэтому снаряд, которому велено остановиться на краю безопасной зоны, на несколько кадров в неё заходит
Случайные значения
Значение в ключе не обязано быть одним числом:
- число:
Значение,Случ. от-до,Случ. от-до, шаг - вектор (позиция, масштаб и т.п.):
Значение,Случ. в рамке,Случ. в рамке, шаг,Случ. в круге,Случ. от A до B,Случ. от A до B, шаг - цвет:
Значение,Тема,Случ. от-до,Случ. от A до B
Случ. в рамке выбирает каждую ось отдельно. Случ. от A до B выбирает одно число на все оси, поэтому точка ложится на линию между A и B.
Варианты с шагом округляют результат вниз до кратного шагу. Шаг 0 отключает сетку, и значение ведёт себя как вариант без шага.
Дальше ключ смешивается как любой другой
Один и тот же сид даёт один и тот же уровень. Случайное число вычисляется из сида, кадра ключа, слоя, кадра начала объекта, дорожки и канала. Подробнее - Детерминизм
Дальше: Ритм и структура, Темы