Programowanie gier komputerowych. Tomasz Martyn. Wykład 3.

Podobne dokumenty
Programowanie gier komputerowych. Tomasz Martyn. Wykład 10. Różności: Cinamatics, Aktorzy kinematyczni, Prefabs, Archetypes

Autodesk 3D Studio MAX Teksturowanie modeli 3D

Przygotowanie grafiki 3D do gier komputerowych

Gry Komputerowe Laboratorium 4. Teksturowanie Kolizje obiektów z otoczeniem. mgr inż. Michał Chwesiuk 1/29. Szczecin, r

Modelowanie i wstęp do druku 3D Wykład 1. Robert Banasiak

Programowanie gier komputerowych Tomasz Martyn Wykład 4. Cykl produkcyjny wytwarzania gry (3): Prototypowanie gameplaya i UDK Kismet

Grafika Komputerowa Wykład 6. Teksturowanie. mgr inż. Michał Chwesiuk 1/23

Programowanie gier komputerowych Tomasz Martyn Wykład 6. Materiały informacje podstawowe

Plan wykładu. Akcelerator 3D Potok graficzny

Uniwersytet Zielonogórski. Kurs: Autodesk 3D Studio MAX Komputerowa grafika 3D. 3dsmax Teksturowanie obiektów 3D

Jak równolegle używać Unity (silnik gry), Blendera (modelowanie 3D i animowanie) oraz GIMP-a (edycja obrazów)

Unreal Engine w 24 godziny : nauka tworzenia gier / Aram Cookson, Ryan DowlingSoka, Clinton Crumpler. Gliwice, cop Spis treści.

KARTA KURSU (realizowanego w module specjalności) Modelowanie 3D

Mikołaj Kania Waldemar Korłub Jakub Krajewski

KARTA KURSU (realizowanego w module specjalności) Modelowanie 3D

4. Podstawowa konfiguracja

Wprowadzenie do programu 3ds Max THEBRAIN

Unity 3D - tworzenie sceny

kk-cms System Zarządzania Treścią - prezentacja intensys - agencja interaktywna tel

APARAT FOTOGRAFICZNY Aparat fotograficzny aparat -

1) Szkolenie Podstawowy SketchUp

Animowana grafika 3D Laboratorium 3

OpenGL : Oświetlenie. mgr inż. Michał Chwesiuk mgr inż. Tomasz Sergej inż. Patryk Piotrowski. Szczecin, r 1/23

PLAN SZKOLEŃ FEMAP. Nasza oferta: Solid Edge najefektywniejszy dostępny obecnie na rynku system CAD klasy mid-range,

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

PLAN SZKOLEŃ Femap. Nasza oferta: Solid Edge najefektywniejszy dostępny obecnie na rynku system CAD klasy mid-range,

Odkrywanie CAQDAS : wybrane bezpłatne programy komputerowe wspomagające analizę danych jakościowych / Jakub Niedbalski. Łódź, 2013.

Synteza i obróbka obrazu. Tekstury. Opracowanie: dr inż. Grzegorz Szwoch Politechnika Gdańska Katedra Systemów Multimedialnych

Gry komputerowe: efekty specjalne cz. 2

Pliki zorganizowano w strukturze drzewiastej odzwierciedlając strukturę logiczną aplikacji:

Weryfikacja geometrii wypraski oraz jej modyfikacja z zastosowaniem Technologii Synchronicznej systemu NX

Wprowadzanie geometrii z wykorzystaniem importu pliku DXF

D O K U M E N T A C J A

ATSOFTWARE DMS. Elektroniczna archiwizacja

Wprowadzenie do rysowania w 3D. Praca w środowisku 3D

Załącznik nr 1. Specyfikacja. Do tworzenia Mapy Kompetencji

Wykład 5. Rendering (2) Geometria

PLAN REALIZACJI MATERIAŁU NAUCZANIA Z INFORMATYKI II. Uczeń umie: Świadomie stosować się do zasad regulaminów (P).

Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski. Zaawansowane metody grafiki w reklamie. Laboratorium. 3dsmax wprowadzenie

