@Paniotovvv

Как воспроизвести анимацию из другого объекта?

Есть Враг на руке которого капсул коллайдер. Мне нужна анимация получения урона. При соприкосновении этого коллайдера с коллайдером игрока, у него отнимаются жизни. Так же у меня есть скрипт, где воспроизводятся анимации. Как мне передать значение воспроизведения анимации из другого кода?
Код по соприкосновению коллайдера:
private void OnTriggerEnter(Collider collider)
    {
        GameObject dam = GameObject.FindWithTag("Player");
        Health dhealth = dam.GetComponent<Health>();
        dhealth.health -= damage;
    }

Я попробовал создать переменную, которая принимает компонент аниматора, и вставить туда аниматор из игрока. Но всё равно ничего не происходит. Просто сделав вот так в скрипте выше:
public Animator anim;

    void Start()
    {
       anim = GetComponent<Animator>();
    }

    private void OnTriggerEnter(Collider collider)
    {
        GameObject dam = GameObject.FindWithTag("Player");
        Health dhealth = dam.GetComponent<Health>();
        dhealth.health -= damage;
        anim.SetTrigger("Damage");
    }

6082af349ed98775390275.png
  • Вопрос задан
  • 164 просмотра
Пригласить эксперта
Ответы на вопрос 1
ReyGrau
@ReyGrau
Junior Unity Developer
Сделать на игроке метод GetDamage(int damage) какой-нибудь и там все делать, а через врага твоего его вызывать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы