![]() |
![]() |
Twoje konto | Zarejestruj | Schowek | Kontakt | Pomoc |
![]() Tajniki projektowania gier w Unreal Engine 4
Tajniki projektowania gier w Unreal Engine 4 Budowanie atrakcyjnych gier AAA przy użyciu UE 4 Ponieważ książka jest drukowana jako czarno-biała, zdecydowaliśmy się udostępnić dodatkowo plik PDF zawierający kolorowe wersje zrzutów ekranu z książki. Można go pobrać tutaj. Aby zbudować prostą strzelankę od zera, wystarczy szybko nadpisać istniejące już klasy UE4, po czym dodać i zaimplementować proste funkcje C++ w trakcie ich konstruowania. Prawdziwa zabawa zaczyna się później. Zbudujemy postać gracza z rozbudowanym sterowaniem, utworzymy logikę tej postaci, zmienianie broni, ataki i ruch, przechodzenie pomiędzy scenami i poziomami, zachowywanie ekwipunku i parametrów i wiele innych. Pokażemy też budowanie wroga kontrolowanego przez sztuczną inteligencję, jak i fizyczną symulację uderzeń pocisków. Czytelnik zapozna się też z zaawansowanymi funkcjami, jak Volumetric Lightmaps realizujące wstępnie obliczone oświetlenie albo Atmospheric i Volumetric Fog, pozwalające tworzyć zaawansowane efekty wizualne.W dalszym ciągu przedstawiane są narzędzia potrzebne do zbudowania filmowych przerywników zapewniających profesjonalne wrażenia w rozgrywce i prowadzące opowieść. Po drodze zostanie zaimplementowany solidny interfejs użytkownika, w tym możliwość zapisu i ładowania stanu gry w dowolnym momencie. Pokazane też zostanie przygotowanie i budowanie wersji VR i AR oraz przeniesienie ich z edytora do rzeczywistego świata, przy czym zbudujemy dwa nowe projekty dla tych całkiem nowych obszarów UE4 i zintegrujemy z AR klasy z głównego projektu ! Umiejętności, które można zdobyć:
Przedmowa . . . . . . . . . 1 Rozdział 1: Tworzenie projektu C++ dla strzelanki . . . . . . . 5 Wprowadzenie . . . . . 5 Wymagania techniczne . . . .. . . . . . . 6 Budowanie projektu FPS w C++ . . . . . . . . . . . 7 Instalowanie i kompilacja UE4 . . . . . . . . . 8 Uruchamianie edytora i wybór szablonu . 11 Kompilowanie i uruchamianie projektu gry . . . . . . . . . . . 12 Modyfi kowanie naszej gry w C++ . . . . . . . . 13 Nadpisywanie klasy Character . . . . . . . . 14 Edytowanie klasy w VS i przeładowywanie edytora na gorąco . . 17 Podsumowanie . . . . 21 Pytania . . . . . . . . . . . . 22 Dodatkowa lektura 22 Rozdział 2: Wyposażenie i broń gracza . . . . . .. . . 23 Wprowadzenie . . . . 23 Wymagania techniczne . . . . . . . . . 24 Dodawnie klas Weapon i Inventory . . . . . . . 24 Tworzenie klasy Weapon . . . . . . . . . . . . . 24 Konwertowanie istniejącego pistoletu . 26 Tworzenie ekwipunku i dodanie domyślnego pistoletu . . . . . . . . . 29 Dodawanie klasy WeaponPickup . . . . . . . . . 38 Tworzenie nowej klasy aktora . . . . . . . . . 38 Tworzenie naszych blueprintów . . . . . . . 43 Powrót do kodu w celu dokończenia pracy . . . . . . . . . . . 46 Włączanie naszego ekwipunku do użytku 51 Dodawanie sterowania przełączającego broń . . . . .. . . . . 51 Dodawanie zamieniania broni do naszej klasy postaci . . . . . 52 Zebranie wszystkiego razem . . . . . . . . . . . . . 54 Podsumowanie . . . . 55 Pytania . . . . . . . . . . . . 55 Dodatkowa lektura 56 Rozdział 3: Przegląd blueprintów i skryptów BP . . . . . . . . . . . . 57 Wprowadzenie . . . . 57 Wymagania techniczne . . . . . . . . . . . . . . . . . . 58 Ogólny przegląd blueprintów i gry oparte tylko na nich . . . . . . . . . . 58 Ogólne omówienie blueprintów . . . . . . 59 Gry oparte tylko na blueprintach – czy to właściwy wybór? . . . . . . . 65 Skryptowanie blueprintów i wydajność . . 67 Przykład skryptowania blueprintu – ruchoma platforma i winda 67 Wskazówki, triki i problemy wydajnościowe . . . . . . . . . . . . . . . . . . . . . . 77 Podsumowanie . . . . 78 Pytania . . . . . . . . . . . . 78 Dodatkowe lektury 79 Rozdział 4: Wymagania UI: menu, HUD oraz ładowanie/zapis . . . . . . . . . . . . . . . . . . . . 81 Wprowadzenie . . . . 81 Wymagania techniczne . . . . . . . . . . . . . . . . . . 82 Integrowanie UMG z klasą HUD gracza . . . 82 Budowanie ikon dla ekwipunku przy użyciu przechwytywania ekranu . . . . . . . . . . . . . . . . . . 82 Wykorzystanie UMG do wyświetlania ikon ekwipunku na ekranie . 98 Synchronizowanie ekwipunku i wyświetlacza HUD . . . . . . . . . . . . . . . 99 Korzystanie z UMG i slotów zapisu gry . .106 Tworzenie widgetu dla slotów zapisu 107 Tworzenie pliku zapisu gry . . . . . . . . . .110 Zapisanie i ładowanie przy użyciu nowego menu . . . . . . . . . . . . .115 Podsumowanie . . .122 Pytania . . . . . . . . . . .122 Dodatkowa lektura . . . . . . . . . . . . . . . . . . . . .123 Rozdział 5: Dodawanie wrogów! . . . . .125 Wprowadzenie . . .125 Wymagania techniczne . . . . . . . . . . . . . . . . .126 Tworzenie kontrolera sztucznej inteligencji . . . . . . . . . . . . . . . . . . . . .126 Weryfi kowanie podstaw . . . . . . . . . . . . .126 Dołączanie mechanizmu decyzyjnego w C++ do drzewa zachowań . . . . . . . . . . . . . . . . . . . .131 Atakowanie gracza . . . . . . . . . . . . . . . . . .135 Bardziej realistyczna walka – punkty spawnu, reakcje na trafi enia i umieranie . . . . . . . . . . .146 Punkty spawnu do umieszczania wrogów . . . . . . . . . . . . . . . . . . . .146 Reakcje na trafi enia i umieranie . . . . . .148 Uwagi dotyczące ładowania/zapisu . .151 Podsumowanie . . .154 Pytania . . . . . . . . . . .154 Dodatkowe lektury . . . . . . . . . . . . . . . . . . . . .155 Rozdział 6: Zmienianie poziomów, strumieniowanie i zachowywanie danych 157 Wprowadzenie . . .157 Wymagania techniczne . . . . . . . . . . . . . . . . .158 Tradycyjne ładowanie poziomu . . . . . . . . .158 Podstawy . . . . .158 Wykorzystanie zapisu i ładowania do przejść . . . . . . . . . . . . . . . . .161 A może strumieniowanie? . . . . . . . . . . . . . . .178 Zalety i wady strumieniowania . . . . . . .178 Przykład strumieniowania i najlepsze praktyki . . . . . . . . . . . . . . . .180 Podsumowanie . . .183 Pytania . . . . . . . . . . .183 Dodatkowa lektura . . . . . . . . . . . . . . . . . . . . .184 Rozdział 7: Wprowadzanie dźwięku do gry . . . . . . . . . . . . . . . .185 Wprowadzenie . . .185 Wymagania techniczne . . . . . . . . . . . . . . . . .186 Podstawowe dźwięki i ich wyzwalanie przez animację . . . . . . . . . . .186 Dźwięki, sygnały, kanały, dialogi, efekty specjalne i jeszcze więcej! . . . . . . . . . . . . . . . . . . . . .188 Wywoływanie dźwięków w animacjach . . . . . . . . . . . . . . . . . . . . . .191 Środowisko i dźwięki . . . . . . . . . . . . . . . . . . .197 Uderzanie w różne powierzchnie . . . . .197 Odgłosy kroków gracza i środowiskowe efekty specjalne . . . . . .202 Podsumowanie . . .209 Pytania . . . . . . . . . . .209 Dodatkowe lektury . . . . . . . . . . . . . . . . . . . . .209 Rozdział 8: Edytowanie shaderów i wskazówki optymalizacyjne . . . . . . . . . . . . . . .211 Wprowadzenie . . .211 Wymagania techniczne . . . . . . . . . . . . . . . . .212 Poznawanie i budowanie materiałów . . .212 Przegląd materiałów, tworzenia instancji i stosowania . . . . . . . . .213 Sieci materiałów i wskazówki wydajnościowe przy pracy w edytorze . . . . . . . . . . . . . . . . . . .215 Materiały w czasie wykonania i różne platformy . . . . . . . . . . . . . . . . .222 Narzędzia czasu wykonania i techniki szybkiego iterowania shaderów . . . . . . . . . . . . . . . . .222 Znaj swoją platformę i to, jak dostosowywać shadery! . . . . . . . . .225 Podsumowanie . . .236 Pytania . . . . . . . . . . .236 Dodatkowe lektury . . . . . . . . . . . . . . . . . . . . .237 Rozdział 9: Dodawanie przerywników w grze przy użyciu sekwencera . . . . . . . .239 Wprowadzenie . . .239 Wymagania techniczne . . . . . . . . . . . . . . . . .240 Sequencer – najnowsze narzędzie dla przerywników w UE4 . . . . .240 Dlaczego używać sekwencerów? . . . . .240 Dodawanie sceny i jej wyzwalanie . . .245 Alternatywy dla sekwencerów . . . . . . . . . .256 Szybkie i łatwe sceny realizowane w grze . . . . . . . . . . . . . . . . . . . . .256 Matinee . . . . . .257 Podsumowanie . . .259 Pytania . . . . . . . . . . .260 Dodatkowe lektury . . . . . . . . . . . . . . . . . . . . .260 Rozdział 10: Pakowanie gry (PC, platformy mobilne) . . . . .261 Wprowadzenie . . .261 Wymagania techniczne . . . . . . . . . . . . . . . . .262 Poznaj swoją platformę(y) . . . . . . . . . . . . . .262 Konfi gurowanie instalowalnej wersji dla PC i ustawienia ogólne .263 Konfi guracja dla Androida . . . . . . . . . . .266 Konfi guracja dla iOS . . . . . . . . . . . . . . . . .272 Jak kompilować, testować i wdrażać . . . .273 Opcje grania UE4 kontra pakowanie projektu . . . . . . . . . . . . . . . . .273 Kiedy i jak kompilować i testować na urządzeniach . . . . . . . . . . .274 Tworzenie kompilacji autonomicznych i ich instalowanie . . . . . .275 Unikanie piekła ponownych kompilacji dla różnych platform przy zbliżaniu się publikacji . . . . . . . . . . . . . .276 Podsumowanie . . .277 Pytania . . . . . . . . . . .277 Dodatkowe lektury . . . . . . . . . . . . . . . . . . . . .277 Rozdział 11: Wolumetryczne oświetlenie, mgła i wstępne obliczanie . . . . . . . . . .279 Wprowadzenie . . .279 Wymagania techniczne . . . . . . . . . . . . . . . . .280 Lightmass, wolumetryczne mapy oświetlenia i mgła . . . . . . . . . . . .280 Dodawanie map wolumetrycznych przy użyciu woluminów Lightmass . . . . . . . . . . . . . . . . .282 Używanie efektu Atmospheric Fog . . .283 Korzystanie z efektu Volumetric Fog . .289 Narzędzia Lightmass . . . . . . . . . . . . . . . . . . . .293 Poznawanie ustawień Lightmass i narzędzi podglądu . . . . . . . . .294 Profi lowanie map oświetlenia . . . . . . . .299 Podsumowanie . . .301 Pytania . . . . . . . . . . .302 Dodatkowe lektury . . . . . . . . . . . . . . . . . . . . .302 Rozdział 12: Wideo w scenie i efekty wizualne . . . . . . . . . . . . .303 Wprowadzenie . . .303 Wymagania techniczne . . . . . . . . . . . . . . . . .304 Odtwarzanie wideo w scenie przy użyciu Media Framework . . . . .304 Tworzenie zasobów . . . . . . . . . . . . . . . . .304 Kompilowanie i odtwarzanie wideo w scenie . . . . . . . . . . . . . . . . .309 Dodawanie fi zycznych cząsteczek . . . . . . .312 Tworzenie wstępnego emitera dla uderzenia pocisku . . . . . . . . .312 Orientowanie i korygowanie fi zyki cząsteczek . . . . . . . . . . . . . . . . .316 Podsumowanie . . .317 Pytania . . . . . . . . . . .318 Dodatkowe lektury . . . . . . . . . . . . . . . . . . . . .318 Rozdział 13: Rzeczywistość wirtualna i rzeczywistość rozszerzona w UE4 . . . . .319 Wprowadzenie . . .319 Wymagania techniczne . . . . . . . . . . . . . . . . .320 Tworzenie projektu VR i dodawanie nowego sterowania . . . . . . . . .321 Tworzenie wstępnego projektu VR . . .321 Kompilowanie i wdrażanie na GearVR 323 Dodawanie sterowania HMD . . . . . . . . .328 Tworzenie projektu AR i portowanie naszych pocisków . . . . . . . . . .331 Tworzenie wstępnego projektu AR . . .332 Ustawienia specyfi czne dla wdrożenia w Androidzie . . . . . . . . . .333 Portowanie naszych pocisków i wystrzeliwanie ich w AR . . . . . .334 Podsumowanie . . .337 Pytania . . . . . . . . . . .339 Dodatkowe lektury . . . . . . . . . . . . . . . . . . . . .339 Indeks . . . . . . . . . . . . . .341 |
|