E-book details

Projektowanie gier w środowisku Unity 3.x

Projektowanie gier w środowisku Unity 3.x

Will Goldstone

Ebook

Stwórz w pełni funkcjonalne i profesjonalne gry 3D!

Silniki gier, takie jak Unity, są znanymi, cenionymi, a przede wszystkim potężnymi narzędziami ułatwiającymi tworzenie gier. Środowisko Unity jest jednym z najczęściej używanych oraz najbardziej cenionych pakietów, pozwalających na projektowanie gier komputerowych. Może ono być wykorzystywane przez bardzo różnych użytkowników, poczynając od hobbystów, a kończąc na dużych firmach. Pozwala tworzyć gry oraz interaktywne aplikacje dla przeglądarek internetowych, komputerów stacjonarnych, urządzeń przenośnych czy konsol. Dzięki intuicyjnemu i prostemu w obsłudze zestawowi narzędzi Unity oraz niniejszej książce także i Ty możesz stać się twórcą gier komputerowych.

Jeżeli jesteś projektantem gier lub masz dobry pomysł na grę, który chciałbyś wcielić w życie, z pomocą przyjdzie Ci ta książka. Dzięki niej błyskawicznie przygotujesz prototyp lub nawet całościowe rozwiązanie! W trakcie lektury nauczysz się projektować gry z wykorzystaniem silnika Unity 3, skryptów w języku C# oraz JavaScriptu. Niezwykle istotne jest to, że książka da Ci solidne podstawy w zakresie rozumienia kluczowych koncepcji związanych z projektowaniem gier - od fizyki świata gry aż do systemu cząstek. Ponadto dowiesz się, jak zapewnić najwyższą wydajność Twoim rozwiązaniom, budować interakcje oraz dzielić się z graczami gotowym rozwiązaniem. Żeby zacząć przygodę z tworzeniem gier, nie musisz posiadać żadnej specjalistycznej wiedzy, wystarczy Ci tylko ta książka! Brzmi kusząco? Spróbuj sam!

Sięgnij po tę książkę, a następnie:

  • zaprojektuj własną grę komputerową
  • zrealizuj projekt i podziel się efektami ze znajomymi
  • spełnij swoje marzenia oraz zwizualizuj najlepsze pomysły wirtualnych światów
  • zapewnij najwyższą wydajność Twojej grze

Tylko krok dzieli Cię od własnej gry komputerowej!

Przedmowa (9)

O autorze (11)

O recenzentach (12)

Wstęp (15)

Rozdział 1. Odkryj trzeci wymiar (21)

  • Zapoznanie się z podstawami grafiki 3D (21)
    • Współrzędne (22)
    • Przestrzeń modelu i przestrzeń świata (22)
    • Wektory (23)
    • Kamery (24)
    • Wielokąty, krawędzie, wierzchołki i siatki (25)
    • Materiały, tekstury i procedury cieniowania (28)
  • Fizyka bryły sztywnej (29)
    • Wykrywanie kolizji (29)
  • Podstawowe pojęcia związane ze środowiskiem Unity (30)
    • Metoda Unity - przykład (31)
    • Zasoby (32)
    • Sceny (32)
    • Obiekty gry (32)
    • Komponenty (33)
    • Skrypty (33)
    • Prefabrykaty (34)
  • Interfejs (35)
    • Widoki Scene i Hierarchy (36)
    • Panel Inspector (38)
    • Okno Project (39)
    • Widok Game (40)
  • Podsumowanie (40)

Rozdział 2. Podstawy tworzenia prototypów i skryptów (43)

  • Twój pierwszy projekt w środowisku Unity (44)
  • Podstawowe środowisko prototypowe (45)
    • Definiowanie sceny (46)
    • Dodawanie prostego oświetlenia (47)
    • Kolejna cegła w ścianie (48)
    • Zbuduj i zniszcz! (52)
  • Wprowadzenie do tworzenia skryptów (53)
    • Nowy skrypt definiujący zachowanie lub klasę (53)
    • Jak wygląda od środka działanie skryptu w języku C#? (54)
    • Jak wygląda od środka działanie skryptu w języku JavaScript? (56)
    • Atakowanie ściany (57)
    • Deklarowanie zmiennych publicznych (58)
  • Zrozumienie zasady działania polecenia Translate (62)
    • Implementacja funkcji Translate (63)
  • Testujemy bieżącą wersję gry (64)
    • Tworzenie pocisku (65)
  • Przechowywanie obiektów jako prefabrykatów (67)
    • Wystrzelenie pocisku (68)
  • Użycie funkcji Instantiate() do konkretyzowania obiektów (68)
    • Przyłożenie wektora siły do bryły sztywnej (69)
  • Podsumowanie (71)

Rozdział 3. Tworzenie środowiska (73)

  • Projektowanie gry (73)
  • Użycie edytora terenu (75)
    • Opcje menu terenu (76)
    • Narzędzie edycji terenu (78)
    • Tworzenie wyspy - słońce, morze i piasek (83)
  • Podsumowanie (101)

Rozdział 4. Postacie w grze i dalsze wykorzystanie skryptów (103)

  • Użycie panelu Inspector (104)
    • Znaczniki (105)
    • Warstwy (106)
    • Prefabrykaty i panel Inspector (106)
  • Anatomia postaci (107)
  • Dekonstrukcja obiektu First Person Controller (107)
    • Relacje między obiektami nadrzędnymi i podrzędnymi (109)
    • Obiekt First Person Controller (109)
  • Dalsze wykorzystanie skryptów (119)
    • Polecenia (119)
    • Zmienne (120)
  • Kompletny przykład (123)
    • Funkcje (123)
    • Tworzenie własnych funkcji (125)
    • Deklarowanie własnej funkcji (127)
    • Polecenie if else (129)
    • Warunki wielokrotne (131)
  • Komunikacja międzyskryptowa oraz składnia z kropką (133)
    • Dostęp do innych obiektów (133)
    • Find() i FindWithTag() (133)
    • SendMessage() (134)
    • GetComponent (135)
    • Komentarze (138)
  • Skrypt wykonujący operację poruszania postacią (139)
    • Analiza skryptu (139)
    • Deklaracje zmiennych (140)
  • Podsumowanie (145)

Rozdział 5. Interakcje (147)

  • Zewnętrzne aplikacje modelujące (147)
    • Ogólne ustawienia modeli (148)
    • Meshes (148)
    • Normals and Tangents (149)
    • Materials (150)
    • Animations (150)
    • Animation Compression (151)
  • Definiowanie modelu placówki (151)
  • Dodawanie placówki (152)
    • Ustalenie położenia (153)
    • Obrót (153)
    • Dodanie zderzaczy (154)
    • Dodanie komponentu Rigidbody (156)
    • Dodanie dźwięku (156)
    • Wyłączenie automatycznej animacji (156)
  • Kolizje i wyzwalacze (157)
  • Rzucanie promieni (160)
    • Zgubienie klatki (161)
    • Wykrywanie zderzenia z przewidywaniem (162)
  • Otwieranie drzwi placówki (163)
    • Metoda 1. Wykrywanie kolizji (164)
    • Metoda 2. Rzucanie promieni (179)
    • Metoda 3. Wykrywanie kolizji wyzwalającej (185)
  • Podsumowanie (189)

Rozdział 6. Kolekcja, inwentarz i HUD (191)

  • Tworzenie prefabrykatu ogniwa energetycznego (194)
    • Pobieranie, importowanie i umieszczanie (194)
    • Identyfikacja ogniwa energetycznego (195)
    • Skalowanie i obrót zderzacza (195)
    • Dodawanie komponentu Rigidbody (196)
    • Tworzenie skryptu dla ogniwa energetycznego (197)
    • Dodawanie opcji wyzwalającego wykrywania kolizji (198)
    • Zapisywanie obiektu w postaci prefabrykatu (199)
  • Rozrzucanie ogniw energetycznych (200)
  • Inwentarz gracza (200)
    • Zapamiętywanie poziomu zasilania (201)
    • Dodawanie funkcji CellPickup() (202)
  • Ograniczenie dostępu do placówki (204)
    • Ograniczenie dostępu do drzwi za pomocą licznika ogniw (204)
  • Wyświetlacz HUD dla ogniwa energetycznego (205)
    • Importowanie ustawień tekstur GUI (206)
    • Tworzenie obiektu GUITexture (206)
    • Umieszczanie tekstury PowerGUI (208)
    • Skrypt do podmiany tekstury (208)
    • Tablice (209)
    • Poinformowanie o otwarciu drzwi (217)
  • Wskazówki dla gracza (221)
    • Pisanie na ekranie za pomocą komponentu GUIText (221)
  • Podsumowanie (227)

Rozdział 7. Konkretyzowanie obiektów i bryły sztywne (229)

  • Wykorzystywanie konkretyzacji (230)
  • Bryły sztywne (231)
    • Siły (232)
    • Komponent Rigidbody (232)
  • Tworzenie minigry (233)
    • Tworzenie prefabrykatu orzecha kokosowego (234)
    • Tworzenie obiektu Launcher (236)
    • Skrypt obsługujący rzucanie orzechami kokosowymi (238)
    • Końcowe procedury sprawdzające (247)
    • Ograniczenia konkretyzacji oraz usuwanie obiektów (248)
    • Dodawanie pomieszczenia przeznaczonego do rzucania kokosami (251)
    • Wygrywanie gry (266)
    • Końcowe usprawnienia (271)
  • Podsumowanie (274)

