Пятница, 24 Января 2020, 01:13

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Модератор форума: beril  
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Некорректное изменение скорости анимации
Некорректное изменение скорости анимации
ZekkinДата: Суббота, 23 Апреля 2016, 19:31 | Сообщение # 1
частый гость
Сейчас нет на сайте
Добрый день. Почему-то некорректно изменяется скорость анимации, при её проигрывании случаются пропуски - 30-40% от общей длины анимации. Грубо говоря, конец анимации банально не проигрывается.

Код:

Код
using UnityEngine;
using System.Collections;

public class AnimatePlayer : MonoBehaviour {
    public Animation anim;
    public void Start ()
    {
  anim.Stop();
    }
    
    public void Update () {

  {
   if (Input.GetAxis("Vertical") > 0.0f)
   {
    anim["Run"].speed = 0.7f;
    anim.CrossFade ("Run");  
   }
   else if(Input.GetAxis("Vertical") < 0.0f)   
   {   
    anim["RunBack"].speed = 0.3f;
    anim.CrossFade ("RunBack");   
   }
   else if (Input.GetAxis("Horizontal") > 0.0f)
   {
    anim["RunRight"].speed = 0.3f;
    anim.CrossFade ("RunRight");
   }
   else if(Input.GetAxis("Horizontal") < 0.0f)
   {
    anim["RunLeft"].speed = 0.3f;
    anim.CrossFade ("RunLeft");  
   }
   else if(Input.GetKey (KeyCode.Space))
   {
    anim.Play ("jump");  
   }
   else   
   {
    anim["Breath"].speed = 0.3f;
    anim.CrossFade("Breath");
   }

  }
    }   
}


Просьба подсказать что сделал не так. Спасибо.
LertmindДата: Суббота, 23 Апреля 2016, 20:11 | Сообщение # 2
заслуженный участник
Сейчас нет на сайте
Твоя ошибка в том, что у тебя запускается одна и та же анимация несколько раз. Допустим, когда нажимается кнопка вперёд, происходит смена анимации на Run и, пока удерживается кнопка, сменяется на ту же Run. Если бы анимация запускалась через Play, ты бы сразу заметил, что ничего не происходит, поэтому лучше тестируй без CrossFade.
Надо отслеживать первое нажатие и только тогда запускать зацикленную анимацию. В инете полно примеров как делать правильно, например смотри демо проекты от Unity по Mecanim.


Сообщение отредактировал Lertmind - Суббота, 23 Апреля 2016, 20:13
ZekkinДата: Суббота, 23 Апреля 2016, 21:30 | Сообщение # 3
частый гость
Сейчас нет на сайте
Благодарю, заменил .CrossFade на .Play и все стало замечательно.
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Некорректное изменение скорости анимации
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2020 Рейтинг