GLKit. Wykład 10. Programowanie aplikacji mobilnych na urządzenia Apple (IOS i ObjectiveC) #import "Fraction.h" #import <stdio.h>

KS-ZSA. Mechanizm aktualizacji kartotek lokalnych w aptece na podstawie zmian w kartotece CKT. Data aktualizacji:

GUI - projektowanie interfejsów

Język Java część 2 (przykładowa aplikacja)

Dodatkowo planowane jest przeprowadzenie oceny algorytmów w praktycznym wykorzystaniu przez kilku niezależnych użytkowników ukończonej aplikacji.

Rok akademicki: 2017/2018 Kod: JFM s Punkty ECTS: 7. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

PRZEWODNIK PO PRZEDMIOCIE

Adobe InDesign CC/CC PL : oficjalny podręcznik / Kelly Kordes Anton, John Cruise. Gliwice, cop Spis treści

Wykład 4. Rendering (1) Informacje podstawowe

Nauczanie na odległość

NX CAD. Modelowanie powierzchniowe

Systemy wirtualnej rzeczywistości. Komponenty i serwisy

Praktyczne zastosowanie grafiki komputerowej

Pracownia projektowania gier 2

Temat: Zaprojektowanie procesu kontroli jakości wymiarów geometrycznych na przykładzie obudowy.

Widoki zagnieżdżone, layout. 1. Wprowadzenie Repozytoria danych

Bartosz Bazyluk SYNTEZA GRAFIKI 3D Grafika realistyczna i czasu rzeczywistego. Pojęcie sceny i kamery. Grafika Komputerowa, Informatyka, I Rok

System mapy numerycznej GEO-MAP

a. Czym różni się sposób liczenia odbicia zwierciadlanego zaproponowany przez Phonga od zaproponowanego przez Blinna?

Księgarnia internetowa Lubię to!» Nasza społeczność

Wykład 8: klasy cz. 4

Język Java część 2 (przykładowa aplikacja)

Backend Administratora

TECHNOLOGIA INFORMACYJNA

Programowanie obiektowe

KATEGORIA OBSZAR WIEDZY

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Edytor Edit+ - dodawanie zdjęć i. załączników. Instrukcja użytkownika

Grafika Komputerowa Wykład 4. Synteza grafiki 3D. mgr inż. Michał Chwesiuk 1/30

Płace VULCAN opis zmian

Oświetlenie. Modelowanie oświetlenia sceny 3D. Algorytmy cieniowania.

Materiały szkoleniowe Moduł Mapa inwestora. Starostwo Powiatowe w Chełmie

Praca z programem PLANS

Opis podstawowych modułów

Programowanie gier 3D w HTML5. Andrzej P.Urbański Politechnika Poznańska

Załącznik nr 8. do Studium Wykonalności projektu Sieć Szerokopasmowa Polski Wschodniej województwo podkarpackie

RHINOCEROS DLA ZAAWANSOWANYCH EDYCJA ROZSZERZONA (certyfikowany stopieo II+)

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Tomasz Grześ. Systemy zarządzania treścią, cz. II

ECDL/ICDL CAD 2D Moduł S8 Sylabus - wersja 1.5

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Archiwum DG 2016 PL-SOFT

Referat Pracy Dyplomowej

Wyświetlanie terenu. Clipmapy geometrii

Techniki animacji komputerowej

Karty graficzne możemy podzielić na:

Analiza i projektowanie oprogramowania. Analiza i projektowanie oprogramowania 1/32

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Układy VLSI Bramki 1.0

Microsoft Class Server. Waldemar Pierścionek, DC EDUKACJA

Hot Potatoes. Zdania z lukami Przyporządkowanie. Tworzy spis wszystkich zadań. Krzyżówki

Wyobraźnia w budowie Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego

Jak rozpocząć pracę? Mapa

Wprowadzenie do hurtowni danych

Nowości w module: Produkcja, w wersji 9.0