Rozdział 8. Systemy cząstek (277)

  • Co to jest system cząstek? (277)
    • Particle Emitter (278)
    • Particle Animator (278)
    • Particle Renderer (279)
  • Definiowanie zadania (280)
    • Użyte zasoby (280)
    • Tworzenie sterty gałęzi (281)
    • Tworzenie systemów cząstek dla ogniska (283)
    • Rozpalanie ognia (292)
  • Testowanie i weryfikacja działania (302)
    • A więc jaki mamy problem? (303)
  • Podsumowanie (305)

Rozdział 9. Projektowanie menu (307)

  • Interfejsy i menu (308)
    • Tworzenie sceny (310)
  • Tworzenie menu za pomocą obiektów GUITexture i zdarzeń myszy (315)
    • Dodawanie przycisku uruchamiania gry (315)
    • Skrypt obsługujący przycisk klasy GUITexture (315)
    • Wczytywanie scen (318)
    • Przypisywanie zmiennych publicznych (319)
    • Testowanie przycisku (320)
    • Dodawanie przycisku wyświetlającego instrukcje (321)
    • Dodawanie przycisku zakończenia gry (321)
    • Testowanie skryptów przy użyciu poleceń debugowania (324)
  • Tworzenie menu za pomocą klasy GUI środowiska Unity oraz kompozycji graficznych (326)
    • Wyłączanie obiektów gry (326)
    • Tworzenie menu (326)
  • Podsumowanie (349)

Rozdział 10. Podstawy animacji (351)

  • Sekwencja animacji po wygraniu gry (351)
    • Metoda tworzenia sekwencji animacji (352)
    • Uruchamianie sekwencji wygrania gry (354)
    • Tworzenie komunikatów informujących o wygraniu gry (354)
    • Animowanie przy użyciu interpolacji liniowej (356)
    • Tworzenie obiektu obsługującego sekwencję zwycięstwa (358)
    • Tworzenie skryptu wygaszania ekranu i użycie panelu Animation (360)
    • Wczytywanie sekwencji wygrania gry (372)
    • Umieszczanie obiektów GUITexture w warstwach (373)
    • Wyzwanie - zmiana koloru ekranu w scenie Island (374)
  • Podsumowanie (374)

Rozdział 11. Poprawa wydajności i końcowe modyfikacje (375)

  • Ulepszenie terenu i zdefiniowanie położenia początkowego gracza (376)
    • Ulepszanie terenu (376)
    • Modyfikacja wzgórz i dolin oraz zastosowanie techniki przenikania tekstur (377)
    • Zdefiniowanie właściwej ścieżki (378)
  • Początkowa lokalizacja postaci gracza (379)
  • Optymalizacja wydajności (380)
    • Płaszczyzny odcinające i mgła (380)
    • Odwzorowywanie światła (381)
  • Końcowe upiększenia (391)
    • Wulkan! (391)
    • Trajektorie lotu orzechów kokosowych (397)
  • Podsumowanie (400)

Rozdział 12. Budowanie i udostępnianie (401)

  • Opcje budowania (402)
    • Web Player (402)
    • Aplikacje samodzielne dla komputerów PC i Mac (404)
    • Widget aplikacji Dashboard dla OS X (404)
  • Ustawienia budowania (405)
  • Ustawienia gracza (406)
    • Ustawienia Cross-Platform Settings (406)
    • Ustawienia Per-Platform Settings (407)
  • Ustawienia jakości (411)
  • Ustawienia wejść dla gracza (413)
  • Budowanie gry (414)
    • Przystosowanie do wersji sieciowej (414)
    • Pierwsza kompilacja (421)
    • Budowanie dla sieci (423)
  • Udostępnianie swoich prac (428)
    • Udostępnianie prac na portalu Kongregate.com (428)
  • Podsumowanie (429)

Rozdział 13. Testy i dalsze zdobywanie wiedzy (431)

  • Nauka poprzez działanie (432)
  • Testowanie i finalizowanie (432)
    • Wykorzystanie użytkowników do testowania (433)
  • Sposoby zdobywania wiedzy (437)
    • Studiuj różne zagadnienia (437)
    • Nie odkrywaj koła na nowo (438)
    • Jeśli czegoś nie wiesz, pytaj! (438)
  • Podsumowanie (439)

Słowniczek (441)

  • Title: Projektowanie gier w środowisku Unity 3.x
  • Author: Will Goldstone
  • Original title: Unity 3.x Game Development Essentials
  • Translation: Jacek Janusz
  • ISBN: 978-83-246-6761-1, 9788324667611
  • Date of issue: 2012-12-05
  • Format: Ebook
  • Item ID: prgun3
  • Publisher: Helion