Как сделать так чтобы анимация укуса врага проигрывалась в момент столкновения с игроком?Unity2d

Имею три анимации у врага(покоя,хождения и укуса),распределено так:Переходы между анимациями врага

Ниже мой код патрулирования врага:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class EnemyPatrol : MonoBehaviour 
{
 public GameObject LeftBorder;  
 public GameObject RightBorder;
 public Rigidbody2D rigidBody;
 public bool isRightDirection;
 public float speed;
 public GroundDetection groundDetection;
 public Animator animator;
  void Update() 
  {
    if (isRightDirection && groundDetection.isGrounded) 
    {
 rigidBody.velocity= Vector2.right *speed;
    if(transform.position.x > RightBorder.transform.position.x)
 isRightDirection =!isRightDirection;
 
    }
    else if(groundDetection.isGrounded)
    {
 rigidBody.velocity= Vector2.left *speed;
 if(transform.position.x < LeftBorder.transform.position.x)
 isRightDirection =!isRightDirection;
 

  }
}

Буду рад любому совету и помощи по добавлению в скрипт новых строчек,которые бы заставляли анимации работать корректно.То есть чтобы анимации проигрывались плавно.Ну и также не против был бы услышать нужны ли триггеры в данном случае?Вот моя сцена


Ответы (1 шт):

Автор решения: Юрий

Доброго времени суток всем кто ещё ждёт вразумительный ответ.Я сделал свою версию анимаций и переходов.Код ниже:


public Animator animator;
    public SpriteRenderer spriteRenderer;
    private bool biting;

    void Update() {
        animator.SetFloat("Speed", Mathf.Abs(rb.velocity.x) > 0 ? 1 : 0);
        spriteRenderer.flipX = isRightDirection;

        if (biting) 
        {
            return;
        }
...
void OnCollisionEnter2D(Collision2D collision) 
    {
        if (collision.gameObject.tag == "Player") {
            biting = true;
            animator.SetBool("Biting", true);
            isRightDirection = collision.transform.position.x > transform.position.x;
        }
    }
...

В переходах убрал время задержки и готово,задание выполнено.Со скоростью поставил Greatest 0.01 и Less 0.01.Как-то так.

→ Ссылка