Как сделать анимацию без задержек unity2D
Я пишу платформер на unity2D и столкнулся с такой проблемой. Вобщем я делал анимацию для персанажа. Я написал вот такой код
void Update()
{
if (Input.GetAxis("Horizontal") == 0)
{
ani.SetInteger("animashon", 0);
}
else if (Input.GetAxis("Horizontal") == 1)
{
transform.localRotation = Quaternion.Euler(0, 0, 0);
ani.SetInteger("animashon", 1);
}
else if (Input.GetAxis("Horizontal") == -1)
{
transform.localRotation = Quaternion.Euler(0, 180, 0);
ani.SetInteger("animashon", 1);
}
if (Input.GetKeyDown(KeyCode.Space)){
ani.SetInteger("animashon", 2);
Jump();
}
}
Но когда начинается переход анимации на другую то происходит задержка пока анимация не закончится до конца. Помогите пожалуйста.
Ответы (2 шт):
Автор решения: Dizexen
→ Ссылка
Хм, попробей поиграться с остановкой анимации, вот пример(сам начинающий) Кстати, большинство инфы можно найти на англ сайтах, советую гуглить вначале на англ языке.
using UnityEngine;
public class ExampleScript : MonoBehaviour { Animation anim;
void Start()
{
anim = GetComponent<Animation>();
}
void Update()
{
if (Input.GetButtonDown("Jump") && anim.isPlaying)
{
anim.Stop();
}
}
}
Автор решения: Danzo Sama
→ Ссылка
В Animator'е настроены переходы? Тыкнув на линию перехода можно снять галочку с "Has Exit Time" и анимация перейдет сразу к другой