Przejdź do głównej treści

Uczymy Robić Gry

Zajęcia stacjonarneWarsztat 3x45min
Opis jednozdaniowyPraktyczna lekcja wprowadzająca w animowanie obiektów w Unity, korzystanie z Animatora oraz implementację podstawowych interakcji gracza z otoczeniem.
Materiały źródłowePodstawowe:

https://www.youtube.com/watch?v=sgHicuJAu3g

https://www.youtube.com/watch?v=uDqjIdI4bF4

https://www.patrykgalach.com/2019/08/29/understanding-oncollision-methods/

https://www.patrykgalach.com/2019/09/05/understanding-ontrigger-methods/

https://www.patrykgalach.com/2021/03/08/different-types-of-raycasts-in-unity/

https://www.patrykgalach.com/2020/03/16/pick-up-items-in-unity/
Czemu służy ta lekcjaLekcja ma przybliżyć uczestnikom praktyczne fundamenty animacji w Unity oraz pokazać, jak budować interaktywność pomiędzy graczem a otoczeniem. Uczestnicy nauczą się tworzyć własne animacje, korzystać z Animatora, ustawiać przejścia i kontrolować animację z poziomu kodu. Wprowadzone zostaną także podstawy interakcji oparte na fizyce i wykrywaniu obiektów – kolizje, triggery i raycasty – oraz prosty system podnoszenia obiektów.
Zajęcia mają pomóc zrozumieć, że animacja oraz interakcje są kluczem do nadania grze płynności i poczucia responsywności.

Jak się przygotować?

Aby dobrze poprowadzić zajęcia, trener powinien przygotować dwa niewielkie projekty demonstracyjne i przejść przez materiały źródłowe.

1. Część dotycząca animacji i Animatora

Przed zajęciami warto:

  • odświeżyć podstawy tworzenia animacji w Unity: klucze, krzywe, nagrywanie ruchu, pętle,
  • przygotować prosty obiekt (np. postać lub mechaniczny model z kilkoma ruchomymi elementami),
  • stworzyć kilka podstawowych animacji: Idle, Walk, Run lub proste transformacje (np. otwieranie drzwi),
  • zbudować Animator Controller z kilkoma stanami i przejściami między nimi,
  • dodać parametry animatora (bool, float, trigger) i przetestować sterowanie nimi z poziomu skryptu.

Warto też przejrzeć 12 zasad animacji i przygotować krótkie przykłady, które można pokazać „na żywo” – np. squash & stretch na prostym obiekcie.

Podczas lekcji szczególnie ważne jest wyjaśnienie:

  • jak działają stany animatora,
  • jak tworzyć przejścia i ustawiać ich warunki,
  • jak animacje wpływają na odczucia gracza i gameplay,
  • jak animację połączyć z logiką gry za pomocą kodu.

2. Część dotycząca interakcji z graczem

Trener powinien przygotować:

  • prostą scenę z kilkoma obiektami posiadającymi collidery i rigidbody,
  • przykład działania OnCollision i OnTrigger (np. obiekt reagujący na wejście gracza),
  • przykład prostego raycastu, który wykrywa obiekty przed graczem,
  • demo podnoszenia przedmiotu lub aktywowania go przyciskiem.

Dobrze jest przetestować różne przypadki, aby móc pokazać uczestnikom typowe błędy:

  • brak rigidbody przy kolizjach,
  • zła warstwa kolizji,
  • niewłaściwa konfiguracja triggerów,
  • raycast, który trafia „w nic”.

Zajęcia warto prowadzić według logiki: teoria → pokaz → praktyczna implementacja krok po kroku → samodzielna praca uczestników.

Jaką wiedzę należy przekazać w trakcie zajęć?

Dzięki udziałowi w zajęciach:

  • Jak tworzyć animacje w Unity i jak korzystać z Animation.
  • Jak działa Animator Controller: stany, przejścia, parametry.
  • Jak sterować animacją z kodu (SetBool, SetTrigger, SetFloat).
  • Podstawy 12 zasad animacji i jak przekładają się na gameplay.
  • Różnica między Collider a Trigger i kiedy używać każdego z nich.
  • Jak i kiedy wywoływane są OnCollisionEnter/Stay/Exit oraz OnTriggerEnter/Stay/Exit.
  • Jak działają raycasty i jak je stosować do wykrywania obiektów.
  • Jak zaimplementować prostą interakcję z obiektem (np. podnieś, aktywuj, otwórz).

Powyższe efekty kształcenia to minimum wiedzy i/lub umiejętności, jakie muszą zostać przekazane podczas zajęć.

Warto zapamiętać!

Z angielskiego “key takeaways”, czyli kluczowe zagadnienia, które powinny zostać przyswojone przez odbiorców kursu.

  • Animator to centralne narzędzie do łączenia i kontrolowania animacji w Unity.
  • Dobrze ustawione przejścia i parametry animatora decydują o płynności gry.
  • 12 zasad animacji to ponadczasowe podstawy, które poprawiają jakość każdej animacji.
  • Collidery i triggery służą do różnych zadań – pierwszy do fizyki, drugi do wykrywania wejścia w obszar.
  • Raycast to najważniejsze narzędzie do wykrywania obiektów z perspektywy gracza.
  • Interakcje powinny być responsywne, a animacje powinny wspierać ich czytelność.

Pytania z testu

  1. W Unity, który komponent odpowiada za wizualizację i interakcję z animacją postaci?
    1. Rigidbody
    2. Animator
    3. GameObject
  2. Co należy zastosować jeżeli chcemy by gracz wchodził w interakcję tylko z niektórymi obiektami?
    1. Warunki filtrujące w skryptach
    2. Zmienimy ustawienia Collision Matrix
    3. Usuniemy Collidery ze wszystkich obiektów
  3. W Unity interakcja gracza z obiektem najczęściej realizowana jest przez:
    1. Rigidbody i Collider
    2. Shader i Material
    3. Canvas i AI
  4. Animator Controller ma wiele stanów animacji. Jeśli dodasz nową animację, ale przejście między stanami nie działa, to najczęściej:
    1. Musisz użyć Rigidbody
    2. Animacja nie jest zapisany w folderze Animations
    3. Zapomniano ustawić transition i warunki parametrów
  5. Czym różni się Local Position od World Position w Transform?
    1. Local Position jest względem rodzica, a World Position względem sceny
    2. Local Position to pozycja UI, World Position to pozycja na scenie
    3. To to samo, Unity używa zamiennie
  6. W Animatorze Unity, co oznacza transition exit time?
    1. Czas trwania całej animacji
    2. Czas, po którym następuje przejście do kolejnego stanu
    3. Czas potrzebny na import animacji
  7. Jaka kombinacja komponentów w Unity pozwala wykryć kolizję gracza z obiektem?
    1. Rigidbody + Collider vs Collider
    2. Rigidbody vs Collider
    3. Rigidbody + Collider vs Rigidbody
  8. Gdy przesuwamy obiekt z podpiętym Colliderem na scenie i zauważamy spadek wydajności to jest on spowodowany:
    1. Długim czasem renderowania, usuń lub zoptymalizuj siatki obiektów na scenie
    2. Przebudowaniem siatki kolizji, dodaj Rigidbody by oznaczyć obiekt jako dynamiczny
    3. Przebudowaniem siatki kolizji, upewnij się że nie przesuwasz obiektu z Mesh Colliderem
  9. W Animatorze przejścia pomiędzy stanami kontrolowane są przez:
    1. Parameters
    2. Layers
    3. Curves
  10. Blend tree w Animatorze to:
    1. Narzędzie do łączenia warstw animacji w jedną całość
    2. Skrypt sterujący interakcją z graczem
    3. Narzędzie do mieszania animacji w zależności od parametrów
  11. Co się stanie, jeśli Raycast próbuje wykryć obiekt z layera, z którym kolizje są wyłączone w Collision Matrix?
    1. Raycast nie wykryje obiektu
    2. Raycast wykryje obiekt normalnie
    3. Raycast wykryje obiekt tylko jeśli collider jest Trigger