Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław...
Transcript of Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław...
Tworzenie gier na urządzenia mobilne
dr Przemysław Juszczuk
Katedra Inżynierii Wiedzy
Wykład 2
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Wprowadzenie do silników gier
Scena, kamera i oświetlenie
Prototypowanie i rzeźba terenu
Programowanie zdarzeniowe w C#
GUI
Interakcje w grze
Gry 2D a 3D
Fizyka i efekty
Pliki XML i trwałość danych
Systemy cząstek
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
O czym dzisiaj?
Nowe projekty w Unity 3D;Podstawy dotyczące interfejsu;Praca kamery i skróty klawiszowe;Czym jest scena i jej podstawowe komponenty;Budowa prostej sceny;Elementy oświetlenia;Widok na scenę.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Pierwsze kroki
założenie własnego konta Unity;pierwszy projekt i katalog domyślny;2D a 3D;paczki asetów (prototypowanie, kamery, efekty i inne);
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Rysunek: Unity widok ogólny
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Elementy GUI - Hierarchy
Okno Hierarchy - elementy na scenie (od kamery i oświetlenia,poprzez podłogę, ściany sceny, obiekt gracza, przeciwników inneobiekty typu GameObject);Pomiędzy obiektami w Hierarchy można ustawić relacje:równorzędne, nadrzędne względem danego obiektu (np. Obiektnadrzędny - budynek, obiekty podrzędne: sciany, sufit, podłoga);Możliwość utworzenia obiektu pustego, który może przechowywaćinne obiekty typu GameObject;
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Elementy GUI - Assets
Okno zawierające elementy dołączone do projektu;Zaimportowane elementy dodatkowe (np. paczkę doprototypowania), lub elementy płatne zakupione w Asset Store;W przypadku gier wielopoziomowych w oknie Assets znajdą sięwszystkie stworzone sceny (sceny = poziomy);Dla programowania zdarzeniowego i skryptów stworzonych napotrzeby gry w oknie Assets przechowywane są także skrypty wwybranym języku;Należy pamiętać o odpowiedniej strukturze folderów, np. skryptytrzymamy w katalogu scripts, który to może zawierać dalszepodkatalogi.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Rysunek: Unity widok ogólny - Inspector
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Elementy GUI - Inspector
informacje i możliwości konfiguracji zaznaczonego obiektu;położenie danego obiektu w przestrzeni, jego obrót i skala;dodanie komponentu RigidBody dla postaci;dodanie skryptu;dodanie tekstury dla danego obiektu.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Elementy GUI - scena
elementy widoczne na scenie pokazane są też w oknie Hierarchy;domyślnie widoczna jest kamera oraz oświetlenie (które też sąobiektami widocznymi w oknie Hierarchy);każdy obiekt dodany do sceny widoczny jest w oknie Hierarchy, aleobiekty z Hierarchy trzeba dopiero ”przeciągnąć” na okno sceny;
Przydatne skróty klawiszowe związane z kamerą
alt + LPM - obrót sceną;alt + PPM - przybliżenie/oddalenie widoku;ŚPM - przesuwanie sceny;PPM - obrót kamery w miejscu (obrót wokół własnej osi);PPM + WASD - poruszanie się po scenie;ustawienie widoku wzdłuż osi X, Y lub Z - kliknięcie w odpowiednielement w prawym górnym rogu sceny;możliwość zmiany widoku na widok perspektywiczny lubizometryczny.
Ważne
Do organizacji plików używamy tylko widoku ”Project” w edytorze Unity!
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Tryby
tryb wyświetlania - tylko tekstury, siatka, siatka i tekstury;oświetlenie sceny - włączone lub wyłączone oświetlenie sceny;warstwy - elementy takie jak niebo, lub graficzny interfejsużytkownika (włączone, lub wyłączone w panelu sceny);odtwarzanie dźwięków powiązanych ze sceną.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Podstawy modeli
model a siatka - siatka jest definicją dowolnego obiektu 3D. Zawierawszystkie informacje o jego kształcie (wgłębienia i wierzchołki);model jest obiektem zawierającym siatkę, ale oprócz tego możezawierać np. teksturę. Innymi słowy: siatka zawiera tylko informacjeo wierzchołkach;każda siatka 3D składa się z trójkątów - jako najefektywniejszegoelementu składowego siatki;każda grafika 3D przetwarzana jest jako zbiór wierzchołków, zatemim mniej wierzchołków, tym szybsze przetwarzanie;trójkąt - 3 wierzchołki, ale 2 trójkąty, to tylko 4 wierzchołki;im więcej wierzchołków (trójkątów), tym model jest dokładniejszy,ale też kosztowniejszy obliczeniowo.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Rysunek: Podstawowe obiekty GameObject
Podstawowe obiekty
Cube; Sphere; Capsule; Cylinder; Plane.
GameObject - Inspector
komponent Transform - umiejscowienie w przestrzeni (pozycja),rotacja, skala;
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Dalej o obiektach - transformacje
Translacja - zmiana położenia obiektu w układzie współrzędnych 3DRotacja - zmiana relacji obiektu względem przestrzeni bez jegoprzesunięcia w tejże. Inaczej: rotacja to nowe zdefiniowanie kierunkuosi X, Y oraz Z. Uwzględnienie tylko jednej osi określane jest jakorotacja względem osi.Skalowanie - zmiana wielkości obiektu względem jednej z trzech osi.
Transformacje a obiekty zagnieżdżone
W przypadku obiektów zagnieżdżonych dowolna transformacja wpływajednocześnie na wszystkie obiekty będące potomkami aktywnego rodzica.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Dalej o obiektach - transformacje 2
Translacja - transformacja bierna, która nie powoduje modyfikacjiobiektu, a zatem jest wykonanie operacji odwrotnej do początkowejsprowadza obiekt do stanu początkowego;Rotacja - to zmiana orientacji osi lokalnego układu współrzędnych.Każda kolejna translacja powoduje przesunięcie obiektu wedługnowego układu współrzędnych;Skalowanie - zmiana siatki lokalnego układu współrzędnych, coprowadzi do wrażenia, że dany obiekt jest większy(mniejszy).Skalowanie może dotyczyć wszystkich współrzędnych jednocześnie,lub też wybranej współrzędnej. Np. dla obiektu cube skalowaniedowolnej osi i zmiana wartości tej współrzędnej na wartośćminimalną większą od zera powoduje utworzenie płaszczyzny, dlaktórej dwa wymiary mają wielkość analogiczną do cube.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Przydatne skróty klawiszowe związane z obiektami
f - focus na wybranym obiekcie;ctrl + d - duplikowanie obiektu;W - na wybranym obiekcie ustawia opcję przesuwania;E - to opcja obrotu;R - to opcja skalowania.
Obiekt dokładnie na środku sceny
W celu ustalenia położeniu obiektu dokładnie na środku sceny w oknieInspectora Transform wpisujemy wartości (0,0,0).
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Game view - widok gry
widok gry renderowany jest z użyciem kamer naniesionych na scenępodczas projektowania;Play Mode - uruchomienie grywalnej wersji (po dodaniu obsługiporuszania się możliwe będzie przemieszczanie);
Gizma
Menu pozwalające wskazać, które elementy sceny zostanąwłączone/wyłączone podczas dalszej edycji. W przypadku dużej liczbyobiektów na ekranie można np. wyłączyć wyświetlanie drzew na scenie.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Filtr wizualny i wyszukiwanie
Podczas pracy z edytorem możliwe jest wyszukanie konkretnychelementów, które dodatkowo zostaną podświetlone na scenie.
Focus na obiekcie
Pozwala na wycentrowanie widoku na wskazanym przez nas obiekcie.
Przemieszczanie obiektu
Przytrzymanie CTRL pozwala na przemieszczanie obiektu po scenie ookreśloną stałą wartość (analogicznie dla rotacji i skalowania).
Rysunek: Snap Settings
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Światło na scenie
Directional Light - światło kierunkowe (np. światło słoneczne) -powinno być skierowane nieznacznie w dół, chociaż jego położeniepowinno też zależeć od elementów na scenie. Nie powinnoznajdować się na jednej wysokości z innymi obiektami;Point Light - światło punktowe, które daje równomierne światło wewszystkich kierunkach. Jego intensywność spada wraz ze wzrostemodległości od punktu centralnego i dla pewnego promienia wynosi 0.Światło punktowe doskonale nadaje się do symulowania oświetlenialampą;Spotlight - zbliżone do światła punktowego, przy czym dlapowyższego kąt wynosi 360 stopni, natomiast dla światła Spotlightkąt ten jest ograniczony. Ograniczenie dotyczy zarówno zasięgu(promień) jak i kąta. Ten typ stosowany jest do sztucznych źródełświatła takich jak latarki, czy światła samochodu.Area Light - definowane w postaci prostokąta. Światło rozchodzi sięwe wszystkich kierunkach, ale tylko z jednego boku prostokąta.Metoda ta jest bardzo kosztowna obliczeniowo.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Mapy świetlne i wypalanie
W celu redukcji złożoności obliczeń można zastosować tak zwanemapy świetlne;Obiekt + tekstura + oświetlenie terenu == Obiekt + tekstura znałożonym oświetleniem;Proces wypalania obejmuje wykonanie obliczeń związanych zoświetleniem obiektu, a następnie zmodyfikowaniem tekstury w takisposób, aby uwzględnić oświetlenie (rozjaśnienie fragmentutekstury);Tak przygotowana tekstura w czasie gry łączona jest ze zwykłąteksturą bez oświetlenia naniesioną na obiekt - złudzenie oświetlenia;mapa świetlna sprawadza się świetnie w przypadku obiektówstatycznych (nieruchomych), ale nie w przypadku dynamicznych,kiedy nie można określić dokładnego położenia obiektu;wypalanie nawigacji - sprawdza się w przypadku postaci NPC, któremogą posiadać jedną, lub kilka ścieżek przejścia danego obszaru.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Jeszcze o kamerze
Dolly zoom - efekt, w którym obiekt wypełnia całą przestrzeń(pionowo/wertykalnie) podczas zbliżania lub oddalania się kamery;Kamera ”znad głowy” - obiekt poruszający się za graczem;efekt flary - podczas interakcji kamery ze źródłem światła.
Rysunek: Widok bliższy i dalszy - równoległe
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Środowisko modułowe a kafelkowe
modułowa budowa świata sprowadza się do tworzenia małychelementów (przestrzeni), z których budowany jest większy obszar;w przypadku grafiki 2D analogiczny mechanizm nazywa sięśrodowiskiem kafelkowym;
Środowisko modułowe - zalety
możliwość ponownego wykorzystania niektórych komponentów(prefaby i Asset Store);wydajność - przy skomplikowanych obiektach zawsze zaleca się ichpowielenia, a nie tworzenie kolejnej instancji tego samego/zblizonegoobiektu;teksturowanie - nakładanie tekstur na małe obiekty jest mniejkosztowne obliczeniowo, niż przygotowanie tekstur dla dużychobiektów/dużego terenu;możliwość równoległej pracy nad kilkoma modułami, które następniezostają połączone (każdy moduł na określony wymiar);
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Rysunek: Klocek podstawowy - wzorzec
Klocek podstawowy
klocek podstawowy jako wzorzec - nie modyfikujemy;zawsze trzymamy jego kopię zapasową (najlepiej na innej warstwie);służy do ustalenia rozmiaru innych elementów na scenie (skala).
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Scena, kamera, światła - co dalej?
Własny model - tekstura, shadery, materiały. Ewentualnie...Asset Store - zbiór gotowych elementów. Ewentualnie...Prototypowanie.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Od modelu do teksturowanego modelu
Tekstura - jest płaskim obrazem nakładanym na obiekty 3D (np. narozciągnięty i przeskalowany GameObject typu cube nałożonyzostaje obrazek ściany cegieł);Co z bardziej złożonymi modelami? - unwrap, czyli rozwinięcie siatkimodelu tak, aby uzyskać płaską mapę;
Rysunek: Prosta siatka dla cube. Źródło: blender
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Rysunek: Złożona siatka. Źródło: UnrealEngine example
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Shadery
Sposób wyświetlania powierzchni (tekstury) na modelu - czyli np.nadanie połysku albo innego oświetlenia dla danego elementu;
Przykłady w Unity 3D
Diffuse - najprostszy shader - światło rozprowadzone równomierniepo całej powierzchni obiektu;Specular - połysk obiektu, czyli efekt odbijania światła.
Materiały
Shader + tekstura.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Asset Store
gotowe tekstury;modele 3D i 2D;obiekty;prefaby;animacje;dźwięki;shadery;systemy cząsteczekskrypty.
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Rysunek: Paczka do prototypowania
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Rysunek: Paczka do prototypowania - materiały
Rysunek: Paczka do prototypowania - modele
Rysunek: Paczka do prototypowania - tekstury
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne
Dziękuję za uwagę
dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne