Podsumowanie

Istotą gry komputerowej jest mierzenie się z różnego rodzaju wyzwaniami. Zaliczają się do nich między innymi przeszkody, które należy omijać. Gdy się to nie udaje i postać wchodzi w kolizję z jedną z nich, gracz ponosi porażkę. W projekcie gry należy więc uwzględnić obiekty przeszkód oraz zachowanie postaci po zetknięciu z nimi.

Dodawanie przeszkody

Tworzenie przeszkody zaczynamy od dodania do projektu nowego obiektu typu Actorklasa nadrzędna ActorActor (proces ten został opisany w e‑materiale BlueprintUnreal Engine, etap VIPddbNWsvGBlueprintUnreal Engine, etap VI). Nadajemy mu wybrany model, np. słupa. W obszarze Components klikamy przycisk Add i wybierając z menu opcję Capsule Collision, dodajemy komponent odpowiedzialny za kolizję. Tym razem nie jest to pudełko, a kapsuła. Następnie precyzyjnie ustalamy obszar kolizji.

R1QHpg6wU30tn
Źródło: Contentplus.pl sp. z o.o., licencja: CC BY-SA 3.0.

Mechanika ragdoll

W wielu grach możemy zaobserwować sytuację, w której w skutek jakiegoś błędu gracz traci kontrolę nad postacią, w wyniku czego zaczyna ona bezwładnie spadać. Taką funkcję nazywamy ragdoll (nazwa nawiązuje do anielskiego określenia szmacianej lalki).

Implementacja utraty kontroli nad postacią

Aby dodać do gry mechanikę ragdoll, w obszarze Outliner odnajdujemy pozycję Third person character i obok niej klikamy napis Edit. Otworzy się Blueprint postaci, w którym możemy stworzyć nową funkcję.

Dodajemy funkcję Set simulate physics, dzięki której po zderzeniu z przeszkodą gracz straci kontrolę nad postacią i przejmie ją w całości silnik fizyki gry.

Aby funkcja Set simulate physics działała poprawnie, gra musi obsługiwać w odpowiedni sposób kolizję postaci z otoczeniem. W tym celu dodajemy w projekcie postaci funkcję: Set collision enabled, ustawiamy jej wartość na Collision enabled (query and physics) i łączymy ją białym kabelkiem z funkcją Set simulate physics.

Jak sprawić, by mechanika ragdoll uruchomiła się po kolizji postaci z przeszkodą?

Potrzebujemy w tym celu funkcji tworzenia nowych zdarzeń. W blueprincie bohatera dodajemy funkcję Add Custom Event. Utworzone w ten sposób zdarzenie łączymy z funkcją Set simulate physics.

Następnie wchodzimy w Blueprint przeszkody. Dodajemy w nim funkcję Cast to... (odnajdujemy pozycję, w której zawarta jest nazwa postaci). Łączymy ją z pozycją Other Actor komponentu On Component Begin Overlap (Capsule). W ostatnim kroku dodajemy odnośnik do funkcji obsługującej zdarzenie uderzenia.

Nauczysz się

W kolejnych częściach serii zróżnicujesz przeszkody, na które napotyka bohater gry. Następnie zaimplementujesz sekwencję zdarzeń, które muszą zajść po tym, jak bohater straci życie. Zaplanujesz także warunki zwycięstwa w grze. W ostatnim kroku poprawisz kilka funkcjonalności, a następnie wyeksportujesz grę tak, aby można ją było przekazać graczom.

Słownik

klasa nadrzędna Actor
klasa nadrzędna Actor

jedna z dostępnych w Unreal Engine klas nadrzędnych określająca obiekt, który można umieścić w świecie gry

silnik gry komputerowej
silnik gry komputerowej

zintegrowane środowisko programistyczne stworzone dla osób projektujących gry komputerowe