Animation curves can be attached to imported animation clips in the Animations tab of the Animation Import Settings.
These curves allow you to add additional animated data to an imported clip, which can allow you to animate the timings of other items based on the the state of an animator. For example, in a game set in icy conditions, an extra animation curve could be used to control the emission rate of a particle system to show the player’s condensing breath in the cold air.
To add a curve to an imported animation, first select the imported animation file in your project view, then in the import settings in the inspector, select the Animations button.
Then scroll all the way to the bottom of the inspector to find the Curves heading, among the four fold-out headings as shown:
Expand the curves heading, and click the plus icon to add a new curve to the current animation clip. If your imported animation file is split into multiple animation clips, each clip can have its own custom curves.
Ось X кривых представляет нормализованное время и всегда будет в диапазоне 0.0 - 1.0 (соответственно начало и конец клипа, независимо от длительности).
Двойной щелчок на кривой откроет стандартный редактор кривых Unity (смотрите Редактирование свойств значений) который вы можете использовать для добавления ключей (keys) к кривой. Ключи - это точки на кривой где значение прямо установлено аниматором, а не вычисляется интерполяцией. Ключи очень полезны для маркировки важных точек анимации. Например в анимации походки вы можете использовать ключи для маркирования точки где левая нога на земле, обе ноги на земле, правая нога на земле и т.д. После установки ключей вы можете удобно перемещаться между ними кнопками (предыдущий/следующий ключевой кадр). Это будет перемещать вертикальную красную линию и показывать нормализованное время кадра. Значение, которое вы ввели в поле ввода будет устанавливать значение кривой в этот момент времени.
Если вы имеете кривую с тем же именем как один из параметров в контроллере аниматора, тогда этот параметр будет принимать значение из кривой в каждый момент времени. Например, если вы сделаете вызов GetFloat из скрипта, возвращенное значение будет равно значению кривой во время вызова. Заметим, что в любой данной точке времени может быть несколько клипов, пытающихся установить один параметр того же контроллера. В этом случае значения кривых нескольких анимаций смешиваются. Если анимация не имеет кривой для какого-то параметра, тогда смешивание будет сделано со значением по умолчанию параметра.