• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Animacje w unity3d

Object Storage Arubacloud
–1 głos
774 wizyt
pytanie zadane 13 lipca 2016 w OpenGL, Unity przez Sławek Obywatel (1,270 p.)
Cześć wszystkim mam taki problem z animacją w unity3d, zrobiłem taką animację w mojej grze typu arkanoid ,że platforma  odrobinę się rusza na dół na 10ms i za 10ms wraca na miejsce i chciałbym żeby ta animacja sie wykonała jak kulka uderzy w platformę tylko nie wiem jak ten skrypt ma wyglądać,męczyłem się z tym 2 godziny i nic z tego nie wyszło,ktoś może podać skrypt jak ma wyglądać?

2 odpowiedzi

0 głosów
odpowiedź 14 lipca 2016 przez czesiobar Początkujący (320 p.)

Jeśli chcesz żeby platforma ruszyła się w dół to po prostu zmień jej pozycję na osi Y zaraz po uderzeniu. Nie napiszę ci dokładnie jak będzie wyglądał skrypt w Unity, bo z niego nie korzystam ale nie powinno ci to sprawić problemu :)

Jeśli chciałbyś żeby platforma oprócz zmiany pozycji zmieniła swój wygląd (np. inny kolor), polecam stworzyć animację obiektu, który się nie rusza. Dzięki temu po uderzeniu piłeczki możesz jednocześnie uruchomić animację oraz manipulować pozycją platformy w kodzie. Powinno wystarczyć.

Jeśli coś jest jeszcze nie jasne to pytaj śmiało. Mam nadzieję, że pomogłem :)

0 głosów
odpowiedź 11 sierpnia 2016 przez wowo95 Początkujący (320 p.)

Cześć, możesz to zrobić np tak: tworzysz animator controller'a i podpinasz go do obiektu platformy, dodajesz w nim animacje ruchu platformy, dodajesz nowy parametr typu trigger do tego controller'a (w oknie po lewej stronie), klikasz PPM na prostokącie "Any State" wybierasz Make Transition i łączysz go z animacją, klikasz na to połączenie, dodajesz nowe pole w sekcji Conditions(po prawej stronie) i ustawiasz tam tego trigger'a. 

Załóżmy że piłka ma tag "ball", a trigger od animacji nazywa się "movePlatform", teraz możesz odtworzyć animację za pomocą kodu:

void OnCollisionEnter(Collision collision)
    {
        if(collision.transform.tag.Equals("ball"))
        {
            GetComponent<Animator>().SetTrigger("movePlatform");
        }
    }

Jeśli animator controller nie jest podpięty do tego samego obiektu co ten skrypt to robisz sobie referencję do animator'a i wtedy też możesz wywołać trigger'a. W taki sposób możesz zarządzać wieloma animacjami podpiętymi do obiektu.

komentarz 14 sierpnia 2016 przez Sławek Obywatel (1,270 p.)
taaaa wszystko działa tylko że teraz platformą nie mogę poruszać
komentarz 14 sierpnia 2016 przez wowo95 Początkujący (320 p.)
A w jaki sposób poruszasz platformą? Podaj kod.
komentarz 27 sierpnia 2016 przez Sławek Obywatel (1,270 p.)

oj sory że tak pózno odpowiedziałem ,problemy rodzinne,spoko oto kod

if(Input.GetKey(KeyCode.RightArrow))
			{
				transform.position+=Vector3.right*speed*Time.deltaTime;
			}
		if(Input.GetKey(KeyCode.LeftArrow))
		{
			transform.position+=Vector3.left*speed*Time.deltaTime;
		}

		if (transform.position.x >39f) {
			transform.position = new Vector3 (39f, transform.position.y, transform.position.z);
		}
		if (transform.position.x < -38.9f) {
			transform.position = new Vector3 (-38.9f, transform.position.y, transform.position.z);
		}

 

Podobne pytania

0 głosów
1 odpowiedź 340 wizyt
pytanie zadane 30 marca 2019 w OpenGL, Unity przez trixter310 Obywatel (1,440 p.)
0 głosów
1 odpowiedź 755 wizyt
pytanie zadane 8 października 2018 w OpenGL, Unity przez HitMan Użytkownik (850 p.)
0 głosów
0 odpowiedzi 735 wizyt
pytanie zadane 31 sierpnia 2018 w OpenGL, Unity przez NEFOS Początkujący (320 p.)

92,568 zapytań

141,420 odpowiedzi

319,622 komentarzy

61,954 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...