Forum www.udeny.fora.pl Strona Główna www.udeny.fora.pl
Forum dotyczące animacji 3D
 
 FAQFAQ   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy   GalerieGalerie   RejestracjaRejestracja 
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Brak animacji obiektu przy wciśniętym klawiszu

 
Napisz nowy temat   Odpowiedz do tematu    Forum www.udeny.fora.pl Strona Główna -> Pytania i odpowiedzi
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
rubesom




Dołączył: 17 Kwi 2018
Posty: 7
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany:     Temat postu: Brak animacji obiektu przy wciśniętym klawiszu

Mam kod w którym dodałem poruszanie się obiektu wraz z animacją:
KOD: ZAZNACZ WSZYSTKO
if (Input.GetKey(KeyCode.DownArrow))
{
transform.position += Vector3.down * speed * Time.deltaTime;
anim.SetInteger("State", 1);
}

Mam z nim dwa problemy:
1. Jak przytrzymam z krótko klawisz to animacja często nie startuje, jak to rozwiązać?
2. Kiedy puszczam klawisz to animacja się nie synchronizuje z puszczeniem klawisza - klawisz nie jest już wciśnięty a animacja dalej się wykonuje aż do jej pełnego cyklu. Przy animacji poruszania się wygląda to bardzo, źle. Jak sobie z tym poradzić?


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gorkiey
Administrator



Dołączył: 17 Kwi 2018
Posty: 21
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany:     Temat postu:

W animatorze, dla danej animacji wyłącz opcje - has exit time

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
rubesom




Dołączył: 17 Kwi 2018
Posty: 7
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany:     Temat postu:

Dzięki - działa do drugiego podpunktu.

Dalej mam problem z tym, że animacja startuje dopiero jak przytrzymam dłużej dany klawisz. Da się coś z tym zrobić?


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gorkiey
Administrator



Dołączył: 17 Kwi 2018
Posty: 21
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany:     Temat postu:

Zmieniaj zmienną przy pomocy warunku if(GetKeyDown(KeyCode.DownArrow)) a nie GetKey, i zmieniaj z powrotem na 0 za pomocą if(GetKeyUp(KeyCode.DownArrow))

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
rubesom




Dołączył: 17 Kwi 2018
Posty: 7
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany:     Temat postu:

Zrobiłem w ten sposób ale przez około 0.5 sekundy animacja się nie odpala:
KOD: ZAZNACZ WSZYSTKO
if (Input.GetKey(KeyCode.DownArrow))
{
transform.position += Vector3.down * speed * Time.deltaTime;
}
if (Input.GetKeyDown(KeyCode.DownArrow))
{
anim.SetInteger("State", 1);
}
if (Input.GetKeyUp(KeyCode.DownArrow))
{
anim.SetInteger("State", 0);
}


Już pomijając warunek ze zmianą położenia - przy samym kodzie:
KOD: ZAZNACZ WSZYSTKO
if (Input.GetKeyDown(KeyCode.DownArrow))
też działa z opóźnieniem.
Mam to wszystko w metodzie 'Update()', trzeba to zrobić jakoś inaczej?


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gorkiey
Administrator



Dołączył: 17 Kwi 2018
Posty: 21
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany:     Temat postu:

A na połączeniu w animatorze, masz odznaczone "Has exit time"?

Post został pochwalony 1 raz
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
rubesom




Dołączył: 17 Kwi 2018
Posty: 7
Przeczytał: 0 tematów

Ostrzeżeń: 0/5

PostWysłany:     Temat postu:

Oczywiście, że nie miałem... Dziękuję.
A co dodaje/robi ta opcja?


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gorkiey
Administrator



Dołączył: 17 Kwi 2018
Posty: 21
Przeczytał: 0 tematów

Pomógł: 1 raz
Ostrzeżeń: 0/5

PostWysłany:     Temat postu:

W skrócie jeżeli jest odznaczone, animator nie będzie czekał aż dana animacja się zakończy, tylko przejdzie do następnego stanu w momencie wywołania.

Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora
Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum www.udeny.fora.pl Strona Główna -> Pytania i odpowiedzi Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach

fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
Regulamin