Projektowanie gier w środowisku Unity 3.x / Will Goldstone

Transkrypt

Projektowanie gier w środowisku Unity 3.x / Will Goldstone
Projektowanie gier w środowisku Unity 3.x / Will Goldstone. – Gliwice,
cop. 2013
Spis treści
Przedmowa
9
O autorze
11
O recenzentach
12
Wstęp
15
Rozdział 1. Odkryj trzeci wymiar
Zapoznanie się z podstawami grafiki 3D
Współrzędne
Przestrzeń modelu i przestrzeń świata
Wektory
Kamery
Wielokąty, krawędzie, wierzchołki i siatki
Materiały, tekstury i procedury cieniowania
Fizyka bryły sztywnej
Wykrywanie kolizji
Podstawowe pojęcia związane ze środowiskiem Unity
Metoda Unity — przykład
Zasoby
Sceny
Obiekty gry
Komponenty
Skrypty
Prefabrykaty
Interfejs
Widoki Scene i Hierarchy
Panel Inspector
Okno Project
Widok Game
Podsumowanie
21
21
22
22
23
24
25
28
29
29
30
31
32
32
32
33
33
34
35
36
38
39
40
40
Rozdział 2. Podstawy tworzenia prototypów i skryptów
Twój pierwszy projekt w środowisku Unity
Podstawowe środowisko prototypowe
Definiowanie sceny
Dodawanie prostego oświetlenia
43
44
45
46
47
Kolejna cegła w ścianie
Zbuduj i zniszcz!
Wprowadzenie do tworzenia skryptów
Nowy skrypt definiujący zachowanie lub klasę
Jak wygląda od środka działanie skryptu w języku C#?
Jak wygląda od środka działanie skryptu w języku JavaScript?
Atakowanie ściany
Deklarowanie zmiennych publicznych
Zrozumienie zasady działania polecenia Translate
Implementacja funkcji Translate
Testujemy bieŜącą wersję gry
Tworzenie pocisku
Przechowywanie obiektów jako prefabrykatów
Wystrzelenie pocisku
UŜycie funkcji Instantiate () do konkretyzowania obiektów
PrzyłoŜenie wektora siły do bryły sztywnej
Podsumowanie
48
52
53
53
54
56
57
58
62
63
64
65
67
68
68
69
71
Rozdział 3. Tworzenie środowiska
Projektowanie gry
UŜycie edytora terenu
Opcje menu terenu
Narzędzie edycji terenu
Tworzenie wyspy — słońce, morze i piasek
Podsumowanie
73
73
75
76
78
83
101
Rozdział 4. Postacie w grze i dalsze wykorzystanie skryptów
UŜycie panelu Inspector
Znaczniki
Warstwy
Prefabrykaty i panel Inspector
Anatomia postaci
Dekonstrukcja obiektu First Person Controller
Relacje między obiektami nadrzędnymi i podrzędnymi
Obiekt First Person Controller
Dalsze wykorzystanie skryptów
Polecenia
Zmienne
Kompletny przykład
Funkcje
Tworzenie własnych funkcji
Deklarowanie własnej funkcji
Polecenie if else
Warunki wielokrotne
Komunikacja międzyskryptowa oraz składnia z kropką
103
104
105
106
106
107
107
109
109
119
119
120
123
123
125
127
129
131
133
Dostęp do innych obiektów
Find() i FindWithTag()
SendMessage()
GetComponent
Komentarze
Skrypt wykonujący operację poruszania postacią
Analiza skryptu
Deklaracje zmiennych
Podsumowanie
133
133
134
135
138
139
139
140
145
Rozdział 5. Interakcje
Zewnętrzne aplikacje modelujące
Ogólne ustawienia modeli
Meshes
Normals and Tangents
Materials
Animations
Animation Compression
Definiowanie modelu placówki
Dodawanie placówki
Ustalenie połoŜenia
Obrót
Dodanie zderzaczy
Dodanie komponentu Rigidbody
Dodanie dźwięku
Wyłączenie automatycznej animacji
Kolizje i wyzwalacze
Rzucanie promieni
Zgubienie klatki
Wykrywanie zderzenia z przewidywaniem
Otwieranie drzwi placówki
Metoda 1. Wykrywanie kolizji
Metoda 2. Rzucanie promieni
Metoda 3. Wykrywanie kolizji wyzwalającej
Podsumowanie
147
147
148
148
149
150
150
151
151
152
153
153
154
156
156
156
157
160
161
162
163
164
179
185
189
Rozdział 6. Kolekcja, inwentarz i HUD
Tworzenie prefabrykatu ogniwa energetycznego
Pobieranie, importowanie i umieszczanie
Identyfikacja ogniwa energetycznego
Skalowanie i obrót zderzacza
Dodawanie komponentu Rigidbody
Tworzenie skryptu dla ogniwa energetycznego
Dodawanie opcji wyzwalającego wykrywania kolizji
Zapisywanie obiektu w postaci prefabrykatu
191
194
194
195
195
196
197
198
199
Rozrzucanie ogniw energetycznych
Inwentarz gracza
Zapamiętywanie poziomu zasilania
Dodawanie funkcji CellPickup()
Ograniczenie dostępu do placówki
Ograniczenie dostępu do drzwi za pomocą licznika ogniw
Wyświetlacz HUD dla ogniwa energetycznego
Importowanie ustawień tekstur GUI
Tworzenie obiektu GUITexture
Umieszczanie tekstury PowerGUI
Skrypt do podmiany tekstury
Tablice
Poinformowanie o otwarciu drzwi
Wskazówki dla gracza
Pisanie na ekranie za pomocą komponentu GUIText
Podsumowanie
200
200
201
202
204
204
205
206
206
208
208
209
217
221
221
227
Rozdział 7. Konkretyzowanie obiektów i bryły sztywne
Wykorzystywanie konkretyzacji
Bryły sztywne
Siły
Komponent Rigidbody
Tworzenie minigry
Tworzenie prefabrykatu orzecha kokosowego
Tworzenie obiektu Launcher
Skrypt obsługujący rzucanie orzechami kokosowymi
Końcowe procedury sprawdzające
Ograniczenia konkretyzacji oraz usuwanie obiektów
Dodawanie pomieszczenia przeznaczonego do rzucania kokosami
Wygrywanie gry
Końcowe usprawnienia
Podsumowanie
229
230
231
232
232
233
234
236
238
247
248
251
266
271
274
Rozdział 8. Systemy cząstek
Co to jest system cząstek?
Particle Emitter
Particle Animator
Particle Renderer
Definiowanie zadania
UŜyte zasoby
Tworzenie sterty gałęzi
Tworzenie systemów cząstek dla ogniska
Rozpalanie ognia
Testowanie i weryfikacja działania
A więc jaki mamy problem?
277
277
278
278
279
280
280
281
283
292
302
303
Podsumowanie
305
Rozdział 9. Projektowanie menu
Interfejsy i menu
Tworzenie sceny
Tworzenie menu za pomocą obiektów GUITexture i zdarzeń myszy
Dodawanie przycisku uruchamiania gry
Skrypt obsługujący przycisk klasy GUITexture
Wczytywanie scen
Przypisywanie zmiennych publicznych
Testowanie przycisku
Dodawanie przycisku wyświetlającego instrukcje
Dodawanie przycisku zakończenia gry
Testowanie skryptów przy uŜyciu poleceń debugowania
Tworzenie menu za pomocą klasy GUI środowiska Unity oraz kompozycji
graficznych
Wyłączanie obiektów gry
Tworzenie menu
Podsumowanie
307
308
310
315
315
315
318
319
320
321
321
324
Rozdział 10. Podstawy animacji
Sekwencja animacji po wygraniu gry
Metoda tworzenia sekwencji animacji
Uruchamianie sekwencji wygrania gry
Tworzenie komunikatów informujących o wygraniu gry
Animowanie przy uŜyciu interpolacji liniowej
Tworzenie obiektu obsługującego sekwencję zwycięstwa
Tworzenie skryptu wygaszania ekranu i uŜycie panelu Animation
Wczytywanie sekwencji wygrania gry
Umieszczanie obiektów GUITexture w warstwach
Wyzwanie — zmiana koloru ekranu w scenie Island
Podsumowanie
351
351
352
354
354
356
358
360
372
373
374
374
Rozdział 11. Poprawa wydajności i końcowe modyfikacje
Ulepszenie terenu i zdefiniowanie połoŜenia początkowego gracza
Ulepszanie terenu
Modyfikacja wzgórz i dolin oraz zastosowanie techniki przenikania tekstur
Zdefiniowanie właściwej ścieŜki
Początkowa lokalizacja postaci gracza
Optymalizacja wydajności
Płaszczyzny odcinające i mgła
Odwzorowywanie światła
Końcowe upiększenia
Wulkan!
Trajektorie lotu orzechów kokosowych
375
376
376
377
378
379
380
380
381
391
391
397
326
326
326
349
Podsumowanie
400
Rozdział 12. Budowanie i udostępnianie
Opcje budowania
Web Player
Aplikacje samodzielne dla komputerów PC i Mac
Widget aplikacji Dashboard dla OS X
Ustawienia budowania
Ustawienia gracza
Ustawienia Cross-Platform Settings
Ustawienia Per-Platform Settings
Ustawienia jakości
Ustawienia wejść dla gracza
Budowanie gry
Przystosowanie do wersji sieciowej
Pierwsza kompilacja
Budowanie dla sieci
Udostępnianie swoich prac
Udostępnianie prac na portalu Kongregate.com
Podsumowanie
401
402
402
404
404
405
406
406
407
411
413
414
414
421
423
428
428
429
Rozdział 13. Testy i dalsze zdobywanie wiedzy
Nauka poprzez działanie
Testowanie i finalizowanie
Wykorzystanie uŜytkowników do testowania
Sposoby zdobywania wiedzy
Studiuj róŜne zagadnienia
Nie odkrywaj koła na nowo
Jeśli czegoś nie wiesz, pytaj!
Podsumowanie
431
432
432
433
437
437
438
438
439
Słowniczek
441
oprac. BPK

Podobne dokumenty