InformacjeInne

Unreal Tournament 3 - Unreal Engine 3

... Mysza Silnik zdecydowanie realny

Silnik zdecydowanie realny

Od czasu premiery Crysis, czyli de facto udostępnienia graczom gry opartej na najnowszym silniku Cryteka, w Internecie nie kończą się dyskusje i kłótnie na jeden temat – który z silników jest lepszy: CryENGINE2, czy Unreal Engine 3. My dziś nie będziemy co prawda bawić się w porównania i dysputy na temat obydwu z nich, jednak po zaprezentowaniu możliwości silnika Cryteka podczas Tygodnia z grą Crysis, postanowiliśmy nasze tygodniowe spotkania z najnowszym Unrealem rozpocząć właśnie od krótkiej prezentacji napędzającego go engine’u. Tym bardziej iż będzie to stanowić przy okazji doskonały pomost pomiędzy tym tytułem a ostatnio przez nas opisywanym Gears of War, czyli jedną z wielu gier wykorzystujących Unreal Engine 3.

Zacznijmy może od rzeczy podstawowej, czyli określenia, na jakie platformy rzeczony silnik został przeznaczony, gdyż, wedle informacji jego twórców, dzięki niemu będzie można tworzyć gry działające na takich systemach operacyjnych, jak Windows, Linux, MacOS oraz konsolach Xbox360 i PlayStation3. Spójrzmy teraz, czym chwalą się programiści Epica, co zaś my będziemy mieli okazję oglądać i słyszeć w produkcjach opartych na tym silniku.

Rendering

Podstawą, jeśli chodzi o renderowanie grafiki, będzie wielowątkowy system renderujący o nazwie Gemini. Zapewnia on pełne wsparcie dla wszelkich nowoczesnych technik operowania światłem - z dokładnością do pojedynczego piksela (per-pixel lighting) - i renderowania. Silnik wspiera również takie techniki, jak wirtualne mapowanie przemieszczeń, funkcje związane z osłabianiem światła, czy predefiniowane maski cieni.

We wszystkich nowych grach coraz większą uwagę przywiązuje się do jak najbardziej realistycznego generowania cieni. Cóż bowiem po najdoskonalszych i najlepiej oświetlonych teksturach pokrywających ultrarealistyczne modele, skoro światu zabraknie głębi?

Dlatego też silnik Unreala III obsługuje aż cztery techniki generowania cieni, które podzielić możemy na dwie podstawowe grupy. Pierwsza z nich to generowanie ich w czasie rzeczywistym w oparciu o dynamiczne i zmienne źródła światła, podzielone na dwa oddzielne systemy dla modeli statycznych i dynamicznych. Innymi słowy, zupełnie oddzielne systemy odpowiadać będą za cienie rzucane przez elementy ruchome (takie jak postaci czy pojazdy), inne zaś zadziałają w odniesieniu do nieruchomych elementów scenerii (na przykład skał czy budynków). Druga grupa to z kolei predefiniowane cieniowanie, oparte na statycznych źródłach światła i odpowiednio przygotowanych zestawach tekstur. Wszystkie te techniki będzie można dowolnie ze sobą mieszać, osiągając niemalże dowolny zamierzony efekt.

Oczywiście w celu uczynienia wygenerowanego obrazu jeszcze bardziej realistycznym, zaimplementowano również całą gamę technik związanych z post-processingiem, czyli obróbką obrazu już po jego wyrenderowaniu, takich jak motion blur, bloom, czy głębia ostrości. Dzięki zastosowaniu systemu nazwanego UnrealCascade, mamy się wedle twórców silnika cieszyć niespotykanymi dotąd efektami cząsteczkowymi, łącznie z uwzględnieniem ich fizyki. Oczywiście nie zabraknie również takich efektów, jak wygładzanie krawędzi, filtrowanie anizotropowe czy wolumetryczne efekty środowiskowe. Wszystko to zaś w imponującej, 64-bitowej palecie kolorów, dzięki której możliwe będzie malowanie trójwymiarowych obrazów z niespotykaną dotychczas precyzją.

