Задать вопрос
  • Как можно сделать переключение анимаций?

    @RasFace
    В общем, создай триггер рядом с сундуком (Ну или что там у тебя), т.е создай коллизию, и укажи в ней Is Trigger. Еще нужно создать аниматор для сундука, добавить в него 2 анимации (закрытия и открытия), убрать у них флажок "LoopTime", и к ним провести транзицию из AnyState. (В entry можешь провести анимацию закрытия, но тогда будет баг, в самом начале сундук закрывается, так что можешь сделать дополнительную анимацию простаивания, но пригодится она только в начале) Дальше в аниматоре создать триггер открытия, и закрытия, и укажи их в транзициях. В скрипте сундука сделай функцию OnTriggerEnter/OnTriggerEnter2D и OnTriggerExit/OnTriggerExit2D (В зависимости какой у тебя проект), в функции enter вызывай триггер открытия, в exit триггер закрытия Также нужно указать аниматор в самом скрипте.
    Код для наглядности:
    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class Box : MonoBehaviour
    {
        //Переменная аниматора
        private Animator anim;
    
        public void Start()
        {
            //Указываем аниматор
            anim = GetComponent<Animator>();
        }
    
        public void OnTriggerEnter2D(Collider2D collision)
        {
            //Вызваем триггер открытия
            anim.SetTrigger("Название триггера открывания");
        }
        public void OnTriggerExit2D(Collider2D collision)
        {
            //Вызываем триггер закрытия
            anim.SetTrigger("Название триггера закрытия");
        }
    }
    Ответ написан