W pogoni za kinem


Unreal Engine

Unreal Engine (http://www.unrealtechnology.com/ ) ma stosunkowo długą historię. W pierwszej wersji debiutował w roku 1998 w grze "Unreal" i od tego czasu był wykorzystywany w wielu grach uznanych za przeboje, w tym w serii "Unreal" i "Unreal Tournament" oraz w produktach realizowanych w ramach licencji, jak "Splinter Cell" czy "America's Army". Moduł renderujący przedstawionej obecnie trzeciej wersji tego silnika obsługuje sceny liczące od 200 tysięcy do 1,2 miliona ścianek, przy liczbie obiektów wahającej się od tysiąca do 5 tysięcy. Pierwsze gry wykorzystujące możliwości nowej wersji silnika spodziewane są na rynku w ciągu 2 lat.

W pogoni za kinem

Dzięki redukcji wielokątów i mapowaniu normalnych silnik "Unreala 3" może wyświetlać postaci z wieloma detalami.

Największą nowością w Unreal Engine 3 jest z pewnością implementacja algorytmów odpowiedzialnych za grafikę o dużej dynamice koloru (HDRI). 64-bitowy system przetwarzania obrazu pozwala nie tylko na podniesienie realizmu, ale także na stosowanie nowych efektów wizualnych, takich jak głębia ostrości. Równolegle rozbudowano systemy odpowiedzialne za dynamiczne cienie, dzięki czemu obiekty (a także postaci) oświetlone ruchomymi źródłami światła rzucają poprawne, miękkie, wygładzane cienie nie tylko na obiekty wokół, ale także na fragmenty własnego modelu (tzw. self-shadowing). Możliwe jest uzyskanie efektu przemieszczania się po podłożu cieni chmur. Zgodnie z zapewnieniami producenta, oferowany system materiałów pozwala w czasie rzeczywistym tworzyć, łączyć i stosować złożone szadery z jakością odpowiadającą uzyskiwanej w pakiecie Maya (który nie jest systemem czasu rzeczywistego). Ciekawe są możliwości modelowania terenu: mapy jego wysokości są dynamicznie deformowane, a do opisania cech optycznych poszczególnych obszarów można użyć wielu warstw materiałowych bądź opisujących rozmieszczaną proceduralnie roślinność.

Silnik zawiera przy tym narzędzia automatyzujące dystrybucję roślin w zależności od rodzaju i wysokości terenu. Na rozbudowany system animacji szkieletowej składają się kontrolery odpowiedzialne za miksowanie ruchów, odtwarzanie przygotowanych wcześniej sekwencji ruchowych, reakcje na czynniki fizyczne (efekt ragdoll, dynamika bryły sztywnej) oraz kontrolery proceduralne, pozwalające modyfikować ruch za pomocą sekwencji poleceń napisanych w C++ lub wewnętrznym języku skryptowym UnrealScript. System oddziaływań fizycznych jest tak głęboko zintegrowany, że własności fizyczne (np. współczynnik tarcia) stanowią integralną cechę materiałów używanych do opisu brył 3D.

W pogoni za kinem

Edytor terenu w Unreal Engine 3 pozwala na użycie wielowarstwowych materiałów.

W skład silnika wchodzą także narzędzia odpowiadające ze generowanie dźwięku, rozgrywkę sieciową (architektura klient-serwer uwzględniająca do 64 graczy) i sztuczną inteligencję. W tej ostatniej kwestii Unreal Engine zawsze oferował rozwiązania na wysokim poziomie, nadające postaciom komputerowym znamiona rzeczywiście inteligentnych zachowań.

Unreal Engine dostarczany jest z rozbudowanym edytorem UnrealEd oraz z licznymi narzędziami uzupełniającymi, m.in. programem redukującym liczbę wielokątów brył 3D przez wykorzystanie mapowania normalnych - w rezultacie modele zawierające 2 miliony ścianek mogą zostać zredukowane do zaledwie 5 tysięcy bez wyraźnej szkody dla ostatecznego wyglądu postaci.

Doom 3

W pogoni za kinem

"Doom 3" stawia na interaktywne oświetlenie.

Id Software (http://www.idsoftware.com/ ) znane jest od lat jako lider w zakresie silników 3D do gier. Wcześniejszy model tej firmy, który posłużył do opracowania całej serii strzelanek internetowych "Quake", zdobył uznanie i został wykorzystany w wielu tytułach. John Carmack, uchodzący za guru w zakresie silników graficznych gier, od kilku lat pracuje nad kolejną generacją silnika, wykorzystywaną do przygotowania gry "Doom 3". Pierwsze pokazy możliwości tego modelu odbyły się już dwa lata temu, wywołując żywe zainteresowanie nowatorską grafiką, jednak wobec przedłużających się prac stracił wiele ze swej innowacyjności, na dodatek wciąż brakuje precyzyjniejszych informacji na jego temat.

Z uwagi na charakter gry, do której opracowania służy (horror SF), duży nacisk położono na optymalne wykorzystanie oświetlenia, pozwalającego symulować na przykład rozjaśnienie pokoju przez zmiany obrazu na ekranie monitora. Zamiast stosować wyliczane wcześniej mapy oświetlenia, wszystkie źródła światła są liczone dynamicznie, z uwzględnieniem efektów rozproszeniowych (w zakresie limitowanym z uwagi na wymóg czasu rzeczywistego). Modele postaci mogą dysponować znaczną liczbą ścianek, mapy wgłębień pozwalają na odwzorowanie szczegółów nieuwzględnionych w samej budowie geometrycznej. Animacja postaci obejmuje miksowane sekwencje ruchowe, ruchy oczu i synchronizację warg z wypowiadanymi dźwiękami. Rozbudowany system detekcji kolizji i symulacji fizycznej ma zapewniać dużą interaktywność otoczenia. Nowatorską cechą detekcji kolizji w "Doom 3" jest to, że nie polega na zastępowaniu złożonych modeli uproszczonymi (a więc mniej dokładnymi), lecz jest liczona na poziomie poszczególnych ścianek. Jakość symulacji fizycznych przygotowanych z takim systemem detekcji jest wyraźnie większa od uzyskiwanej w silnikach operujących uproszczonymi metodami. Mimo że "Doom 3" trafia właśnie na półki sklepowe, silnik gry nie jest na razie sprzedawany.

Source

W pogoni za kinem

Specjalizowany edytor odpowiedzialny za mimikę i synchronizację mowy z ruchami ust umożliwia odwzorowanie różnych stanów emocjonalnych postaci (silnik: Source).

Source opracowany przez Valve Software (http://www.valvesoftware.com/ ), napędzający "Half Life 2", mający się niedługo ukazać, to jeden z najbardziej innowacyjnych silników wykorzystanych w grach roku 2004, dlatego warto poświęcić mu nieco więcej miejsca.

To pierwszy silnik oferujący oświetlenie uwzględniające dużą dynamikę koloru (HDRI). Oświetlenie typu radiosity w czasie rzeczywistym, dynamiczne światła, oświetlenie liczone dla poszczególnych wierzchołków i różne rodzaje jego źródeł (w tym o zmiennej jasności) oraz interaktywne cienie pozwalają uzyskać wyrafinowane efekty świetlne także w scenach z wieloma postaciami.

Animację postaci - na którą może się składać wiele oddziałujących na siebie warstw opisujących ruch - rozszerzono zwłaszcza o narzędzia związane z mimiką, wykorzystujące mechanizm morfowania do uzyskania praktycznie dowolnego wyrazu twarzy na podstawie zestawu predefiniowanych stanów emocjonalnych. Synchronizacja ruchu ust z wypowiedzią następuje automatycznie na podstawie analizy dźwięku. Oczy postaci modelowane są jako niezależne eliptyczne bryły, co pozwala im śledzić ruchy bohatera i koncentrować na nim wzrok, a eliptyczny kształt zapewnia większy realizm odblasków. Source został także wyposażony w system symulujący pracę mięśni.

Rick Ellis, programista z Valve, wyjaśnia zasady deformowania terenu: "Wierzchołki są przesuwane w przestrzeni 3D w sposób zaprogramowany w czasie adekwatnym do czasu działania efektu. Można w ten sposób utworzyć krater lub użyć deformacji do niezwykle dramatycznego efektu, gdy jakiś potwór wydobywa się spod powierzchni. Source narzuca tu jednak pewne ograniczenie, gdyż obiekty używane w czasie detekcji kolizji nie mogą podlegać zmianom i programista musi przyporządkować jeden zestaw uproszczonych brył do odkształcanego fragmentu podłoża. Z reguły nie jest to problem, gdyż deformacja następuje, zanim gracz dojdzie do miejsca akcji". Dodajmy, że roślinność (trawa, drzewa) jest renderowana dynamicznie.

Własności fizyczne są integralną częścią systemu materiałów, dlatego przyporządkowanie obiektowi materiału ma wpływ nie tylko na jego wygląd, ale także na wydawane przez obiekt dźwięki i inne fizyczne zachowania: bezwładność, wyporność, reakcję na trafienie pociskiem. Elementem zwiększającym interaktywność otoczenia jest możliwość łamania obiektów na części. Ellis wyjaśnia ten mechanizm następująco: "Grafik może wymodelować fragmenty obiektu w dowolny sposób. Do dyspozycji mamy prosty język skryptowy, który pozwala zdefiniować, jak model będzie się łamał, poprzez dodanie fizycznych wiązań i oddziaływań między fragmentami oraz wprowadzenie sił fizycznych między nimi w chwili, gdy obiekt się łamie. Narzędzia mogą być stosowane na zasadzie iteracji: poszczególne części także mogą się łamać". Moduł symulacji fizycznej w Source uwzględnia takie efekty, jak tarcie, bezwładność, a nawet sprężystość (co pozwala na przykład definiować pojazdy wykorzystujące system amortyzacji o określonym progu reakcji i tłumieniu). Moduł AI umożliwia symulowanie niezwykle inteligentnych zachowań: komputerowi przeciwnicy potrafią szukać bohatera, zaglądać przez okna do pomieszczeń, podejmując dalsze decyzje na podstawie tego, czy zauważyli, usłyszeli albo wyczuli coś dziwnego, czy nie. AI uwzględnia reakcje z obiektami podlegającymi symulacji fizycznej i pozwala na odwzorowanie zachowań grupowych.