Unity. Przewodnik projektanta gier - ebook
Unity. Przewodnik projektanta gier - ebook
24 h do własnej gry!
Unity to zaawansowane środowisko do tworzenia gier 3D, prezentacji i animacji zarówno na urządzenia mobilne, jak i stacjonarne. Wokół tego silnika skupiona jest ogromna społeczność, prezentująca produkcje o różnym stopniu zaawansowania. Jeżeli Twoim marzeniem jest stworzenie gry według własnego scenariusza, jeżeli chcesz sprawdzić się w roli projektanta gier wideo, to trafiłeś na doskonałą książkę, w całości poświęconą silnikowi Unity!
Ta książka pozwoli Ci poznać zintegrowane środowisko (IDE) oraz dostosować je do własnych potrzeb. Nauczysz się tworzyć obiekty gry i wykonywać na nich operacje, stosować shadery i tekstury oraz korzystać z narzędzi do tworzenia terenu i środowiska Twojej gry. Kolejne rozdziały to interesujące informacje na temat oświetlenia, kamer oraz efektów dźwiękowych. Na sam koniec dowiesz się, jak dopracować stworzoną grę, wdrożyć ją oraz zmodyfikować tak, żeby działała na urządzeniach mobilnych. Dzięki lekturze stworzysz gry: Gauntlet Runner, Captain Blaster, Chaos Ball, Amazing Racer. Przekonaj się, jakie możliwości kryje silnik Unity!
Dowiesz się, jak:
- tworzyć i pracować z obiektami gry, czyli podstawowymi blokami budulcowymi w Unity;
- efektywnie pracować z zasobami w Unity;
- stosować shadery i tekstury w dowolnym obiekcie 3D;
- przygotowywać niezwykłe światy za pomocą oferowanych przez Unity narzędzi przeznaczonych do tworzenia terenu i środowiska;
- wykonywać różne zadania w skryptach, począwszy od przechwytywania danych wejściowych aż po opracowanie skomplikowanych zachowań;
- szybko tworzyć możliwe do wielokrotnego użycia obiekty w postaci prefabrykatów;
- implementować łatwe i intuicyjne graficzne interfejsy użytkownika;
- tworzyć zdumiewające efekty za pomocą nowego w Unity systemu cząsteczek o nazwie Shurinken;
- wykorzystać pełne możliwości nowego w Unity systemu animacji o nazwie Mecanim;
- zintegrować dźwięk 2D i 3D z tworzonymi grami;
- używać wbudowanych w urządzenia mobilne przyśpieszeniomierzy i ekranów dotykowych;
- zmodyfikować grę w wersji biurkowej do wersji działającej w urządzeniach mobilnych;
- dopracować i wdrożyć grę.
Zrealizuj swoje marzenie o stworzeniu własnej gry!
* W książce wykorzystano Unity wersjach 4.1 i 4.2.
** Dodatkowe materiały do książki możesz pobrać >>> TU.
Spis treści
O autorze (19)
Wprowadzenie (21)
Lekcja 1. Wprowadzenie do Unity (25)
- Instalacja Unity (26)
- Pobieranie i instalacja Unity (26)
- Poznajemy edytor Unity (29)
- Okno dialogowe Project (29)
- Interfejs Unity (31)
- Panel Project (32)
- Panel Hierarchy (34)
- Panel Inspector (35)
- Panel Scene (37)
- Panel Game (39)
- Wyróżnienie - pasek narzędziowy (41)
- Poruszanie się po panelu Scene w Unity (42)
- Narzędzie Hand (42)
- Tryb Flythrough (43)
- Podsumowanie (43)
- Pytania i odpowiedzi (45)
- Warsztaty (45)
- Quiz (45)
- Odpowiedzi (45)
- Ćwiczenie (46)
Lekcja 2. Obiekty gry (47)
- Wymiary i układy współrzędnych (48)
- Umieszczenie litery D w nazwie 3D (48)
- Użycie układów współrzędnych (48)
- Współrzędne świata kontra lokalne (50)
- Obiekty gry (50)
- Transformacje (51)
- Translacja (52)
- Rotacja (54)
- Skalowanie (55)
- Ryzyko związane z transformacjami (55)
- Transformacja a obiekty zagnieżdżone (57)
- Podsumowanie (57)
- Pytania i odpowiedzi (58)
- Warsztaty (58)
- Quiz (58)
- Odpowiedzi (58)
- Ćwiczenie (59)
Lekcja 3. Modele, materiały i tekstury (61)
- Podstawy modeli (62)
- Wbudowane obiekty 3D (63)
- Importowanie modeli (63)
- Modele i sklep Asset Store (65)
- Tekstury, shadery i materiały (66)
- Tekstury (67)
- Shadery (68)
- Materiały (68)
- Powracamy do shaderów (69)
- Podsumowanie (72)
- Pytania i odpowiedzi (72)
- Warsztaty (73)
- Quiz (73)
- Odpowiedzi (73)
- Ćwiczenie (73)
Lekcja 4. Teren (75)
- Generowanie terenu (76)
- Dodanie terenu do projektu (76)
- Rzeźbienie mapy wysokości (77)
- Narzędzia do rzeźbienia terenu oferowane przez Unity (80)
- Tekstury terenu (83)
- Importowanie zasobów terenu (83)
- Teksturowanie terenu (83)
- Podsumowanie (85)
- Pytania i odpowiedzi (86)
- Warsztaty (86)
- Quiz (87)
- Odpowiedzi (87)
- Ćwiczenie (87)
Lekcja 5. Środowisko (89)
- Generowanie drzew i trawy (90)
- Malowanie drzewami (90)
- Malowanie trawą (92)
- Ustawienia terenu (94)
- Efekty środowiska (95)
- Symulacja nieba i horyzontu (96)
- Mgła (98)
- Efekt Lens Flare (99)
- Woda (99)
- Kontroler postaci (101)
- Dodanie kontrolera postaci (101)
- Naprawa świata (101)
- Podsumowanie (103)
- Pytania i odpowiedzi (103)
- Warsztaty (103)
- Quiz (103)
- Odpowiedzi (104)
- Ćwiczenie (104)
Lekcja 6. Światła i kamery (105)
- Światło (106)
- Światło punktowe (106)
- Światło kierunkowe (109)
- Tworzenie światła z dowolnego obiektu (110)
- Aureola (111)
- Cookies (112)
- Kamera (114)
- Anatomia kamery (114)
- Wiele kamer (116)
- Podział ekranu oraz funkcja PiP (116)
- Warstwy (117)
- Praca z warstwami (118)
- Użycie warstw (120)
- Podsumowanie (121)
- Pytania i odpowiedzi (123)
- Warsztaty (123)
- Quiz (123)
- Odpowiedzi (123)
- Ćwiczenie (123)
Lekcja 7. Pierwsza gra - Amazing Racer (125)
- Faza projektowania (126)
- Koncepcja (126)
- Reguły (126)
- Wymagania (127)
- Budowanie świata gry (128)
- Rzeźbienie terenu (129)
- Dodanie elementów do środowiska (129)
- Kontroler postaci (130)
- Gamifikacja (131)
- Dodanie obiektów kontrolujących grę (131)
- Dodanie skryptów (133)
- Połączenie skryptów (134)
- Testowanie gry (136)
- Podsumowanie (138)
- Pytania i odpowiedzi (138)
- Warsztaty (138)
- Quiz (139)
- Odpowiedzi (139)
- Ćwiczenie (139)
Lekcja 8. Skrypty - część 1. (141)
- Skrypty (142)
- Tworzenie skryptów (142)
- Dołączanie skryptu (142)
- Anatomia prostego skryptu (145)
- Zmienne (147)
- Tworzenie zmiennej (148)
- Zasięg zmiennej (148)
- Zmienne publiczne i prywatne (150)
- Operatory (151)
- Operatory arytmetyczne (151)
- Operatory przypisania (152)
- Operatory równości (152)
- Operatory logiczne (153)
- Konstrukcje warunkowe (153)
- Konstrukcja if (154)
- Konstrukcja if-else (155)
- Konstrukcja if-else if (156)
- Iteracja (157)
- Pętla while (157)
- Pętla for (158)
- Podsumowanie (159)
- Pytania i odpowiedzi (159)
- Warsztaty (159)
- Quiz (160)
- Odpowiedzi (160)
- Ćwiczenie (160)
Lekcja 9. Skrypty - część 2. (161)
- Metody (162)
- Anatomia metody (162)
- Tworzenie metody (163)
- Dane wejściowe (167)
- Podstawy danych wejściowych (167)
- Skrypty przeznaczone do obsługi danych wejściowych (168)
- Dane wejściowe z określonych klawiszy (169)
- Dane wejściowe myszy (170)
- Uzyskanie dostępu do komponentów lokalnych (172)
- Uzyskanie dostępu do innych obiektów (172)
- Wyszukanie innych obiektów (173)
- Modyfikacja komponentów obiektu (175)
- Podsumowanie (176)
- Pytania i odpowiedzi (176)
- Warsztaty (177)
- Quiz (177)
- Odpowiedzi (177)
- Ćwiczenie (178)
Lekcja 10. Kolizje (179)
- Bryły sztywne (180)
- Kolizje (182)
- Komponent Collider (182)
- Materiały fizyczne (184)
- Wyzwalacze (185)
- Raycasting (187)
- Podsumowanie (189)
- Pytania i odpowiedzi (189)
- Warsztaty (190)
- Quiz (191)
- Odpowiedzi (191)
- Ćwiczenie (191)
Lekcja 11. Druga gra - Chaos Ball (193)
- Faza projektowania (194)
- Koncepcja (194)
- Reguły (194)
- Wymagania (194)
- Arena (195)
- Utworzenie areny (195)
- Teksturowanie (196)
- Materiał zapewniający rewelacyjne odbijanie się obiektu (197)
- Zakończenie prac nad areną (199)
- Elementy gry (199)
- Gracz (199)
- Kula chaos ball (200)
- Kolorowe kule (202)
- Obiekty kontrolne (203)
- Cele (203)
- Kontroler gry (205)
- Usprawnienie gry (207)
- Podsumowanie (208)
- Pytania i odpowiedzi (208)
- Warsztaty (208)
- Quiz (208)
- Odpowiedzi (209)
- Ćwiczenie (209)
Lekcja 12. Prefabrykaty (211)
- Podstawy prefabrykatów (212)
- Terminologia związana z prefabrykatami (212)
- Struktura prefabrykatu (213)
- Praca z prefabrykatami (214)
- Dodanie do sceny egzemplarza prefabrykatu (216)
- Dziedziczenie (217)
- Zerwanie połączenia z zasobem prefabrykatu (219)
- Tworzenie egzemplarza prefabrykatu w kodzie (220)
- Podsumowanie (220)
- Pytania i odpowiedzi (221)
- Warsztaty (221)
- Quiz (221)
- Odpowiedzi (221)
- Ćwiczenie (222)
Lekcja 13. Graficzny interfejs użytkownika (225)
- Podstawy GUI (226)
- Kontrolki GUI (227)
- Etykieta (228)
- Pole (229)
- Przycisk (229)
- Przycisk powtarzający (230)
- Pole wyboru (230)
- Pasek narzędziowy (231)
- Pole tekstowe (232)
- Obszar tekstu (233)
- Suwaki (233)
- Dostosowanie kontrolki do własnych potrzeb (234)
- Style GUI (234)
- Skórki GUI (235)
- Podsumowanie (239)
- Pytania i odpowiedzi (239)
- Warsztaty (240)
- Quiz (240)
- Odpowiedzi (240)
- Ćwiczenie (240)
Lekcja 14. Sterowanie postaciami (243)
- Kontroler postaci (244)
- Dodanie kontrolera postaci (244)
- Właściwości kontrolera postaci (245)
- Skrypty dla kontrolerów postaci (245)
- Praca z kontrolerem za pomocą skryptów (246)
- Zmienna typu CollisionFlags (249)
- Kolizje (250)
- Tworzenie kontrolera postaci (250)
- Konfiguracja podstawowa (251)
- Obsługa ruchu (252)
- Grawitacja (253)
- Skoki (253)
- Popychanie obiektów (254)
- Pełny kod skryptu (255)
- Podsumowanie (256)
- Pytania i odpowiedzi (256)
- Warsztaty (256)
- Quiz (256)
- Odpowiedzi (257)
- Ćwiczenie (257)
Lekcja 15. Trzecia gra - Captain Blaster (259)
- Faza projektowania (260)
- Koncepcja (260)
- Reguły (260)
- Wymagania (260)
- Świat (261)
- Kamera (261)
- Tło (261)
- Elementy gry (263)
- Gracz (263)
- Meteory (264)
- Pociski (265)
- Wyzwalacze (265)
- Obiekty kontrolne (266)
- Kontroler gry (266)
- Skrypt meteoru (267)
- Tworzenie meteorów (268)
- Skrypt wyzwalacza (269)
- Skrypt gracza (270)
- Skrypt pocisku (272)
- Usprawnienie gry (273)
- Podsumowanie (274)
- Pytania i odpowiedzi (274)
- Warsztaty (275)
- Quiz (275)
- Odpowiedzi (275)
- Ćwiczenie (276)
Lekcja 16. Systemy cząsteczek (277)
- Systemy cząsteczek (278)
- Cząsteczki (278)
- Systemy cząsteczek w Unity (278)
- Kontrolki systemu cząsteczek (278)
- Moduły systemu cząsteczek (280)
- Moduł domyślny (280)
- Moduł Emission (281)
- Moduł Shape (281)
- Moduł Velocity over Lifetime (283)
- Moduł Limit Velocity over Lifetime (283)
- Moduł Force over Lifetime (284)
- Moduł Color over Lifetime (284)
- Moduł Color by Speed (284)
- Moduł Size over Lifetime (284)
- Moduł Size by Speed (285)
- Moduł Rotation over Lifetime (285)
- Moduł Rotation by Speed (285)
- Moduł External Forces (285)
- Moduł Collision (285)
- Moduł Sub Emitter (288)
- Moduł Texture Sheet (288)
- Moduł Renderer (289)
- Edytor krzywych (290)
- Podsumowanie (290)
- Pytania i odpowiedzi (291)
- Warsztaty (291)
- Quiz (292)
- Odpowiedzi (292)
- Ćwiczenie (292)
LekcjA 17. Animacje (293)
- Podstawy animacji (294)
- Przygotowanie modelu (294)
- Animacja (295)
- Przygotowanie modelu do animacji (295)
- Model (297)
- Zasoby animacji (298)
- Stosowanie animacji (299)
- Dodawanie animacji (300)
- Właściwość Wrap Mode (301)
- Skrypty i animacje (301)
- Podsumowanie (303)
- Pytania i odpowiedzi (303)
- Warsztaty (304)
- Quiz (305)
- Odpowiedzi (305)
- Ćwiczenie (305)
Lekcja 18. Animator (307)
- Podstawy zasobu Animator (308)
- Rigging modeli (308)
- Czerwony rigging śmierci (309)
- Przygotowanie animacji (311)
- Utworzenie animatora (316)
- Panel Animator (317)
- Animacja Idle (317)
- Parametry (318)
- Stan i tzw. drzewo Blend Tree (319)
- Przejścia (320)
- Obsługa animacji za pomocą skryptów (322)
- Podsumowanie (322)
- Pytania i odpowiedzi (323)
- Warsztaty (323)
- Quiz (324)
- Odpowiedzi (324)
- Ćwiczenie (324)
Lekcja 19. Czwarta gra - Gauntlet Runner (325)
- Faza projektowania (326)
- Koncepcja (326)
- Reguły (326)
- Wymagania (326)
- Świat (327)
- Scena (327)
- Droga (327)
- Przewijanie drogi (328)
- Elementy gry (328)
- Dodatkowa energia (329)
- Przeszkody (330)
- Strefa wyzwalacza (330)
- Obiekt gracza (331)
- Obiekty kontrolne (335)
- Skrypt strefy wyzwalacza (335)
- Skrypt obiektu kontrolnego gry (335)
- Skrypt obiektu gracza (338)
- Skrypty obiektów dodatkowej energii i przeszkód (339)
- Skrypt SpawnScript (340)
- Zebranie wszystkiego w całość (341)
- Usprawnienie gry (343)
- Podsumowanie (343)
- Pytania i odpowiedzi (343)
- Warsztaty (343)
- Quiz (344)
- Odpowiedzi (344)
- Ćwiczenie (344)
Lekcja 20. Dźwięk (345)
- Podstawy dźwięku (346)
- Składniki dźwięku (346)
- Dźwięk 2D i 3D (347)
- Źródła dźwięku (347)
- Import klipów audio (348)
- Testowanie dźwięku w panelu Scene (350)
- Dźwięk 3D (350)
- Dźwięk 2D (351)
- Użycie dźwięku za pomocą skryptów (352)
- Rozpoczęcie i zatrzymanie odtwarzania dźwięku (353)
- Zmiana klipu audio (354)
- Podsumowanie (355)
- Pytania i odpowiedzi (355)
- Warsztaty (355)
- Quiz (355)
- Odpowiedzi (355)
- Ćwiczenie (356)
Lekcja 21. Programowanie na platformach mobilnych (359)
- Przygotowanie do programowania na platformach mobilnych (360)
- Konfiguracja środowiska (360)
- Aplikacja Unity Remote (362)
- Przyśpieszeniomierz (363)
- Programowanie dla przyśpieszeniomierza (364)
- Użycie przyśpieszeniomierza (365)
- Dane wejściowe pochodzące z ekranu dotykowego (366)
- Podsumowanie (366)
- Pytania i odpowiedzi (369)
- Warsztaty (369)
- Quiz (369)
- Odpowiedzi (369)
- Ćwiczenie (370)
Lekcja 22. Kolejne wersje gier (371)
- Amazing Racer (372)
- Poruszanie i rozglądanie się (372)
- Skoki (374)
- Chaos Ball (375)
- Captain Blaster (377)
- Gauntlet Runner (379)
- Podsumowanie (380)
- Pytania i odpowiedzi (381)
- Warsztaty (381)
- Quiz (381)
- Odpowiedzi (381)
- Ćwiczenie (382)
Lekcja 23. Dopracowanie i wdrożenie (383)
- Zarządzanie scenami (384)
- Ustalanie kolejności scen (384)
- Przełączanie scen (385)
- Zachowywanie danych i obiektów (387)
- Zachowywanie obiektów (387)
- Zachowywanie danych (387)
- Ustawienia Unity Player (390)
- Ustawienia niezależne od platformy (390)
- Ustawienia dla poszczególnych platform (390)
- Kompilacja gry (391)
- Okno Build Settings (392)
- Okno Game Settings (393)
- Podsumowanie (395)
- Pytania i odpowiedzi (395)
- Warsztaty (395)
- Quiz (395)
- Odpowiedzi (395)
- Ćwiczenie (396)
Lekcja 24. Zakończenie (397)
- Osiągnięcia (398)
- 19 lekcji nauki (398)
- 4 pełne gry (399)
- 58 scen (400)
- Co dalej? (400)
- Buduj gry (401)
- Współpracuj z innymi (401)
- Pisz o tym (401)
- Dostępne zasoby (402)
- Podsumowanie (402)
- Pytania i odpowiedzi (402)
- Warsztaty (403)
- Quiz (403)
- Odpowiedzi (403)
- Ćwiczenie (403)
Skorowidz (405)
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-0022-4 |
Rozmiar pliku: | 9,7 MB |