Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław...

Post on 04-Aug-2020

2 views 0 download

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