Пишу код для атаки персонажа и хочу, чтобы проигрывалась анимация, но при данном коде она не проигрывается, название анимации "Player_Attack", подскажите как решить, скрипт прикреплю ниже
using System.Collections; using System.Collections.Generic; using System.Threading; using Unity.VisualScripting; using UnityEngine;
public class PlayerAttack : MonoBehaviour { private float timeBtwAttack; public float startTimeBtwAttack;
public Transform attackPose; public float attackRage; public LayerMask whatIsEnemy; public int damage; private bool attack; public void fuckingclick() { Animator anim = this.GetComponent(); anim.SetBool("Player_Attack", true); } private void Update() { if (timeBtwAttack < 0) { if (Input.GetMouseButton(0)) { Collider2D[] enemiesToDamage = Physics2D.OverlapCircleAll(attackPose.position, attackRage, whatIsEnemy); for (int i = 0; i < enemiesToDamage.Length; i++) { enemiesToDamage[i].GetComponent().TakeDamage(damage); } }
да да, Да, все правильно, только у тебя указан тригер в аниматоре, а ты setBool пишешь в функции. Либо переменную в bool сделай, либо вместо setBool пишешь setTrigger. Можно ещё с настройками анимации поиграться, чтобы выходило естественно.
Спасибо большое, правда всё равно анимация не проигрывается
да да, https://github.com/Veeksy/Gladiators вот тебе репозиторий, можешь спокойно его запускать и смотреть. полазь в аниматоре, посмотри, как что работает