AnimationClip - Руководство по Вердж3Д - Софт Эйт Софт
Description: Узнайте как использовать AnimationClip в интерактивных 3Д-веб-приложениях сделанных на Вердж3Д

# AnimationClip

AnimationClip — это многократно используемый набор дорожек ключевых кадров, которые представляют анимацию.

Обзор элементов анимационной системы «Вердж3Д» находится в разделе Анимационная система настоящего руководства.

## Конструктор

### AnimationClip(name : String, duration : Float, tracks : Array, blendMode : Constant)

- name — название для данного клипа.
- duration — продолжительность данного клипа (в секундах). Если передано отрицательное значение, длительность будет вычислена из переданного массива `tracks`.
- tracks — массив KeyframeTracks.
- blendMode — (необ.) определят как анимация смешивается/объединяется, когда две или более анимации проигрываются одновременно. По умолчанию `v3d.NormalAnimationBlendMode`.

## Свойства

### # .blendMode : Constant

Определят как анимация смешивается/объединяется, когда две или более анимации проигрываются одновременно. Допустимые значения: `NormalAnimationBlendMode` (по умолчанию) и `AdditiveAnimationBlendMode`.

### # .duration : Float

Продолжительность данного клипа (в секундах). Она может быть вычислена из массива tracks tracks через resetDuration.

### # .name : String

Наименование для данного клипа. Определенный клип можно искать через findByName.

### # .tracks : Array

Массив, содержащий KeyframeTrack для каждого свойства, которое анимируется данным клипом.

### # .uuid : String

UUID данного экземпляра клипа. Он присваивается автоматически и не подлежит редактированию.

## Методы

### # .clone() → AnimationClip

Возвращает копию данного клипа.

### # .optimize() → this

Оптимизирует каждую дорожку, удаляя эквивалентные последовательные ключи (которые часто встречаются в целевых последовательностях морфа).

### # .resetDuration() → this

Устанавливает duration duration клипа на длительность его самого длинного KeyframeTrack.

### # .trim() → this

Обрезает все дорожки до длительности клипа.

### # .validate() → Boolean

Выполняет минимальную проверку каждой дорожки в клипе. Возвращает `true`, если все дорожки действительны.

## Статические методы

### # .CreateClipsFromMorphTargetSequences(name : String, morphTargetSequence : Array, fps : Float, noLoop : Boolean) → Array

Возвращает массив новых AnimationClips, созданных из последовательности морф таргетов геометрии, пытаясь отсортировать их имена на основе анимационных групп, таких как "Walk_001, Walk_002, Run_001, Run_002 ...".

### # .CreateFromMorphTargetSequence(name : String, morphTargetSequence : Array, fps : Float, noLoop : Boolean) → AnimationClip

Возвращает новый AnimationClip из переданного массива морф таргетов геометрии, принимая имя и количество кадров в секунду.

Примечание: Параметр fps является обязательным, но скорость анимации можно переопределить в `AnimationAction` через animationAction.setDuration.

### # .findByName(objectOrClipArray : Object, name : String) → AnimationClip

Ищет AnimationClip по имени, принимая в качестве первого параметра либо массив AnimationClips, либо сетку или геометрию, содержащую массив с именем "animations".

## Пазлы

Вместо вызовов АПИ AnimationClip вы можете использовать анимационные пазлы.

## Исходный файл

О том как получить исходный код этого модуля читайте тут.