Straszyński Kołodziejczyk, Paweł Straszyński. Wszelkie prawa zastrzeżone. FoamPro. Instrukcja obsługi

PRZEWODNIK PO PRZEDMIOCIE

WYMAGANIA EDUKACYJNE Z ZAJĘĆ KOMPUTEROWYCH DLA KLASY SZÓSTEJ W ZAKRESIE WIADOMOŚCI I UMIEJĘTNOŚCI UCZNIÓW

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

Dokumentacja projektu QUAIKE Architektura oprogramowania

Rady i porady użytkowe

Transkrypt:

Programowanie gier komputerowych Tomasz Martyn Wykład 3. Cykl produkcyjny wytwarzania gry (2): Tworzenie geometrii levela Content Browser i Assety w UDK

Tworzenie geometrii levela Assety małe... W wyniku wstępnego etapu działalności level designerów, graficy (Environment artists) otrzymują zadanie wymodelowania w formie siatek trójkątów (triangle meshes) wraz z pokrywającymi je teksturami: mniej lub bardziej drobnych elementów geometrii modularnej, której przeważająca część będzie istniała w levelu w wielu kopiach i pełniła funkcję głownie dekoracyjną;

Tworzenie geometrii levela...i DUŻE geometrii dużej, na ogół niepowtarzalnej, odgrywającej rolę bazy dla gameplaya, której układ, proporcje i rozmiary zostały przetestowane w fazie prototypowania levela: - budynki, - układy pomieszczeń - tereny.

Dychotome consensus geometricus czyli dualizm sieciowo-teksturalny assetu W assetach geometrycznych (in-game geometry) dąży się do tego, aby składały się z jak najmniejszej liczby trójkątów, przy jednoczesnym zachowaniu odpowiednio wysokiego poziomu postrzeganych detali. Silniki gier wykorzystują w tym celu reprezentację hybrydową assetów geometrycznych: - siatki trójkątów reprezentują obiekt w sposób przybliżony, - informacja o detalach kodowana jest w nakładanych na obiekt teksturach 2D i odpowiednio wykorzystywana w procesie renderowania obiektu.

Szczególne zaburzenia teksturalne (te normalne i nienormalne) Tekstury służące do reprezentowania detali geometrycznych obiektu, to: normal maps przechowują informację o wektorach normalnych powierzchni i służą do udawania nierówności poprzez modyfikowanie jasności pikseli obliczonej przy wykorzystaniu stosowanego modelu oświetlenia (lighting model); displacement maps przechowują informację o nierównościach w postaci wartości przemieszczeń, przy użyciu których bazowa siatka trójkątów jest fizycznie modyfikowana w procesie renderowania: - geometria może być modyfikowana na poziomie wierzchołków (w vertex shaderze) poprzez translacje wierzchołków siatki bazowej (starsze rozwiązanie); - geometria może być modyfikowana poprzez translacje wierzchołków istniejących oraz, dodatkowo, wierzchołków nowych utworzonych przy wykorzystaniu mechanizmu sprzętowej teselacji (shader model 5).

Tworzenie geometrii levela Be high or not to be high, Poly? Do modelowania geometrii graficy stosują na ogół jedno z dwóch podejść: Low-poly - tworzona geometria przez cały czas modelowania (3D Studio, Maya,...) składa się z jak najmniejszej liczby trójkątów; - tekstury detali geometrycznych (normal lub displacement mapy) tworzone są przez grafików Texture artists przy wykorzystaniu odpowiednich aplikacji do grafiki 2D (Photoshop, GIMP) lub po prostu pobierane z istniejących bibliotek. High-poly - geometria wraz ze wszystkimi detalami modelowana jest jako siatka trójkątów (np. w 3D Studio średni poziom szczegółowości, po czym uszczegółowianie w Z-Brushu); - następnie na podstawie tej geometrii generowana jest w sposób półautomatyczny tekstura nierówności (tzw. baking texture process), zaś sama geometria upraszczana do low-poly.

