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

31
Tworzenie gier na urządzenia mobilne dr Przemyslaw Juszczuk Katedra Inżynierii Wiedzy Wyklad 2 dr Przemyslaw Juszczuk Tworzenie gier na urządzenia mobilne

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

Page 1: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 2: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 3: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 4: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 5: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

Rysunek: Unity widok ogólny

dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne

Page 6: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 7: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 8: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

Rysunek: Unity widok ogólny - Inspector

dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne

Page 9: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 10: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 11: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 12: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 13: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 14: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 15: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 16: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 17: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 18: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 19: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

Ś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

Page 20: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 21: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 22: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

Ś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

Page 23: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 24: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 25: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 26: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

Rysunek: Złożona siatka. Źródło: UnrealEngine example

dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne

Page 27: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 28: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 29: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

Rysunek: Paczka do prototypowania

dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne

Page 30: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

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

Page 31: Tworzenie gier na urzadzenia mobilne · 2016-10-10 · Rysunek:Snap Settings dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne. Światło na scenie Directional Light -

Dziękuję za uwagę

dr Przemysław Juszczuk Tworzenie gier na urządzenia mobilne