In an Animation Clip, any animatable property can have an Animation Curve, which means that the Animation Clip controls that property. In the property list area of the Animation View, all animated properties are listed. With the Animation View in Dope Sheet mode, the animated values for each property appear only as linear tracks, however in Curves mode you are able to see the the changing values of properties visualised as a grap view.
In “Curves” mode, the Animation Curves have colored curve indicators, each colour representing the values for one of the currently selected properties in the property list. For information on how to add curves to an animation property, see the section on Using the Animation View.
An Animation Curve has multiple keys which are control points that the curve passes through. These are visualized in the Curve Editor as small diamond shapes on the curves. A frame in which one or more of the shown curves have a key is called a keyframe.
Если у свойства есть ключ в текущем просматриваемом кадре, индикатор кривой будет иметь форму алмаза.
The Curve Editor will only show curves for the properties that are selected. If multiple properties are selected in the property list, the curves will be shown overlaid together.
You can add a keyframe at the currently previewed frame by clicking the Keyframe button.
A keyframe can be added at the currently previewed frame by clicking the Keyframe button. This will add a keyframe to all currently selected curves. Alternatively you can add a keyframe to a single curve at any given frame by double-clicking the curve where the new keyframe should be. It is also possible to add a keyframe by right-clicking the Keyframe Line and select Add Keyframe from the context menu. Once placed, keyframes can be dragged around with the mouse. It is also possible to select multiple keyframes to drag at once. Keyframes can be deleted by selecting them and pressing Delete, or by right-clicking on them and selecting Delete Keyframe from the context menu.
Окно Animation можно использовать не только для анимирования позиции, вращения и масштаба Game Object’а. Анимировать можно свойства любых компонентов и материалов - даже публичные переменные ваших собственных скриптов. Создание анимаций со сложными визуальными эффектами - всего лишь вопрос добавления анимационных кривых для соответствующих свойств.
Анимационная система поддерживает свойства следующих типов:
Arrays are not supported and neither are structs or objects other than the ones listed above.
For boolean properties, a value of 0 equals False while any other value equals True.
Вот несколько примеров из тех многих вещей, которые могут быть сделаны с помощью окна Animation:
При использовании анимационных кривых (Animation Curves) для контролирования игровой логики, пожалуйста, прочтите о том, каким способом в Unity проигрываются и сэмплируются анимации.
В недрах Unity вращения представлены в виде кватернионов (Quaternions). Кватернионы состоят из значений .x, .y, .z, и .w. В большинстве случаев не стоит трогать эти значения вручную, только если вы не уверены в том, что делаете. Вместо модификации этих значений, вращения обычно меняют с помощью углов Эйлера (Euler Angles), которые имеют значения .x, .y, и .z, представляющие вращения вокруг соответствующих осей.
Интерполяция (interpolation) между двумя вращениями может быть выполнена либо между Quaternion значениями, либо между значениями Euler Angles. Окно Animation позволяет выбрать какую форму интерполяции использовать при анимировании вращений Transform’а. Однако, вращения всегда отображаются в виде Euler Angles значений, независимо от используемой формы интерполяции.
Quaternion интерполяция всегда выдаёт красивые результаты по кратчайшему пути между вращениями. Это позволяет избежать артефактов интерполяции вращения, таких как шарнирный замок (Gimbal Lock). Однако, Quaternion интерполяция не может представить вращения больше чем на 180 градусов, т.к. в таком случае короче дойти до нужного поворота вращением в другую сторону. Если вы используете Quaternion интерполяцию и разместите два ключа более чем на 180 градусов друг от друга, тогда кривая будет выглядеть прерывисто, хоть само вращение и будет при этом плавным - оно просто пойдёт по другому пути, т.к. он короче. Если вы желаете иметь вращения более чем на 180 градусов, придётся расположить дополнительные ключи между вращениями. При использовании Quaternion интерполяции, изменение ключей или касательных одной кривой может сказаться и на форме других двух кривых, т.к. все три кривые созданы из внутреннего представления кватерниона. При использовании Quaternion интерполяции ключи всегда связаны, так что создание ключа в определённом времени одной из кривых, приведёт к созданию кличей в том же времени и на двух других кривых.
Большинство людей привыкли работать именно с Euler Angles интерполяцией. Euler Angles может представлять произвольно большие вращения и кривые значений .x, .y и .z независимы друг от друга. Euler Angles интерполяция может быть причиной таких артефактов, как шарнирный замок (Gimbal Lock) при вращении вокруг нескольких осей одновременно, но она интуитивна при простых вращениях вокруг одной из осей. Когда используется Euler Angles интерполяция, Unity внутри себя запекает кривые во внутреннее Quaternion представление. Это аналогично тому, что происходит при импортировании анимации в Unity из внешних программ. Учтите, что такое запекание кривых может добавить дополнительные ключи в процессе и касательные типа Constant могут быть не полностью точны на sub-frame уровне.