Оптимизация циклов на анимационных клипах
Обычная операция для людей, работающих с анимацией, заключается в том, чтобы убедиться, что они правильно повторяются. Например, если персонаж идет по тропе, движение ходьбы происходит из клипа Animation. Движение может длиться только 10 кадров, но это движение играет в непрерывном цикле. Чтобы сделать движение ходьбы бесшовным, оно должно начинаться и заканчиваться в аналогичной позе. Это гарантирует, что нет скольжения ног или странных резких движений.
Клипы Animation могут повторяться в позах, вращениях и положениях. Используя пример цикла ходьбы, вы хотите, чтобы начальную и конечную точки для корня Transform Rotation и корня Transform Position в Y соответствовали друг другу. Вы не хотите соответствовать начальную и конечную точки для корня Transform Position в XZ, потому что ваш персонаж никуда не доберется, если его ноги будут возвращаться в горизонтальную позу.
Unity предоставляет индикаторы соответствия и набор специальных графиков оптимизации цикла в настройках импорта для конкретного клипа на вкладке Animation. Они предоставляют визуальные указания, чтобы помочь вам оптимизировать, где выкроить движение для каждого значения.
Чтобы оптимизировать оптимальное начало и окончание циклического движения, вы можете просмотреть и и изменить кривы соответствия циклов.
Просмотр графиков оптимизации цикла
В данном примере движение цикла показывает плохие соответствия для диапазонов клипа, которые показаны красными и желтыми индикаторами:
Чтобы увидеть графики оптимизации цикла, щелкните и удерживайте либо индикатор начала, либо индикатор конца на временной шкале. Значения Based Upon и Смещение исчезают, и появляется одна кривая для каждой базы цикла:
Оптимизация повторяющихся соответствий
Нажмите и перетащите начальную или конечную точку клипа Animation, пока на графике не появится точка, где свойство окрашено зеленым цветом. Unity рисует график зеленым цветом, где более вероятно, что клип может правильно повторяться.
Когда вы отпускаете кнопку мыши, графики исчезают, но индикаторы остаются: