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).