Добрый день! Если добавить в Animator анимацию, которая изменяет положение объекта на сцене, а затем из скрипта попытаться изменить
положение, то ничего не выйдет, даже если анимация не используется и вообще никак не связана Transition-ами с текущим состоянием.
Например, создаю спрайт, создаю для него анимацию примитивного сдвига, затем в
Аниматоре добавляю Empty State, делаю ее по умолчанию.
Аниматор выглядит так: (все непустые анимации никак не связаны ни с чем)
В скрипте к спрайту пишу:
Код
public Sprite redColor;
void Start () {
GetComponent<SpriteRenderer> ().sprite = redColor;
transform.position = new Vector2(0, 3);
}
Позиция не изменяется. Если изменить у неиспользуемой анимации сдвига свойство
Motion в None, то все смещение из кода будет работать.
Аналогично поведение спрайтов, если анимация работает со спрайтами, то невозможно изменить спрайт у GameObject-а из кода.
Почему так происходит? Как изменять положение объекта, на котором висит Аниматор с бездействующей анимацией сдвига.
Ребята, помогите, несколько дней сижу над этим.
P.S. Разобрался со смещением - если установить флажок Apply Root Motion, то смещение происходит. Но спрайты все равно не меняются.