Cyfroteka.pl

klikaj i czytaj online

Cyfro
Czytomierz
00000 003880 19001233 na godz. na dobę w sumie
Unity. Tworzenie gier mobilnych - książka
Unity. Tworzenie gier mobilnych - książka
Autor: , Liczba stron: 360
Wydawca: Helion Język publikacji: polski
ISBN: 978-83-283-4207-1 Data wydania:
Lektor:
Kategoria: ebooki >> komputery i informatyka >> gry >> programowanie gier
Porównaj ceny (książka, ebook (-35%), audiobook).

Napisz raz, uruchamiaj wszędzie

Unity jest zintegrowanym środowiskiem do tworzenia trójwymiarowych i dwuwymiarowych gier komputerowych oraz innych materiałów interaktywnych. Szczególnie dobrze nadaje się do pisania gier, które mają działać na wielu różnych urządzeniach i w różnych systemach operacyjnych, szczególnie w środowisku mobilnym. Co istotne, Unity pozwala na prowadzenie prac w szybkim tempie, a sam sposób tworzenia jest nieskomplikowany i bardzo intuicyjny. Wszystko to sprawia, że za pomocą Unity nawet osoba bez praktycznego doświadczenia szybko zacznie tworzyć piękne gry na urządzenia z systemami iOS i Android.

W tej książce w wyczerpujący sposób opisano proces tworzenia gier. Wyjaśniono tu zarówno podstawowe, jak i bardziej zaawansowane pojęcia i techniki związane ze stosowaniem środowiska Unity. Najpierw przedstawiono podstawowe informacje na temat Unity. Zaprezentowano struktury gier, grafiki, skryptów, dźwięków, fizyki oraz systemów cząsteczkowych. Następnie opisano pełny proces tworzenia gry 2D oraz 3D. W książce omówiono także bardziej zaawansowane zagadnienia związane ze stosowaniem środowiska Unity, takie jak programowanie oświetlenia sceny, graficzny interfejs użytkownika, rozszerzanie edytora Unity, sklep Unity asset store, a także wdrażanie gier oraz cechy zależne od platform systemowych.

Najważniejsze zagadnienia:

Zostań stwórcą. Zaprojektuj własny świat. Użyj Unity.


Dr Jon Manning oraz dr Paris Buttfield-Addison są współzałożycielami firmy Secret Lab, zajmującej się pisaniem gier oraz narzędzi do ich tworzenia. W swoim dorobku mają takie gry, jak ABC Play School, Night in the Woods oraz Qantas Joey Playbox. Poza grami Manning i Buttfield-Addison tworzą YarnSpinner - framework do tworzenia gier narracyjnych. Wcześniej pracowali jako programiści gier mobilnych oraz menedżerowie produktu w firmie Meebo (wykupionej przez Google).

Znajdź podobne książki Ostatnio czytane w tej kategorii

Darmowy fragment publikacji:

Tytuł oryginału: Mobile Game Development with Unity Tłumaczenie: Piotr Rajca ISBN: 978-83-283-4207-1 © 2018 Helion S.A. Authorized Polish translation of the English edition of Mobile Game Development with Unity ISBN 9781491944745 © 2017 Jonathon Manning and Paris Buttfield-Addison This translation is published and sold by permission of O’Reilly Media, Inc., which owns or controls all rights to publish and sell the same. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną, fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje naruszenie praw autorskich niniejszej publikacji. Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich właścicieli. Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji zawartych w książce. Wydawnictwo HELION ul. Kościuszki 1c, 44-100 GLIWICE tel. 32 231 22 19, 32 230 98 63 e-mail: helion@helion.pl WWW: http://helion.pl (księgarnia internetowa, katalog książek) Drogi Czytelniku! Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres http://helion.pl/user/opinie/unitgm Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję. Printed in Poland. • Kup książkę • Poleć książkę • Oceń książkę • Księgarnia internetowa • Lubię to! » Nasza społeczność Spis treści Wstęp ...............................................................................................................................9 Część I. Podstawy środowiska Unity ....................................................................... 13 1. Wprowadzenie do środowiska Unity .................................................................................15 15 16 Witaj, książko! Witaj, Unity! 2. Prezentacja Unity ............................................................................................................19 19 22 25 25 27 28 28 Edytor Panel sceny Hierarchia Panel Project Inspektor Panel Game Podsumowanie 3. Stosowanie skryptów w Unity ..........................................................................................29 30 30 32 34 37 38 40 43 43 44 Przyspieszony kurs C# Mono i Unity Obiekty gry, komponenty oraz skrypty Ważne metody Koprocedury Tworzenie i usuwanie obiektów Atrybuty Czas w skryptach Rejestrowanie komunikatów na konsoli Podsumowanie 5 Poleć książkęKup książkę Część II. Tworzenie gry 2D. Gnom na linie .............................................................. 45 4. Początki tworzenia gry .....................................................................................................47 47 51 53 59 70 Projekt gry Utworzenie projektu i zaimportowanie materiałów Tworzenie krasnala Lina Podsumowanie 5. Przygotowywanie rozgrywki ............................................................................................71 71 84 94 105 107 Wprowadzanie danych Konfiguracja kodu krasnala Konfiguracja obiektu GameManager Przygotowanie sceny Podsumowanie 6. Tworzenie rozgrywki z użyciem pułapek i celów .............................................................109 109 111 115 116 Proste pułapki Skarb i wyjście Dodawanie tła Podsumowanie 7. Dopracowywanie gry .....................................................................................................117 118 121 125 133 138 140 Aktualizacja elementów graficznych krasnala Aktualizacja fizyki Tło Interfejs użytkownika Tryb nieśmiertelności Podsumowanie 8. Ostateczne poprawki gry ................................................................................................141 141 146 151 156 156 Dodatkowe pułapki i obiekty gry Efekty cząsteczkowe Menu główne Dźwięki Podsumowanie i wyzwania 6 (cid:95) Spis treści Poleć książkęKup książkę Część III. Tworzenie kosmicznej strzelanki 3D ....................................................... 159 9. Tworzenie kosmicznej strzelanki ....................................................................................161 162 166 167 179 Projektowanie gry Architektura Tworzenie sceny Podsumowanie 10. Dane wejściowe i sterowanie lotem ...............................................................................181 181 186 194 Dane wejściowe Sterowanie lotem Podsumowanie 11. Dodawanie broni i systemu celowania ...........................................................................195 195 208 209 Uzbrojenie Celownik Podsumowanie 12. Asteroidy i uszkodzenia .................................................................................................211 211 216 223 Asteroidy System uszkodzeń Podsumowanie 13. Dźwięki, menu, śmierć i więcej eksplozji! .......................................................................227 227 232 242 248 256 Menu Game Manager i śmierć Granice Ostatnie szlify Podsumowanie Część IV. Możliwości zaawansowane .................................................................... 259 14. Oświetlenie i procedury cieniowania ..............................................................................261 261 273 278 283 Materiały i procedury cieniowania Oświetlenie globalne Uwzględnianie wydajności Podsumowanie 15. Tworzenie interfejsów użytkownika w środowisku Unity ................................................285 285 289 290 292 Jak działa system GUI w Unity? Kontrolki Zdarzenia i rzucanie promienia Stosowanie systemu rozmieszczania Spis treści (cid:95) 7 Poleć książkęKup książkę Skalowanie obiektu Canvas Przechodzenie pomiędzy scenami Podsumowanie 294 295 296 16. Rozszerzanie edytora Unity ............................................................................................297 299 304 314 322 327 Tworzenie niestandardowych kreatorów Tworzenie niestandardowych okien edytora Tworzenie szuflad niestandardowych właściwości Tworzenie niestandardowego inspektora Podsumowanie 17. Nie tylko edytor .............................................................................................................329 329 338 346 Ekosystem usług Unity Wdrażanie Co dalej? Skorowidz .....................................................................................................................349 8 (cid:95) Spis treści Poleć książkęKup książkę ROZDZIAŁ 9. Tworzenie kosmicznej strzelanki Unity nie jest jedynie platformą, która świetnie nadaje się do budowania gier 2D — z powodzeniem można jej także używać do tworzenia zawartości 3D. Unity zaprojektowano jako silnik 3D na długo przed dodaniem do niej narzędzi do tworzenia gier 2D, dlatego też mechanizmy do opracowy- wania gier w przestrzeni zostały udostępnione jako pierwsze. W tym rozdziale dowiesz się, jak można wykorzystać środowisko Unity do napisania gry o nazwie Rockfall — kosmicznej strzelanki 3D. Gry tego typu zyskały największą popularność w połowie lat 90. ubiegłego wieku, kiedy to takie produkcje jak Star Wars: X-Wing (1993) oraz Descent: Freespace (1998) zapewniały graczom możliwości latania w przestrzeni kosmicznej, strzelania do przeciwni- ków i ogólnie pojętego rozwalania wszystkiego, co się rusza. Gry tego typu są blisko powiązane z symulatorami lotów, jednak dzięki temu, że nie oczekuje się od nich zachowania ścisłych realiów fi- zyki lotu, ich twórcy mogą implementować więcej zabawnych mechanizmów. Nie chcemy przez to powiedzieć, że nie istnieją symulatory lotów o charakterze gier arkadowych, jednak znacznie łatwiej znaleźć kosmiczną strzelankę tego typu niż realistyczny symulator lotu. Najlepszym wyjątkiem od tej reguły, przynajmniej w ostat- nich latach, jest Kerbal Space Program. Jest on tak bardzo realistyczny pod względem fizycznej symulacji lotów kosmicznych, że stanowi niemal całkowite przeciwieństwo gry opisanej w tym rozdziale. Jeśli naprawdę zależy Ci na poznaniu mechaniki lotów orbitalnych oraz tego, co się stanie, kiedy w perycentrum zaczniemy przyspieszać w kierunku centrum grawitacji, zdecydowanie jest to gra, po którą musisz sięgnąć. Z tego względu całkiem uzasadnione będzie stwierdzenie, że termin „symulator ko- smiczny”, choć znacznie częściej używany w odniesieniu do gier, takich jak prezento- wana w tym rozdziale, lepiej byłoby zastąpić określeniem „symulator walki kosmicznej”. Ale nie czepiajmy się słówek... Lepiej zabierzmy się za strzelanie z laserów. Pod koniec tej części książki powstanie gra wyglądająca tak, jak na rysunku 9.1. 161 Poleć książkęKup książkę Rysunek 9.1. Gotowa gra Projektowanie gry Zaczynając projektowanie gry, musimy określić pewne kluczowe ograniczenia. (cid:120) Rozgrywka powinna trwać co najwyżej kilka minut. (cid:120) Elementy sterujące powinny być bardzo proste; najlepiej byłoby, gdyby ograniczały się do „leć” oraz „strzelaj”. (cid:120) Gra powinna koncentrować się na wielu, stosunkowo krótkich wyzwaniach, a nie na jednym, dłuższym. Oznacza to wielu małych przeciwników, zamiast jednej walki z potężnym wrogiem. (To dokładnie na odwrót niż w przypadku gry Krasnal w kopalni pełnej skarbów — gry 2D, którą zajmowaliśmy się w poprzedniej części książki). (cid:120) Gra powinna koncentrować się niemal wyłącznie na strzelaniu laserami w przestrzeni kosmicznej. Gier tego typu jest zdecydowanie za mało. Takich gier nigdy nie jest zbyt wiele. Niemal zawsze warto zacząć od zapisania na kartce papieru założeń dotyczących głównych, ogólnych koncepcji i pomysłów. Takie „rozważania na papierze” zapewniają nieuporządkowane podejście do zagadnienia, które ułatwia odkrywanie nowych pomysłów, świetnie pasujących do ogólnego planu. My także postąpiliśmy w ten sposób i szybko naszkicowaliśmy ogólny pomysł na grę (patrz rysu- nek 9.2). Ten szkic celowo jest bardzo ogólny i narysowany zdecydowanie za szybko; jednak można na nim wskazać kilka pomysłów: asteroidy lecące w kierunku stacji kosmicznej, użytkownika sterującego statkiem kosmicznym za pomocą specjalnego joysticka i strzelającego laserami po dotknięciu wyświe- tlonego przycisku. Na rysunku widać także kilka dodatkowych szczegółów, stanowiących wynik rozważań o sposobie prezentowania scen tego typu; chodzi o takie elementy jak etykiety pokazujące odległość asteroid od stacji kosmicznej czy też rozważania o tym, jak gracz będzie trzymał urządzenie. 162 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę Rysunek 9.2. Początkowa idea gry naszkicowana na kartce papieru Po przygotowaniu tego ogólnego szkicu zwróciliśmy się do zaprzyjaźnionego artysty Reksa Smeala i poprosiliśmy o przekształcenie naszego rysunku w coś nieco bardziej konkretnego. Choć nie był to absolutnie konieczny etap prac nad projektem gry, jednak ułatwił nam uchwycenie jej ogólne- go charakteru. Przede wszystkim zdaliśmy sobie sprawę, że dość dużo uwagi trzeba będzie poświęcić centralnej stacji kosmicznej, której użytkownik ma bronić, gdyż musi wyglądać jak coś, czego warto bronić. Kiedy opowiedzieliśmy znajomemu artyście, o co ma chodzić w grze, przygotował szkic przed- stawiony na rysunku 9.3. Po ustaleniu szczegółów Rex zaprojektował coś, co lepiej nadawało się do zamodelowania w grze (patrz rysunek 9.4). Bazując na tym projekcie, zamodelowaliśmy stację kosmiczną w programie Blender. Na etapie pro- jektowania stacji zdecydowaliśmy o stylu grafik składających się z niewielkiej liczby wielokątów (po- dejście zainspirowane przez Heather Penn oraz Thimothego Reynoldsa); ze względu na swoją prostotę dobrze nada się do zastosowania w tej grze. (Nie oznacza to wcale, że tworzenie grafiki z wykorzysta- niem tego podejścia jest proste i łatwe; chodzi o to, że jego zastosowanie jest łatwiejsze, podobnie jak rysowanie ołówkiem jest łatwiejsze od malowania farbami olejnymi). Zamodelowana stacja została przedstawiona na rysunku 9.5. Dodatkowo przygotowaliśmy także model statku kosmicznego oraz asteroidy. Także te dwa modele przygotowaliśmy w programie Blender, a ich efekty zostały przedstawione na rysunkach 9.6 oraz 9.7. Projektowanie gry (cid:95) 163 Poleć książkęKup książkę Rysunek 9.3. Początkowa koncepcja wyglądu gry przygotowana przez Reksa Rysunek 9.4. Poprawiona grafika koncepcyjna stacji kosmicznej, przygotowana do zamodelowania 164 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę Rysunek 9.5. Model stacji kosmicznej Rysunek 9.6. Model statku kosmicznego Projektowanie gry (cid:95) 165 Poleć książkęKup książkę Rysunek 9.7. Model asteroidy Pobieranie zasobów Podczas tworzenia gry będziesz pracował nad kilkoma zasobami, między innymi efektami dźwięko- wymi, modelami i teksturami. Zostały one przygotowane i są dostępne w przykładach dołączonych do książki. Pliki są umieszczone w katalogach, których struktura ułatwia ich przeglądanie i odnalezienie. Wszystkie przykłady do książki można pobrać z serwera FTP wydawnictwa Helion: ftp://ftp. helion.pl/przyklady/unitgm.zip. Architektura Podstawowa architektura gry jest w zasadzie bardzo podobna do tej, której użyliśmy w grze Krasnal w kopalni pełnej skarbów. Główny obiekt menedżera gry odpowiada za utworzenie jej kluczowych obiektów, takich jak statek kosmiczny pilotowany przez gracza oraz stacja kosmiczna; jest on także informowany o zakończeniu gry, co następuje, kiedy gracz zginie. Interfejs użytkownika tej gry będzie nieco bardziej złożony niż interfejs poprzedniej. Gra z krasna- lem była sterowana dwoma przyciskami oraz wychyleniami urządzenia; jednak w grach 3D, w których gracz może się poruszać w dowolnym kierunku, sterowanie wychyleniami urządzenia nie sprawdza się najlepiej. Dlatego zamiast takiego rozwiązania ta gra zostanie wyposażona w „joystick ekranowy” — fragment ekranu, który będzie wykrywać dotknięcia i pozwalać na sterowanie statkiem poprzez przesuwanie palca w celu wskazania kierunku. Informacje z tego joysticka będą przekazywane do współużytkowanego menedżera wejścia, który z kolei będzie używany przez obiekt statku do aktuali- zowania swojego położenia. 166 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę Sterowanie poprzez przechylanie urządzenia w grach 3D jest znacznie trudniejszym rozwiązaniem, co nie oznacza wcale, że nie można go dobrze zaimplementować. NOVA 3 to strzelanka z widokiem pierwszej osoby, korzystająca z wychylania urządze- nia do celowania oraz obracania postaci i zapewniająca dużą dokładność tych czynności. Warto wypróbować tę grę, by przekonać się, w jaki sposób jej twórcy zaimplementowali sterowanie. Model walki zastosowany w naszej grze celowo będzie raczej nierealistyczny. Najprostszym i jedno- cześnie najbardziej realistycznym rozwiązaniem byłoby zamodelowanie obiektów fizycznych, do których byłoby przykładane przyspieszenie oraz zastosowanie sił fizycznych do obracania statku kosmicznego. Jednak takim statkiem trudno byłoby latać, a gracz zbyt szybko mógłby się pogubić. Dlatego zdecydowaliśmy się na zastosowanie nieco oszukanej fizyki: statek zawsze będzie poruszał się do przodu ze stałą szybkością i nie będzie miał żadnego pędu. Co więcej, gracz nie będzie mógł obracać statku, a jakakolwiek próba obrotu zostanie skorygowana (czyli, w odróżnieniu od faktycznej przestrzeni kosmicznej, w naszej grze będzie istnieć pojęcie „góry”). Projekt i decyzje Wszystkie decyzje projektowe dotyczące gier prezentowanych w tej książce są całkowi- cie uznaniowe. Choć uznaliśmy, że nie będziemy stosować fizyki lotu, nie oznacza to wcale, że wykorzystanie takiej fizyki w symulatorach lotu o charakterze arkadowym jest rozwiązaniem, którego należy unikać. Warto wypróbować własne pomysły i spraw- dzić, co z nich wyjdzie. Nie należy z góry uznawać, że gry mogą działać tylko w jeden, konkretny sposób dlatego, że autorzy jakiejś książki tak stwierdzili. W końcu mogli to wymyślić tylko na potrzeby tej książki. Asteroidy będą prefabrykatami tworzonymi przez specjalny obiekt „generatora asteroid”. Będzie on generował asteroidy co jakiś (ustalony) czas i wystrzeliwał je w kierunku stacji kosmicznej. Kiedy asteroida uderzy w stację, zmniejszy jej wartość punktów trafienia; kiedy wartość ta spadnie do zera, stacja ulegnie zniszczeniu, a gra się zakończy. Tworzenie sceny Tworzenie gry zaczniemy od przygotowania sceny. W tym celu utworzymy nowy projekt Unity, po czym dodamy do niego statek kosmiczny, który będzie latał po scenie. Oto czynności, od których zaczniemy. 1. Utworzenie projektu. Przede wszystkim należy otworzyć nowy projekt Unity o nazwie Rockfall, wybierając przy tym tryb 3D (patrz rysunek 9.8). 2. Zapisanie nowej sceny. Kiedy Unity utworzy projekt i wyświetli pustą scenę, należy zapisać projekt, wybierając z menu opcje File/Save. Scenę trzeba zapisać w pliku Main.scene, w katalogu Assets. 3. Zaimportowanie pobranych zasobów. W tym celu należy dwukrotnie kliknąć plik .unitypackage skopiowany z przykładów dołączonych do książki (patrz punkt „Pobieranie zasobów” na stronie 166). Do projektu trzeba zaimportować wszystkie zasoby. Tworzenie sceny (cid:95) 167 Poleć książkęKup książkę Rysunek 9.8. Tworzenie nowego projektu Teraz możemy się już zabrać za opracowywanie statku kosmicznego. Statek Prace nad grą zaczniemy do przygotowania statku kosmicznego przy użyciu modelu pobranego z materiałów dołączonych do książki (patrz punkt „Pobieranie zasobów” na stronie 166). Obiekt Ship będzie niewidocznym obiektem zawierającym wyłącznie skrypty; do niego dołączymy wiele obiektów podrzędnych, obsługujących konkretne aspekty prezentowania statku na ekranie. 1. Utworzenie obiektu Ship. Aby utworzyć obiekt Ship, należy wybrać z menu głównego opcje GameObject/Create Empty. Na ekranie zostanie wyświetlony nowy obiekt gry, którego nazwę zmieniamy na Ship. Teraz zajmiemy się dodaniem modelu. 2. Dodanie modelu. Aby dodać model statku kosmicznego, należy otworzyć katalog Models, przecią- gnąć model Ship i upuścić go na obiekcie Ship. W efekcie na scenie zostanie wyświetlony trójwymiarowy model statku, co pokazano na rysunku 9.9. Ze względu na to, że model został przeciągnięty na obiekt gry Ship, stał się jego elementem podrzędnym; to oznacza, że model będzie przesuwany po scenie wraz z nadrzędnym obiektem Ship. 3. Zmiana nazwy modelu. Teraz można zmienić nazwę modelu na Graphics. Musimy zagwarantować, że obiekt Graphics będzie wyświetlany w tym samym miejscu, w którym znajduje się jego obiekt nadrzędny — Ship. 4. Zaznaczenie obiektu Graphics. Kiedy obiekt Graphics zostanie zaznaczony, należy kliknąć ikonę koła zębatego, umieszczoną w górnym, lewym rogu komponentu Transform, a następnie wybrać opcję Reset Position (patrz rysunek 9.10). 168 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę Rysunek 9.9. Model statku kosmicznego na scenie Rysunek 9.10. Zerowanie położenia obiektu Graphics W polach obrotu (Rotation) należy wpisać wartości (-90, 0, 0). To konieczne, gdyż statek został zaprojektowany w programie Blender, który używa innego systemu współrzędnych niż środowisko Unity; konkretnie rzecz biorąc, w Blenderze kierunki „góra” i „dół” określa oś Z, natomiast w Unity — oś Y. Aby rozwiązać ten problem, Unity automatycznie obraca modele przygotowane w Blenderze, by skompensować tę różnicę. Chcemy, by statek zderzał się z innymi obiektami gry; w tym celu dodamy do niego zderzacz. 5. Dodanie do obiektu statku zderzacza BoxCollider. Aby dodać zderzacz, należy zaznaczyć obiekt Ship (czyli obiekt nadrzędny obiektu Graphics) i kliknąć przycisk Add Component umieszczony u dołu panelu Inspector. Z listy komponentów trzeba wybrać opcje Physics/Box Collider. Tworzenie sceny (cid:95) 169 Poleć książkęKup książkę Po dodaniu zderzacza należy zaznaczyć pole wyboru Is Trigger, a w polach Size wpisać — odpo- wiednio — wartości (2, 1.2, 3). W ten sposób zostanie utworzony prostopadłościan otaczający obiekt gracza. Nasz statek musi poruszać się do przodu ze stałą szybkością. W tym celu dodamy do niego skrypt przesuwający dowolny obiekt, do którego zostanie dołączony. 6. Dodanie skryptu ShipThrust. Gdy obiekt Ship wciąż będzie zaznaczony, należy kliknąć przycisk Add Component wyświetlony u dołu panelu Inspector i utworzyć nowy skrypt C# o nazwie ShipTrust.cs. Skrypt po utworzeniu należy otworzyć i dodać do niego poniższy fragment kodu. public class ShipThrust : MonoBehaviour { public float speed = 5.0f; // Przesuwamy statek do przodu ze sta(cid:225)(cid:261) pr(cid:266)dko(cid:286)ci(cid:261) void Update () { var offset = Vector3.forward * Time.deltaTime * speed; this.transform.Translate(offset); } } Skrypt ShipThrust udostępnia jeden parametr — speed, który jest używany przez funkcję Update do przesuwania obiektu do przodu. Sam ruch jest generowany poprzez pomnożenie wektora przesunięcia przez parametr szybkości (speed) oraz przez właściwość Time.deltaTime, co zapewnia, że obiekt będzie się przesuwać do przodu z tą samą szybkością, niezależnie od tego, ile razy w ciągu sekundy zostanie wywołana funkcja Update. Koniecznie należy zwrócić uwagę, by skrypt ShipTrust został dołączony do obiektu Ship, a nie Graphics. 7. Testowanie gry. Po naciśnięciu przycisku Play można będzie zobaczyć, jak statek zaczyna się przesuwać do przodu. Przesuwanie kamery za statkiem Kolejnym etapem prac będzie przesuwanie kamery za poruszającym się statkiem kosmicznym. Można to zrobić na kilka różnych sposobów: najprostszym jest umieszczenie kamery w obiekcie Ship, co sprawi, że będzie się ona poruszać wraz z nim. Jednak takie rozwiązanie da raczej kiepskie efekty wizualne, gdyż sprawi, że statek nigdy nie będzie się obracał względem kamery. Znacznie lepszym rozwiązaniem jest zachowanie kamery jako odrębnego obiektu i dodanie do niej skryptu, który zapewni, że wraz z upływem czasu będzie się ona powoli poruszać w odpowiednim kierunku. Oznacza to, że kiedy statek wykona gwałtowny skręt, skompensowanie tego manewru przez kamerę zajmie trochę czasu — czyli da dokładnie taki efekt, jaki powstałby w rzeczywistości, gdy operator starałby się utrzymać statek w kadrze. 170 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę 1. Dodanie skryptu SmoothFollow do głównej kamery. W celu zaimplementowania ruchu kamery należy zaznaczyć obiekt Main Camera, kliknąć przycisk Add Component i dodać nowy skrypt C# o nazwie SmoothFollow.cs. Po otworzeniu pliku trzeba zapisać w nim poniższy fragment kodu. public class SmoothFollow : MonoBehaviour { // Obiekt docelowy, za którym pod(cid:261)(cid:298)a kamera public Transform target; // Wysoko(cid:286)(cid:252) kamery nad obiektem docelowym public float height = 5.0f; // Odleg(cid:225)o(cid:286)(cid:252) kamery od obiektu docelowego, bez uwzgl(cid:266)dniania wysoko(cid:286)ci public float distance = 10.0f; // O ile wolniejsze b(cid:266)d(cid:261) zmiany obrotu i wysoko(cid:286)ci public float rotationDamping; public float heightDamping; // Funkcja aktualizuj(cid:261)ca jest wywo(cid:225)ywana podczas generowania ka(cid:298)dej klatki void LateUpdate() { // Przerywamy, je(cid:286)li nie ma obiektu docelowego if (!target) return; // Wyznaczamy aktualne k(cid:261)ty obrotu var wantedRotationAngle = target.eulerAngles.y; var wantedHeight = target.position.y + height; // Zapisujemy aktualne po(cid:225)o(cid:298)enie i kierunek kamery var currentRotationAngle = transform.eulerAngles.y; var currentHeight = transform.position.y; // T(cid:225)umimy k(cid:261)t obrotu wzgl(cid:266)dem osi Y currentRotationAngle = Mathf.LerpAngle(currentRotationAngle, wantedRotationAngle, rotationDamping * Time.deltaTime); // T(cid:225)umimy wysoko(cid:286)(cid:252) currentHeight = Mathf.Lerp(currentHeight, wantedHeight, heightDamping * Time.deltaTime); // Przekszta(cid:225)camy k(cid:261)t na obrót var currentRotation = Quaternion.Euler(0, currentRotationAngle, 0); // Ustawiamy po(cid:225)o(cid:298)enie kamery na p(cid:225)aszczy(cid:296)nie X-Z na // liczb(cid:266) metrów okre(cid:286)lon(cid:261) zmienn(cid:261) distance transform.position = target.position; transform.position -= currentRotation * Vector3.forward * distance; // Ustawiamy po(cid:225)o(cid:298)enie kamery, u(cid:298)ywaj(cid:261)c nowej wysoko(cid:286)ci transform.position = new Vector3(transform.position.x, currentHeight, transform.position.z); // I w ko(cid:276)cu, ustawiamy kamer(cid:266) w tym samym kierunku, w którym patrzy // obiekt docelowy Tworzenie sceny (cid:95) 171 Poleć książkęKup książkę transform.rotation = Quaternion.Lerp(transform.rotation, target.rotation, rotationDamping * Time.deltaTime); } } Skrypt SmoothFollow.cs przedstawiony w książce bazuje na kodzie udostępnionym przez Unity. Zmodyfikowaliśmy go nieco, by lepiej dostosować do potrzeb symulatora lotów. Jeśli chcesz przeanalizować pierwotny kod, znajdziesz go w pakiecie Utility. Aby go zaimportować, wystarczy wybrać z menu głównego opcje Assets/Import Package/ (cid:180)Utility. Po zakończeniu importowania pierwotny skrypt można będzie wyświetlić, wybierając z menu opcje Standard Assets/Unity. Zasada działania skryptu SmoothFollow opiera się na wyliczeniu punktu w przestrzeni, w któ- rym powinna znaleźć się kamera, a następnie punktu pomiędzy tą lokalizacją oraz bieżącym położeniem kamery. Stosowanie tego skryptu w kolejnych klatkach da efekt, jakby kamera stopniowo zbliżała się do punktu docelowego, lecz jednocześnie zwalniała. Co więcej, ponieważ punkt docelowy, w którym kamera powinna się znaleźć, zmienia się w każdej klatce, zatem cały czas będzie ona pozostawać gdzieś za nim; a to jest dokładnie ten efekt, o który nam chodziło. 2. Konfiguracja komponentu SmoothFollow. W tym celu wystarczy przeciągnąć obiekt Ship i upuścić go w polu Target. 3. Sprawdzenie gry. Teraz należy uruchomić grę, klikając przycisk Play. Kiedy to nastąpi, panel Game nie będzie już prezentował poruszającego się statku, zamiast tego kamera będzie podążać za statkiem. Można się o tym łatwo przekonać, spoglądając na panel Scene. Stacja kosmiczna Stację kosmiczną, której bezustannie zagrażają nadlatujące asteroidy, można opracować dokładnie w ten sam sposób jak statek kosmiczny: najpierw utworzymy pusty obiekt gry, a następnie dołączymy do niego model. Co więcej, stacja kosmiczna jest prostsza od statku, gdyż jest całkowicie bierna — wisi jedynie w przestrzeni i jest pod ostrzałem asteroid. Oto czynności, które należy wykonać, by utworzyć obiekt stacji kosmicznej w grze. 1. Utworzenie obiektu-kontenera dla stacji kosmicznej. Najpierw należy zbudować nowy, pusty obiekt gry i nadać mu nazwę Space Station. 2. Dodanie modelu jako obiektu podrzędnego. Aby dodać model stacji, trzeba otworzyć katalog Models, przeciągnąć model Station i upuścić go na obiekcie gry Space Satation. 3. Wyzerowanie położenia obiektu modelu stacji. Następnie należy zaznaczyć obiekt Station dodany w poprzednim punkcie i kliknąć prawym przyciskiem myszy komponent Transform. Z wyświe- tlonego menu trzeba wybrać opcję Reset Position, podobnie jak zrobiliśmy podczas dodawania modelu statku kosmicznego. Po zakończeniu tych czynności stacja kosmiczna powinna wyglądać tak, jak na rysunku 9.11. 172 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę Rysunek 9.11. Stacja kosmiczna Po dodaniu modelu stacji kosmicznej warto poświęcić nieco uwagi jego strukturze i uzupełnić go o odpowiedni zderzacz. Ten zderzacz jest bardzo istotnym elementem, gdyż asteroidy (które w końcu dodamy do gry) muszą w coś uderzać. Dodawanie zderzacza należy zacząć od zaznaczenia obiektu modelu i rozwinięciu wszystkich jego elementów podrzędnych. Model ten składa się z wielu siatek podrzędnych, z których główna nosi na- zwę Station. Należy ją zaznaczyć. Jeśli teraz spojrzymy na panel Inspector, zobaczymy w nim, oprócz komponentów Mesh Filter oraz Mesh Renderer, komponent Mesh Collider (patrz rysunek 9.12). Jeśli komponent ten nie będzie widoczny, przeczytaj uwagę „Modele i zderzacze”. Modele i zderzacze Podczas importowania modelu Unity może od razu utworzyć dla niego zderzacz. Kiedy zaimportowałeś model z pakietu Assets, zostały także zaimportowane ustawienia utworzone dla tego modelu, które zawierały informację, by dodać zderzacz stacji. (Dokładnie to samo zrobiliśmy dla modeli statku kosmicznego oraz asteroid). Jeśli zderzacz nie jest widoczny lub zaimportowałeś własny model i chciałbyś się prze- konać, jak został on skonfigurowany, zaznacz sam model (czyli plik w katalogu Models) i przejrzyj jego ustawienia, aby wyświetlić i zmienić jego ustawienia (patrz rysunek 9.13). Przede wszystkim zwróć uwagę na zaznaczone pole wyboru Generate Collider. Sześcian skybox Obecnie w naszej grze używany jest domyślny sześcian skybox tworzony przez Unity, a mający spełniać wymagania gier, których akcja toczy się na powierzchni ziemi. Zmiana tego sześcianu na rozwiązanie zaprojektowane tak, by odpowiadało wyglądowi przestrzeni kosmicznej, będzie krokiem milowym na drodze do zapewnienia odpowiedniego wyglądu budowanej gry. Tworzenie sceny (cid:95) 173 Poleć książkęKup książkę Rysunek 9.12. Zderzacz stacji kosmicznej Zgodnie z tym, co sugeruje nazwa, sześciany skybox to wirtualne sześciany, które zawsze są rysowane poniżej wszystkich innych elementów sceny i nigdy nie poruszają się względem kamery. Sprawia to wrażenie, jakby tekstury umieszczone na tym sześcianie były nieskończenie daleko — stąd też sprawiają one wrażenie nieba i horyzontu. Aby zapewnić odczucie, że gracz znajduje się wewnątrz kuli, a nie sześcianu, tekstury wyświetlane na sześcianie skybox w tworzonej grze muszą zostać zniekształcone w taki sposób, by krawędzie ich styku były niewidoczne. Można to zrobić na wiele sposobów, na przykład przy użyciu kilku wtyczek do programu Photoshop, jednak większość tych narzędzi służy do przetwarzania zdjęć. Bardzo trudno zdobyć zdjęcia przestrzeni kosmicznej zrobione w celu wykorzystania w grach wideo — znacznie łatwiejszym rozwiązaniem będzie zastosowanie narzędzia tak, by takie zdjęcia przygotować. Tworzenie sześcianu skybox Po pobraniu obrazów przygotowanych dla sześcianu skybox można dodać je do gry. W tym celu utworzymy nowy materiał, którego następnie użyjemy w ustawieniach oświetlenia sceny. Oto czynności, które należy wykonać. 1. Utworzenie materiału Skybox. Aby opracować nowy materiał, należy wybrać z menu opcje Assets/Create/Material. Nowemu materiałowi nadajemy nazwę Skybox i przenosimy do katalogu o tej samej nazwie. 174 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę Rysunek 9.13. Ustawienia importu modelu stacji kosmicznej 2. Konfiguracja materiału. Następnie należy zaznaczyć nowy materiał i zmienić wybrany mecha- nizm cieniowania (ang. shader) ze Standard na 6 Sided. Spowoduje to zmianę zawartości panelu Inspector — pojawią się w nim pola pozwalające na określenie wszystkich sześciu tekstur (patrz rysunek 9.14). Następnie należy odszukać tekstury umieszczone w katalogu Skybox i przeciągnąć każdą z nich do odpowiedniego pola — teksturę Up należy upuścić na polu Up, teksturę Front na polu Front i tak dalej. Postać panelu Inspector po określeniu wszystkich sześciu tekstur przedstawia rysunek 9.15. 3. Połączenie materiału z ustawieniami oświetlenia. W celu zmiany ustawień oświetlenia należy wybrać z menu Window opcje Lightning/Settings. Spowoduje to wyświetlenie panelu Lighting; w jego górnej części będzie dostępne pole Skybox Material, należy na nie przeciągnąć i upuścić utworzony wcześniej materiał Skybox (patrz rysunek 9.16). Tworzenie sceny (cid:95) 175 Poleć książkęKup książkę Rysunek 9.14. Ustawienia sześcianu skybox bez określonych tekstur Po wprowadzeniu tych zmian niebo zostanie zastąpione obrazami przestrzeni kosmicznej, widoczny- mi na rysunku 9.17. Co więcej, system oświetlenia Unity będzie korzystać z informacji udostępnia- nych przez sześcian skybox, aby modyfikować sposób oświetlania obiektów; jeśli przyjrzymy się uważnie, zauważymy, że zarówno statek kosmiczny, jak i stacja mają delikatny zielonkawy odcień; zmiana jest spowodowana zielonymi obrazami przestrzeni kosmicznej, zastosowanymi w sześcianie skybox. Obiekt Canvas Na razie nasz statek kosmiczny zawsze będzie się poruszał jedynie do przodu, gdyż gracz nie może jeszcze nim sterować. Już niebawem zabierzemy się za dodawanie interfejsu użytkownika pozwalającego na sterowanie statkiem, jednak najpierw musimy dodać do gry i skonfigurować obiekt Canvas, na którym będzie wyświetlany ten interfejs użytkownika. Oto czynności, które należy wykonać. 1. Utworzenie obiektu Canvas. W tym celu należy wybrać z menu głównego opcje GameObject/ (cid:180)UI/Canvas. Spowoduje to utworzenie obiektów Canvas oraz EventSystem. 2. Skonfigurowanie obiektu. Aby rozpocząć konfigurowanie obiektu Canvas, przede wszystkim trzeba go zaznaczyć. Następnie w panelu Inspector trzeba znaleźć pole Render Mode dołączonego komponentu Canvas. Jego wartość należy zmienić na Screen Space — Camera. Spowoduje to wyświetlenie nowych opcji, pozwalających na określenie ustawień charakterystycznych dla tego trybu renderowania. 176 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę Rysunek 9.15. Ustawienia sześcianu skybox po określeniu tekstur Rysunek 9.16. Konfiguracja ustawień oświetlenia Tworzenie sceny (cid:95) 177 Poleć książkęKup książkę Rysunek 9.17. Nowe ustawienia sześcianu skybox zastosowane w grze Na polu Render Camera należy upuścić obiekt Main Camera, a wartość w polu Plane Distance zmienić na 1 (co pokazano na rysunku 9.18). W ten sposób obiekt Canvas zostanie umieszczony dokładnie o jedną jednostkę od kamery. Rysunek 9.18. Panel Inspector dla obiektu Canvas 178 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę Następnie ustawienie w polu UI Scale Mode należy zmienić z Canvas Scaler na Scale with Screen Size, a rozdzielczość wzorcową (podawaną w polach X i Y poniżej nagłówka Reference Resolution) trzeba ustawić — odpowiednio — na 1024 i 768, wtedy jej proporcje będą odpowia- dać iPadowi. Po przygotowaniu obiektu Canvas możemy zacząć dodawać do niego komponenty. Podsumowanie Scena naszej nowej gry jest już gotowa i możemy zacząć implementować systemy niezbędne do prowadzenia rozgrywki. W następnym rozdziale rzucimy się w czerń kosmosu i zaimplementujemy system sterowania statkiem kosmicznym. Podsumowanie (cid:95) 179 Poleć książkęKup książkę 180 (cid:95) Rozdział 9. Tworzenie kosmicznej strzelanki Poleć książkęKup książkę Skorowidz celownik, 208 cieniowanie, 261, 336 powierzchni, 261 wierzchołków, 269 czas, 43 cząsteczki pyłu, 250 C D dane o wydajności gry, 282 wejściowe, 181 z urządzenia, 282 definiowanie kolorów i właściwości, 324 dno szybu, 131 dodawanie joysticka, 181 komponentu Rigidbody2D, 60 kontroli przechylenia, 72 ograniczeń do połączeń, 56 przycisku, 76 punktu wstrzymania, 82 sprajtów, 53 tła, 115 złącza sprężynowego, 58 dotyk, 103 dźwięki, 156, 253 E edytor, 19, 21 Amplify Shader Editor, 336 niestandardowy okna, 304 PlayMaker, 330, 333 A aktualizacja elementów graficznych, 118 fizyki, 121 kamery, 132 punktów Connected Anchor, 124 punktów obrotu, 56, 119 sprajtów, 124 Amplify Shader Editor, 336 animacja, 143, 145 koloru, 272 API, 306 aplikacja Amplify Shader Editor, 336 PlayMaker, 330 Profiler, 278 Unity Remote, 71 Xcode, 344 architektura gry, 166 Asset Store, 329 asteroidy, 211 atrybut ExecuteInEditMode, 42 Header, 41 HideInInspector, 41 RequireComponent, 40 SerializeField, 41 Space, 41 automat skończony, 333–335 automatyczne budowanie kodu, 32 B baza danych zasobów, 314 bieżący komponent skryptowy, 40 bloki, 146 349 Poleć książkęKup książkę efekt obwódki świetlnej, 263 efekty cząsteczkowe, 146, 219 ekran końcowy, 230 pauzy, 229 startowy, 341 eksplozja, 219, 256 krwi, 149 elementy sterujące rozgrywką, 228 etykieta, 319 F fontanna krwi, 147 framework .NET, 30 Mono, 30 funkcja Application.LoadScene, 155 Camera.Render, 281 Debug.LogFormat, 44 FireTrapTouched, 157 frag, 272 surf, 267 G generator asteroid, 213 gra Gnom na linie, 45 kosmiczna strzelanka 3D, 159 Rockfall, 161 gradient, 223 graficzne obiekty rzucające, 290 graficzny interfejs użytkownika, 285, 295, 306 granice, 242, 244 gry 2D, 45 3D, 159, 161 mobilne, 16 GUI, 285, 295 GUI Unity, 306 gwiezdny pył, 251 H hierarchia, 25 350 (cid:95) Skorowidz I ikona Hand, 24 implementacja kodu granic, 243 singletona InputManager, 73 importowanie materiałów, 51 modelu stacji kosmicznej, 175 sprajtów obiektów, 110 tekstury Blood, 147 informacje o obiekcie, 27 inspektor, 27 niestandardowy, 323 testy, 326 wyświetlanie domyślnej zawartości, 327 instrukcja yield break, 38 yield return, 38 interfejs użytkownika, 20, 133, 188, 242, 285, 295 zakończenia gry, 136 J K język C#, 29 JavaScript, 29 joystick, 181, 184 kamera, 79, 132 przesuwanie, 170 kapsuła, 268 katalog Assets, 21, 52 Library, 21 ProjectSettings, 21 kinematyczne ciało sztywne, 195 klasa AssetDatabase, 314 BodyPart, 87 Boundary, 248 EditorGUILayout, 309 GameManager, 95 GUI, 307 InputManager, 73, 202 MonoBehavior, 33 Poleć książkęKup książkę OnWizardCreate, 302 RangeEditor, 318 Resettable, 95 RuntimeColorChangerEditor, 324 Shot, 196 SignalOnTouch, 110 Singleton, 72, 185 SpriteSwapper, 113 Swing, 74 Swinging, 75 Tetrahedron, 300, 303 Time, 43 VirtualJoystick, 184 klatki kluczowe, 144 kod granice, 243 generujący linę, 60 krasnala, 84 podpisywanie, 344 kolor etykiety przycisku, 206 komponent, 27, 32, 34 Animator, 143, 157 Audio Source, 32, 156 Button, 76 CameraFollow, 80 DamageOnCollide, 241 Event Triger, 78 Event Trigger, 76 HingeJoint2D, 56, 57 Image, 153 LineRenderer, 60 Main Menu, 155 Mesh Renderer, 32 Particle Effect, 222 Resettable, 114 Rigidbody, 55 Rigidbody2D, 59, 60 RuntimeColorChanger, 325 SignalOnTouch, 110, 143 Trail Renderer, 198, 251 Transform, 53, 172, 286 Vertical Layout Group, 292 komunikaty, 43 konfiguracja cząsteczek pyłu, 250 kodu krasnala, 84 komponentu Trail Renderer, 251 liny, 69 materiału, 69, 175, 220 obiektu GameManager, 94, 106 obiektu skarbu, 114 połączeń, 56 pola wyboru, 139 projektu, 338 tekstury krwi, 146 sprajtu, 112 stanu początkowego gry, 100 ustawień oświetlenia, 177 konstruktor, 33 kontener Debug Menu, 139 kontrola przechylenia, 72 kontrolka Space, 312 kontrolki, 289, 308 trybu gry, 22 uchwytów, 24 kontrolowanie liny, 75 kończenie rozgrywki, 238 koprocedury, 37 kosmiczny pył, 249 krasnal, 53, 84 aktualizacja elementów graficznych, 118 fizyki, 121 punktów Connected Anchor, 124 sprajtów, 124 części ciała, 118 tworzenie, 101 usunięcie, 101 kreator z kontrolkami, 301 kreatory, 299 krew, 146 efekty cząsteczkowe, 147 eksplozja, 149 konfiguracja tekstury, 146 krzywa Size over Lifetime, 223 kula, 272 L lina, 59 kod generujący, 60 konfiguracja, 69 kontrolowanie, 75 listy, 312 Skorowidz (cid:95) 351 Poleć książkęKup książkę M materiał, 51, 69, 261 Dust, 219, 220 Green, 274 krwi, 146 Shot, 197 Skybox, 174 mechanizm sprawdzania zmian, 320 menedżer danych wejściowych, 184 wskaźników, 192 menu, 227 główne, 151, 228, 229 metoda Awake, 34 CreateNewGnome, 101 CreateRopeSegment, 67 DestroyGnome, 91 DrawDefaultInspector, 327 EditorGUI, 321 FixedUpdate, 37 GameOver, 238 KillGnome, 103 Label, 307 LateUpdate, 36 MinMaxSlider, 320 OnDrawGizmoSelected, 215 OnEnable, 35 OnGUI, 306, 307, 318 OnWizardCreate, 302 OnWizardUpdate, 303 PrefixLabel, 319 RemoveRopeSegment, 67 Reset, 100 ResetLength, 65 SendSignal, 110 SetWeapons, 203 ShowUI, 236 Start, 33, 35, 100, 236 StartGame, 237 TextField, 309, 310 Update, 33, 36 model asteroidy, 166 statku kosmicznego, 165, 169 modyfikacje interfejsu użytkownika, 133 Mono, 30 352 (cid:95) Skorowidz MonoDevelop, 31 automatyczne budowanie kodu, 32 refaktoryzacja, 32 uzupełnianie kodu, 31 N narzędzie Rect, 287 nazwa klasy, 33 niestandardowa szuflada właściwości, 322 niestandardowe edytory, 327 okna edytora, 304 właściwości, 314 niestandardowy inspektor, 322 O obiekt Animator Controller, 143 Asteroid Spawner, 215 asteroidy, 212 Blood Fountain, 148, 149 Boundary, 243 Canvas, 133, 176, 286, 294 Fire Button, 205 Fireball, 221, 222 fontanny krwi, 92 Game Manager, 232–238 GameManager, 94, 106, 136 Ghost, 91 Gnome, 120 Graphics, 168 IndicatorManager, 193 Leg Rope, 59 liny, 60 Loading Overlay, 153 Main Camera, 132, 178 Main Menu, 229 Mesh, 299, 302 Rect, 307 RectTransform, 286, 289 Rope, 65 Ship, 168, 251 skarbu, 114 Space Station, 172 SpikesBrown, 111 Thumb, 182 Poleć książkęKup książkę Treasure, 94 Warning UI, 248 obiekty gry, 32, 141 rzucające fizyki 2D, 290 rzucające fizyki 3D, 290 statyczne, 275 tworzenie, 38 usuwanie, 38 obsługa dotarcia do wyjścia, 104 dotyku, 103 przycisku Nowa gra, 105 odgłosy strzałów, 254 odwzorowywanie oświetlenia, 275 okno, 304 Action Browser, 335 Attach to Process, 82 Build Settings, 341, 342, 344 opcja Global, 25 Local, 24 Remove Component, 76 orientacja fontanny krwi, 92 uchwytów, 24 oświetlenie, 175, 177, 261, 275 globalne, 273, 276 P panel, 20 Game, 28 Hierarchy, 25 Immediate, 83 Inspector, 27, 34, 178, 222, 314 Locals, 83 PlayerSettings, 339 Project, 25 sceny, 22 platforma docelowa, 340 PlayMaker, 330, 331 pobieranie danych z urządzenia, 282 materiałów, 51 modułów platform, 341 wartości, 320 właściwości, 318 podpisywanie kodu, 344 pojemnik Main Menu, 137 pola tekstowe, 309, 321 opóźnione, 310 specjalne, 310 pole wyboru, 139 położenie obiektu, 200 procedury cieniowania, 261, 265, 268, 336 fragmentów-wierzchołków, 269 Profiler, 278 widok Hierarchy, 280 program profilujący, 278 projekt GnomesWell, 51 gry, 47, 162 prostokąty, 319 prototyp wskaźnika, 189 próbki światła, 277 przestrzeń widoku, 191 przesuwanie kamery, 79, 170 przycisk, 76, 308 Add New Event Type, 78 Button Up, 78 Create Project, 19 Edit Collider, 122 Fire, 201, 204, 206 Fix Issue, 344 New, 19 New Game, 153 Nowa gra, 105 Pause, 22, 231 Play, 22, 72 Step, 22 W dół, 134 W górę, 134 przywracanie stanu początkowego gry, 103 pułapki, 109, 141 punkty początkowe, 232 wstrzymania, 81 zaczepienia, 57, 76, 288 R reagowanie na zdarzenia, 291 refaktoryzacja, 32 rejestrowanie komunikatów, 43 renderer śladu, 195, 249 Skorowidz (cid:95) 353 Poleć książkęKup książkę rozgrywka, 71 kończenie, 238 tworzenie pułapek, 109 uruchamianie, 237 wstrzymywanie, 104 wznawianie, 104 rozmieszczenie punktu początkowego, 105 sprajtów, 54 rozszerzanie edytora, 297 rzucanie promienia, 290 S scena, 22, 105, 153, 167, 238 selektor trybu, 23 singleton, 72 skalowanie obiektu Canvas, 294 skarb, 111 skrypt, 29, 32 Asteroid.cs, 241 AsteroidSpawner.cs, 213 BodyPart.cs, 85, 87 Boundary.cs, 243 CameraFollow.cs, 79, 100 DamageOnCollide.cs, 217 DamageTaking.cs, 216, 240 GameManager.cs, 95, 233, 245 Gnome.cs, 87, 90 Indicator.cs, 188 IndicatorManager.cs, 192 InputManager.cs, 74 MainMenu.cs, 154 RangeEditor.cs, 316 RemoveAfterDelay.cs, 92 Resettable.cs, 61, 95 Rope.cs, 61 RuntimeColorChanger.cs, 322 RuntimeColorChangerEditor.cs, 323 ShipSteering.cs, 186 ShipTarget.cs, 208 ShipTrust.cs, 170 ShipWeapons.cs, 199, 203, 255 Shot.cs, 196 SignalOnTouch.cs, 109, 143, 156 Singleton.cs, 72, 185 SmoothFollow.cs, 171 SpirteSwapper.cs, 112 Tetrahedron.cs, 300` 354 (cid:95) Skorowidz TextureCounter.cs, 305 VirtualJoystick.cs, 182 sprajt, 53 skarbu, 113 Warning, 242 stacja kosmiczna, 172, 173 stan początkowy gry, 100, 103 statek kosmiczny, 168, 254 sterowanie lotem, 181, 186 struktura projektu, 21 suwak, 182, 311, 321 system celowania, 195 cząsteczkowy, 151, 251 rozmieszczania, 292 uszkodzeń, 216 zdarzeń, 290 sześcian skybox, 173–177 szkic koncepcyjny gry, 48, 163 szpikulce, 141 szuflada właściwości, 322, 314 Ś T ślady asteroid, 253 silników, 252 śmierć, 232 środowisko MonoDevelop, 31 Unity, 15 światło, 277 świetlna obwódka, 268 tekstura krwi, 146 testowanie gry, 136 inspektora, 326 kamery, 80 przycisku, 78 skryptu, 81 tło, 115, 125, 127 tryb chwytania, 23 edycji, 22 gry, 22 nieśmiertelności, 138 obracania, 23 Poleć książkęKup książkę prostokąta, 23 przesuwania, 23 Screen Space, 286 skalowania, 23 World Space, 286 tworzenie aplikacji na Android, 345 aplikacji na iOS, 343 gry, 47 gry 2D, 45 gry 3D, 159, 161 instancji, 39 interfejsów użytkownika, 285 katalogów, 52 klasy singletona, 72 kosmicznej strzelanki, 161 krasnala, 53, 101 materiału, 69, 264 niestandardowego inspektora, 322, 323 niestandardowych kreatorów, 299 niestandardowych okien edytora, 304 obiektów, 38 obiektu Game Manager, 233 obiektu w całości, 39 procedury cieniowania, 270 projektu, 20, 51, 298 sceny, 167 skryptu, 32 sześcianu skybox, 174 szuflad niestandardowych właściwości, 314 teł, 127 wyjścia, 111 zasięgu właściwości, 319 U uchwyty, 24 narzędzia Rect, 287 Ultimate FPS, 336 Unity, 17 Unity Remote, 71 uruchomienie gry, 69, 237 usługa, 329 Cloud Build, 337 Unity Ads, 338 usprawnienia dźwiękowe, 118 rozgrywki, 118 wizualne, 117 ustawianie platformy docelowej, 340 usunięcie krasnala, 101 obiektów, 38, 40 uszkodzenia, 216 uzbrojenie statku, 195, 198 uzupełnianie kodu, 31 W warstwy, 126 sortujące, 126 wczytywanie sceny, 153 wdrażanie, 338 wersja Enterprise, 18 Personal, 18 Plus, 18 Pro, 18 widoki przewijane, 313 wirujące ostrze, 142 właściwości niestandardowe, 314 określenie wysokości, 318 pobieranie, 318 tworzenie zasięgu, 319 zapis, 321 właściwość Application.isPlaying, 205 holdingTreasure, 91 Rotation, 144 wprowadzanie danych, 71 wskaźniki, 187, 192 wstrzymywanie gry, 104, 238 wydajność, 278 wyjście, 111 wyliczenie prostokątów, 319 wysokość właściwości, 318 wyświetlanie domyślnej zawartości inspektora, 327 etykiety, 319 GUI, 325 komunikatów, 43 kontrolek, 325 pól tekstowych, 321 suwaka, 321 wyzwalacz, 110 wznawianie rozgrywki, 104 Skorowidz (cid:95) 355 Poleć książkęKup książkę Z zderzacz, 55, 110, 113, 173 dla rąk, 123 stacji kosmicznej, 174 wielokątny, 121 zerowanie położenia obiektu, 172 złącze sprężynowe, 58 zmienne, 325 znaczniki fontann krwi, 92 zapętlenie animacji, 145 zapis właściwości, 321 sceny, 52 zarządzanie grą, 94 zasoby skryptowe, 33 zdarzenia, 290, 291 Pointer Down, 77 Pointer Up, 77, 78 356 (cid:95) Skorowidz Poleć książkęKup książkę
Pobierz darmowy fragment (pdf)

Gdzie kupić całą publikację:

Unity. Tworzenie gier mobilnych
Autor:
,

Opinie na temat publikacji:


Inne popularne pozycje z tej kategorii:


Czytaj również:


Prowadzisz stronę lub blog? Wstaw link do fragmentu tej książki i współpracuj z Cyfroteką: