Кадры, время и длина уровня
Кадр уровня - не кадр экрана. Как уровень считает время, откуда берётся его длина и какой fps выбрать
Кадр уровня и кадр экрана
Кадр уровня не связан с кадром экрана.
Экран рисует столько кадров в секунду, сколько тянет железо. Уровень считает время в своих кадрах, и их число в секунду записано в самом уровне. По умолчанию - 60
Поэтому уровень играется одинаково на 60 Гц, на 144 Гц и на телефоне, просевшем до 30. Точность попаданий не зависит от видеокарты
Кадр - это ячейка, а не момент. Если один объект кончается на кадре 100, а другой начинается на кадре 100, они не пересекаются
Точнее: кадры считаются с 1, и кадр f занимает время от (f-1)/fps до f/fps, левая граница включена, правая нет. Поэтому кадр 1 начинается в самом начале трека
Длина уровня
Длину уровня задаёте вы. Длина трека берётся из файла. Совпадать они не обязаны
Содержимое за концом уровня допустимо. Оно просто никогда не проигрывается, и проверка на него не ругается
С ребёнком, который вылезает за промежуток родителя, так же. Уровень хранит то, что вы написали, а фактическое время жизни считается отдельно
Подогнать время жизни детей и родителей друг к другу можно модификатором span-fit в Генераторы. Он либо загоняет детей внутрь, либо раздвигает родителей
FPS уровня
Чем выше fps, тем точнее попадание в ритм. И тем больше кадров нужно на ту же длину.
Диапазон - от 1 до 1000, по умолчанию 60
Оставьте fps по умолчанию. На 60 слух не различает сдвиг в один кадр, а число ключей растёт вместе с fps
Шкала ограничена 1000000 кадров. Это примерно 4.6 часа на 60 fps и примерно 17 минут на 1000
Смена fps на готовом уровне - это пересчёт всех ключей в нём. Его делает модификатор framerate-remap, руками это нереально
Дальше: Ключи и сглаживание, Ритм и структура, Порядок работы