|
www.udeny.fora.pl Forum dotyczące animacji 3D
|
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
|
Wysł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 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
|
Wysł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 poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
rubesom
Dołączył: 17 Kwi 2018
Posty: 7
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysł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 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
|
Wysł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 poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
rubesom
Dołączył: 17 Kwi 2018
Posty: 7
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysł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 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
|
Wysł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 poprzedni temat :: Zobacz następny temat |
Autor |
Wiadomość |
rubesom
Dołączył: 17 Kwi 2018
Posty: 7
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysł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 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
|
Wysł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 |
|
|
|
|
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
|