Ewolucja Gier komputerowych i wideo

Transkrypt

Ewolucja Gier komputerowych i wideo
Programowanie gier komputerowych
Tomasz Martyn
Wykład 2. (fragmenty)
Cykl produkcyjny wytwarzania gry (1)
Prototypowanie geometrii levela
na przykładzie UDK
Prototypowanie geometrii levela w UDK
Edytor leveli
Prototypowanie geometrii levela w UDK
Builder Brush i BSP Brush
• Builder Brush służy do tworzenia BSP Brush'y o kształcie
określonym Builder Brushem.
• Jest jeden Builder Brush i (zwykle) wiele BSP Brushy.
• Każdy z BSP Brushy reprezentuje sobą jedną z dwóch operacji CSG
(Constructive Solid Geometry), której zakres działania wyznacza
geometria BSP Brusha. Są to operacje Add i Substract.
Prototypowanie geometrii levela w UDK
CSG: Add i Substract
• W przypadku operacji Add, BSP Brush generuje geometrię BSP
o kształcie określonym tym Brushem.
• Operacja Substract usuwa geometrię istniejącą w objętości
wyznaczonej zakresem Brusha substraktywnego.
Prototypowanie geometrii levela w UDK
CSG: Kolejność operacji
• Na wynikową geometrię BSP ma wpływ kolejność wykonywanych
operacji CSG.
• W UDK pożądaną kolejność działania poszczególnych BSP Brushy
można określić przy użyciu opcji Order I To First i Order I To Last.
Prototypowanie geometrii levela w UDK
CSG: Intersect i Deintersect
•
Do dyspozycji są jeszcze operacje Intersect i Deintersect.
•
W odróżnieniu od operacji Add i Substract, służą one do modyfikowania
geometrii Builder Brusha na podstawie geometrii BSP generowanej przez
BSP Brushe.
•
Intersect usuwa z Builder Brusha część nie należącą do przecięcia z
geometrą CSG.
•
Deintersect usuwa z Builder Brusha część należącą do przecięcia z
geometrą CSG.
Uwaga: Działanie tych operatorów bywa nieokreślone dla geometrii BSP nie zawierającej
geometrii addytywnej i ich użycie w takim przypadku może powodować niestabilne
funkcjonowanie edytora. Problem taki może również wystąpić w przypadku przypisania tych
operacji BSP Brush’om .
Prototypowanie geometrii levela w UDK
Transformacje
Poszczególne Brushe można poddawać standardowym transformacjom
przestrzennym przy użyciu odpowiednich widgetów transformacji:
•
translacji,
•
obrotów,
•
skalowania jednorodnego,
•
skalowanie niejednorodnego.
Prototypowanie geometrii levela w UDK
Edytowanie geometrii Brusha
•
Edytowanie geometrii Brusha odbywa się w trybie Geometry Mode.
•
Tryb ten oferuje różne narzędzia edytowania.
•
Edycji może podlegać zarówno Builder Brush
jak i BSP Brush.
•
W zależności używanego narzędzia, edycja może
odbywać się na poziomie wierzchołków, krawędzi lub ścian.
Prototypowanie geometrii levela w UDK
Geometry Tools - Edit
Translacja wierzchołka
Split
Weld
Narzędzie Edit umożliwia m.in. :
•
dokonywanie transformacji wybranych wierzchołków, krawędzi lub ścian,
•
usuwanie wybranych wierzchołków, krawędzi lub ścian (Delete),
•
dodanie zamkniętego cyklu nowych wierzchołków począwszy od wybranej krawędzi
(Split);
•
scalanie wybranych wierzchołków w jeden (Weld),
•
dokonanie triangulacji Brusha lub jego wybranej części (Triangulate),
•
dokonanie optymalizacji geometrii (Optimize),
•
zmianę zwrotu wektora normalnego ściany (Flip).
Narzędzie może być zastosowane zarówno do Builder Brusha i BSP Brusha.
Prototypowanie geometrii levela w UDK
Geometry Tools - Extrude
•
Narzędzie Extrude umożliwia tworzenie nowych „modułów geometrycznych”
w Brushu poprzez wybranie jednej ze ścian i następnie jej translację.
•
Narzędzie może być zastosowane zarówno do Builder Brusha i BSP Brusha.
Prototypowanie geometrii levela w UDK
Geometry Tools - Pen
•
Narzędzie Pen służy do tworzenia Builder Brusha na
podstawie wielokąta 2D „narysowanego” w jednym
z widoków ortogonalnych.
•
Tworzenie Builder Brusha na podstawie wielokąta może
nastąpić w jednym z dwóch trybów:
1. Auto Extrude – Builder Brush tworzony jest poprzez przesunięcie wielokąta
w osi prostopadłej o liczbę jednostek Extrude Depth;
2. Create Brush Shape – wielokąt posłuży do utworzenia Builder Brusha przy
wykorzystaniu narzędzia Lathe.
Prototypowanie geometrii levela w UDK
Geometry Tools - Lathe
•
Narzędzie Lathe służy do utworzenia Builder Brusha poprzez
obrót wielokąta (nazywanego w tym kontekście: Brush Shape)
utworzonego przy wykorzystaniu narzędzia Pen.
•
Obrót dokonywany jest w lokalnym układzie współrzędnych
Brush Shape’a, wokół środka tego układu (Pivot) i wybranej osi.
•
Początek lokalnego układu współrzędnych można dowolnie
ustalać.
•
Wynikowy Builder Brush składa się z segmentów, których liczbę
określa parametr Segments.
•
Dla zadanej liczby Segments, wykonywany kąt obrotu
wynikający z ustawienia parametru Total Segments, który
określa liczbę segmentów przypadającą na 360 stopni.
Prototypowanie geometrii levela w UDK
Geometry Tools – Brush Clip
•
Narzędzie Brush Clip służy do dokonania przecięcia Builder Brusha lub BSP Brusha
przy użyciu płaszczyzny „narysowanej” w jednym z widoków ortogonalnych.
•
W zależności od statusu opcji Split, narzędzie działa w jednym z dwóch trybów:
1. (nieaktywna) Jedna z dwóch części Brusha jest usuwana - która z części
pozostaje zależy od zwrotu normalnej płaszczyzny (zwrot można zmieniać
przy użyciu opcji Flip Normal);
2. (aktywna) BSP Brush rozdzielany jest na dwa BSP Brushe. (W przypadku
przecinania Builder Brusha działa tak samo jak Split nieaktywny).

Podobne dokumenty