AnimationMixer

AnimationMixer - это проигрыватель для анимации определенного объекта в сцене. Когда несколько объектов в сцене анимируются независимо друг от друга, для каждого объекта может использоваться один AnimationMixer.

Обзор различных элементов системы анимации Verge3D смотрите в статье "Animation System" в разделе "Next Steps" руководства.

Конструктор

AnimationMixer(rootObject : Object3D)

rootObject — объект, анимация которого будет воспроизводиться этим микшером.

Свойства

.time : Number

Глобальное время микшера (в секундах; начинается с 0 при создании микшера).

.timeScale : Number

Масштабный коэффициент для глобального mixer time.

Примечание: Установка TimeScale микшера на 0, а затем обратно на 1 - это возможность приостановить/отменить паузу все действия, управляемые этим микшером.

Методы

.clipAction(clip : AnimationClip, optionalRoot : Object3D) → AnimationAction

Возвращает AnimationAction для переданного клипа, по желанию используя корневой объект, отличный от корневого объекта микшера по умолчанию. Первым параметром может быть либо объект AnimationClip, либо имя AnimationClip.

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

.existingAction(clip : AnimationClip, optionalRoot : Object3D) → AnimationAction

Возвращает существующий AnimationAction для переданного клипа, по желанию используя корневой объект, отличный от корневого объекта микшера по умолчанию.

Первым параметром может быть либо объект AnimationClip, либо имя AnimationClip.

.getRoot() → Object3D

Возвращает корневой объект этого микшера.

.stopAllAction() → AnimationMixer

Останавливает все ранее запланированные действия на этом микшере.

.update(deltaTimeInSeconds : Number) → AnimationMixer

Продвигает глобальное время микшера и обновляет анимацию.

Обычно это делается в цикле рендеринга, передавая clock.getDelta, масштабированную по timeScale микшера).

.setTime(timeInSeconds : Number) → AnimationMixer

Устанавливает глобальный микшер на определенное время и соответствующим образом обновляет анимацию.

Это полезно, когда нужно перейти к точному времени в анимации. Входной параметр будет масштабирован по timeScale микшера.

.uncacheClip(clip : AnimationClip) → null

Распределяет все ресурсы памяти для клипа.

.uncacheRoot(root : Object3D) → null

Распределяет все ресурсы памяти для корневого объекта.

.uncacheAction(clip : AnimationClip, optionalRoot : Object3D) → null

Распределяет все ресурсы памяти для действия.

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

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