/Unity-Simple-Animations

Simple animations for UI elements or other objects

Primary LanguageC#MIT LicenseMIT

Unity-SimpleAnimations

Simple animations for UI elements or other objects

Введение

Часто при дизайне UI в Unity бывает необходимо сделать простую анимацию для некоторых элементов, например, прыгающий указатель или масштабирующаяся кнопка. Данный мини-проект решает эту проблему, давая дизайнеру UI возможность быстро настраивать такие анимации. Помимо элементов UI можно анимировать и другие объекты.

Компоненты

image

В проекте содержится 4 компонента анимирующие объект: Mover, Rotator, Scaler, SpriteCycler.

Перечень общих свойств:

  • Duration - Продолжительность анимации в секундах. Не может быть меньше или равно 0.
  • StartTime - Значение от 0 до 1, определяет с какого места начинается анимация после старта в диапазоне от 0 до Duration
  • RandomStartTime - При старте запускает анимацию с рандомного места, игнорируя значение StartTime.
  • PlayOnEnable - Если true, автоматически воспроизводит анимацию когда объект активируется.
  • IsRelative - Если true, то определяет позицию и поворот относительно исходного положения.
  • UpdateMode - Определяет по какому из событий Unity обновляется состояние анимации. Значение Manual подразумевает ручной вызов метода ManualUpdate(float deltaTime)
  • Count - Количество циклов анимации после старта, значение меньше 0 означают бесконечный повтор.
  • LoopMode - Поведение анимации при переходе на новый цикл. Значение Restart перезапускает анимацию с начала, Yoyo запускает анимацию в обратном порядке.
  • Curve - Кривая анимации
  • YoyoCurve - Применяется в связке с LoopMode.Yoyo, при значении true запускает кривую в обратном направлении каждый новый цикл.

Кастомные анимации

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

Основные методы для переопределения:

  • abstract void Do(float t) - вызывается при каждом обновлении анимации и передает значение t в диапазоне от 0.0 до 1.0.
  • virtual void Init() - вызывается при инициализации SimpleAnimationBase.

Управление анимациями

Для управления анимациями существует 4 публичных метода: StartAnimatiion, StopAnimation, PauseAnimation, ResumeAnimation. Эти методы можно вызывать как из кода, так и кликнув ПКМ по компоненту.