Tworzenie geometrii levela Czasem trzeba ukręcić LODy nawet z Mozarta W zależności od stopnia złożoności utworzonej siatki trójkątów oraz zakresu odległości, w którym obiekt będzie widziany w toku gry, niekiedy wskazane jest utworzenie jeszcze dwóch lub więcej siatek o mniejszej liczbie trójkątów, przybliżających oryginalną geometrię. Wówczas cały ciąg takich siatek będzie wchodził skład assetu i będzie wykorzystywany przez funkcjonalność Level Of Detail silnika gry. Klasycznym przykładem obiektów, dla których zwykle tworzy się poziomy LOD, są modele drzew.

Aby nałożyć jakąkolwiek teksturę na siatkę trójkątów należy wierzchołkom siatki przyporządkować współrzędne UV tekstury, czyli stworzyć tzw. UV mapping. W tym celu często dokonuje się (przy wykorzystaniu programu do modelowania) rozłożenia siatki trójkątów na płaszczyźnie tekstury, czyli tworzy się tzw. UV unwarp. Tworzenie geometrii levela Ultrafioletowy tatuaż W zależności od geometrii siatki, jej UV unwarp składa się z jednego lub (zwykle) więcej niż jedno kawałka. W ten sposób utworzony UV layout zwykle jest jeszcze dodatkowo ręcznie modyfikowany, np. kawałki mogą powiększane i przemieszczane w celu optymalnego wykorzystania przestrzeni tekstury, niektóre kawałki mogą zostać na siebie nałożone jeśli mają nosić ten sam wzór tekstury, itp. UV layout stanowi często szablon, na którym tworzone są tekstury przez grafików texture artists w programach do grafiki 2D.

Tworzenie geometrii levela Narodziny assetu W efekcie działania grafików: environment aritsts i texture artist otrzymywane są obiekty 3D reprezentowane przez siatki trójkątów oraz tekstury, przy czym te ostatnie, w klasycznym przypadku, zwykle 3 rodzajów: diffuse map specular map normal map Siatki trójkątów wraz teksturami importowane są do silnika gry. Tekstury wykorzystywane są w tworzonych następnie assetach materiałów, które są programami shaderów obsługiwanymi przez system materiałów silnika gry. Ostatecznie siatki trójkątów wraz z przypisanymi do nich materiałami uzyskują status assetu geometrycznego reprezentującego obiektu 3D.

Assety w UDK Assety geometryczne wykorzystywane do tworzenia geometrii levela w UDK należą do kategorii Static meshes. Geometria BSP, która posłużyła do prototypowania geometrii levela, może być w automatyczny sposób przekonwertowana do assetu typu Static mesh przy użyciu edytora UDK i ew. następnie wyeksportowana w celu dalszej obróbki przy użyciu zewnętrznych narzędzi graficznych. Oprócz Static meshes, w UDK istnieje wiele innych typów assetów, m.in. Skeletal meshes, Particle systems, Animation sets, Sound cues... Wiele typów assetów jest typa złożonymi, w których wykorzystuje się assety innych typów: np. Static mesh zawiera zwykle co najmniej jeden asset typu Material, zaś asset materiału zawiera zwykle co najmniej jeden asset typu Texture. Dzięki temu, dany asset może być wykorzystywany wielokrotnie do budowy innych assetów.

Aktorzy w UDK Obok pojęcia assetów, w terminologii UDK funkcjonują pojęcia Actor oraz Actor Class. Aktorem jest każdy obiekt dodany do levela, który odgrywa jakąś funkcję w gameplay u. W szczególności każda kopia assetu dodanego do levela jest odrębnym aktorem. Jednakże pojęcie aktor jest znacznie szersze niż kopia assetu, ponieważ istnieje wiele rodzajów aktorów, które nie mają odpowiedników w typach assetów. Przykładem są aktorzy reprezentujący źródła światła czy mgłę w levelu, ale również aktorzy nie mający bezpośredniego przełożenia audio-wizualnego w grze, jak np. miejsca respawnów, czy węzły scieżek dla botów. U podłoża rodzajów aktorów leżą klasy aktorów wywiedzione z hierarchii klas UDK zaimplementowanej w C++ lub/i UnrealScripcie. UWAGA: W UDK aktorami, ale nie assetami, są również obiekty reprezentujące teren: landscape i terrain.

