3D Команды Анимация объекта:Animate

Материал из Blitz3D to Unity3D Wiki Project
Перейти к: навигация, поиск

Аналог команды в Unity Animation.Play


Пример:

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    void Awake() {
        animation.Play("walk");//можно опустить все параметры,тогда будет играться анимация по дефолту
        animation.Play("walk", PlayMode.StopAll);
    }
}


Параметр PlayMode может быть:

  • StopAll - остановить все анимации объекта
  • StopSameLayer - остановить проигрывание анимаций всего слоя

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

Meshes-2.jpg

или с помощью AnimationState.wrapMode или Animation.wrapMode.


Пример:

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    void Awake() {
        // Анимация ходьбы должна повторяться
        animation["Walk"].wrapMode = WrapMode.Loop;
    }
}


Где WrapMode может быть следующим:

  • Once - проигрывает анимацию и останавливает её.
  • Loop - зацикливает анимацию,останавливается принудительно.
  • PingPong - зацикливает анимацию,но она проигрывается сначала вперёд,потом назад.
  • Default - проигрывает анимацию согласно установкам в визуальном редакторе.
  • ClampForever - проигрывает ВСЮ анимацию и встаёт на последнем кадре.

Чтоб установить скорость анимации используется визуальный редактор, либо функция AnimationState.speed


Пример:

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    void Awake() {
        // Проиграть анимацию в обратном направлении
        animation["Walk"].speed = -1.0F;
        // Проиграть анимацию с удвоенной скоростью
        animation["Walk"].speed = 2;
    }
}