Wedle zapewnień, dzięki dwuetapowemu procesowi, renderowanie wszelkich obiektów w grze ma odbywać się niezwykle szybko, jednocześnie zapewniając niebywałą jakość i dokładność generowanych modeli. W praktyce ma wyglądać to tak, iż każdy z obiektów składa się z dwóch siatek – generowanej w czasie rzeczywistym siatki składającej się z kilku tysięcy trójkątów, na którą z kolei nakładana jest druga, o dużej liczbie detali, składająca się z kilku milionów trójkątów, na której generowane są wszelkie efekty świetlne i cienie. Efektem jest bardzo szczegółowy i doskonale oświetlony obiekt, który jednak jest niezwykle szybko renderowany w czasie rzeczywistym. W liczbach wygląda to następująco: siatka renderowana może składać się z 3.000 – 12.000 trójkątów, zaś szczegółowa - od jednego do ośmiu ich milionów, co zupełnie wystarcza do stworzenia mapy o rozdzielczości 2048x2048 pikseli.

Fizyka

Za generowanie realistycznej fizyki, co jest obecnie w grach 3D rzeczą już obowiązkową, odpowiedzialny jest znany system Ageia PhysX, co oczywiście wiąże się z możliwością zastosowania kart wspomagających obsługę zdarzeń fizycznych w grze. To jedna z największych różnic w stosunku do silnika Cryteka, w którym zrezygnowano całkowicie ze wsparcia dla jakichkolwiek sprzętowych akceleratorów fizyki. Autorzy zwracają szczególną uwagę na możliwości, jakie oferuje silnik pod tym względem. Wśród atutów pojawia się zaawansowana interakcja z otoczeniem; mamy oczywiście również rag doll, efekt rozczłonkowania modelu czy kompleksowy system fizyki dla pojazdów. W stosunku do wszelkich renderowanych obiektów ma być również zastosowany cały wachlarz właściwości fizycznych, takich jak ciężar czy wytrzymałość, łącznie z - na przykład - tarciem. Oczywiście wszelkiego rodzaju oddziaływania fizyczne mają być natychmiast uwzględniane w odpowiedniej animacji każdego z obiektów. Animacja i dźwięk

W celu osiągnięcia jak najbardziej realistycznego efektu ruchu wszelkich obiektów w grze zastosowano tutaj zaawansowane techniki animacji szkieletowej, w oparciu o tak zwane kości – czyli ruchome elementy każdego obiektu. Przy czym kości mogą jednocześnie być poddane oddziaływaniu czterech różnych czynników na każdy vertex. Całość animacji sterowana jest przez system AnimTree, oparty na kilku równoległych węzłach kontrolerów: połączeń obiektów osadzonych, enkapsulacji motion capture, animacji dłoni, fizyki i fizycznej odpowiedzi na impulsy, proceduralnej animacji szkieletowej i kinematyki odwrotnej. Według informacji autorów engine’u, poradzi on sobie bez problemu z obiektami zbudowanymi ze 100 do 200 kości. Wydajność silnika jest bardzo duża, gdyż teoretycznie można dzięki niemu wyrenderować jednocześnie od 1.000 do 5.000 obiektów. Ze względu na możliwości kart graficznych powinna ona jednak na razie być ograniczona do 300 – 1.000 widocznych obiektów.

Nowy silnik Unreal oferuje również pełne wsparcie wszystkich najważniejszych formatów dźwięku dla obsługiwanych platform, między innymi Dolby Digital czy dźwięku przestrzennego, począwszy od standardu 4.0, przez 5.1, 6.1, aż do 7.1. Silnik obsługuje również formaty dźwięku oparte na jego kompresji, jak na przykład Ogg Vorbis w przypadku PC. Oczywiście pozwala on nam również na zaimplementowanie w dowolnej grze możliwości komunikacji głosowej pomiędzy uczestniczącymi w sieciowych bataliach graczami.

Tutaj warto wspomnieć o czymś nazywającym się Integrated Partners Program, czyli programie firmy Epic, którego głównym celem jest zbudowanie odpowiednich relacji biznesowych z firmami zajmującymi się produkcją specjalistycznego oprogramowania i podsystemów wykorzystywanych w silniku. Dzięki niemu ci deweloperzy mają pełny dostęp do kodu źródłowego silnika, w zamian oferując i przystosowując do niego swoje produkty. W ten właśnie sposób i na takich zasadach w Unreal Engine 3 wykorzystano między innymi takie technologie i oprogramowanie, jak wspominane już Ageia PhysX, FaceFX czy SpeedTree.

Najnowsze
Lubisz nas?