Content Browser

Content Browser Zarządzanie assetami w UDK Rola Content Browsera polega na możliwości m.in.: przeszukiwaniu zbioru dostępnych assetów względem różnych kluczy wyszukiwania, m.in.: nazwy, typu i tagów; interaktywnego dodawania wybranych assetów do levela; umieszczania assetów w pakietach (packages) i następnie w grupach (groups) oraz tworzenie tematycznych kolekcji assetów; usuwania assetów oraz tworzenia kopii assetów istniejących; edycji parametrów assetów za pośrednictwem dedykowanych edytorów sprzężonych z Content Browserem; tworzeniu nowych assetów niektórych typów przy wykorzystaniu dedykowanych edytorów; importowania assetów utworzonych poza UDK oraz eksportowanie assetów z UDK na zewnątrz w wybranych formatach; tworzeniu tagów oraz przypisywanie ich assetom.

Content Browser Zarządzanie assetami w UDK (cd) Dodatkowo Content Browser: zapewnia wczytywanie aktualnie wykorzystywanych assetów z pamięci zewnętrznej; dba o zachowanie integralności wewnętrznej assetów złożonych, w których istnieją odwołania do innych assetów,w szczególności zapobiega omyłkowemu usunięciu assetów, które wchodzą w skład innych assetów.

Content Browser Pakiety W UDK assety grupowane są w pakiety, zaś pakiet może zostać dodatkowo podzielony na grupy (np. grupujące assety różnych typów). W systemie plików, pakiety są reprezentowane przez pliki *.upk. Z punktu widzenia Content Browsera pakiety dzielą się na wewnętrzne i zewnętrzne. Pakiety wewnętrzne są to pakiety zawarte w podfolderach folderu UDKGame/Content i są one widoczne od razu po uruchomieniu Content Browsera. Pakiety zewnętrzne, to pakiety znajdujące się gdziekolwiek indziej i żeby z nich skorzystać należy je wczytać do Content Browsera. W sekcji Packeges Content Browsera widoczna jest hierarchia folderów zawierających pakiety oznaczane jako lub w zależności od tego, czy zawartość pakietu została wczytana, czy nie. Grupy w obrębie pakietu oznaczane są jako.

Content Browser Pakiety (cd) Dobrym zwyczajem jest umieszczanie całego contentu gry w swoich pakietach, nawet wówczas jeśli korzysta się z assetów wytworzonych przez osoby trzecie (np. tych dostarczanych z UDK) wówczas należy w pakiecie utworzyć kopie tych assetów. Zalety takiego postępowania to: - łatwe przenoszenie rezultatów pracy pomiędzy kolejnymi aktualizacjami UDK oraz stanowiskami; - uniezależnienie od pakietów osób trzecich; - wszelkiego rodzaju modyfikacje dokonywane są na wersjach assetów zawartych w naszym pakiecie, bez ew. modyfikowania assetów oryginalnych.

Content Browser Pakiety i pliki leveli Dodatkowo w hierarchii pakietów Content Browsera widoczne są pakiety reprezentowane przez pliki *.udk, przy czym są one nierozróżnialne na podstawie oznaczeń od plików *.upk. Pliki *.udk reprezentują opis tworzonego levela i tworzone są z poziomu edytora leveli UDK. Pliki te zawierają zwykle co najwyżej assety natury technicznej związane z konkretnym levelem (np. tekstury lightmap wygenerowane przez system globalnego oświetlenia Lightmass), które nie są przeznaczone do wielokrotnego wykorzystania. W zw. z tym, choć możliwe jest przeglądanie assetowej zawartości plików *.udk z poziomu Content Browsera, plików tych zwykle się tym narzędziem nie modyfikuje.

Następny wykład: Cykl produkcyjny wytwarzania gry (3) Prototypowanie gameplaya i Kismet