Co to jest środowisko „2.5D”?

31

Nie rozumiem znaczenia terminu „2.5D”. Jestem szczególnie zdezorientowany różnicą między środowiskami 2.5D i 3D, mimo że przeczytałem różne definicje i artykuły na temat obu. Rozumiem części, w których 2.5D jest jak 3D, ale nie dostaję części, w których 2.5D jest inny.

Więc, co to znaczy dla gry, aby być 2.5D? Na przykład, czy pokazana tutaj gra 2.5D?

Mario

Mathieug
źródło
10
O ile mi wiadomo, jego 2.5D, gdy duszki są używane do symulacji wyglądu 3D. Ilekroć masz stałą kamerę, ale nadal pracujesz z geometrią 3D, jest to nadal gra 3D. Na zrzucie ekranu wygląda na to, że Mario jest modelem 3D, więc gra wydaje się być w pełni 3D. Chodzi o to, czy emulujesz 3D, czy faktycznie renderujesz geometrię 3D w typowym potoku 3D.
Grimshaw
@Grimshaw Więc czy 2.5D oznacza, że ​​silnik może być 2D na przykład z modelami 3D? Jestem pewien, że istnieje odpowiednik, jeśli tworzysz tego rodzaju grę z silnikiem 2D, a także z silnikiem 3D. Czym oni są? Koszt wydajności dla 3D?
mathieug
4
2.5D oznacza prawie wyłącznie, że używasz obrazów 2D (duszków) do renderowania swojego świata, nawet jeśli wygląda trochę w 3D. Sprawdź gry izometryczne, takie jak Clash of Clans, aby zobaczyć przykłady gier 2.5D, w pełni renderowane w 2D, ale wygląda to jak gra 3D. Kiedy zaczynasz wprowadzać swoje światowe modele 3D, przechodzisz na pełny 3D, a termin 2.5D już nie obowiązuje. Oznacza to, że kamera nie ma związku z tym, czy renderujesz 3D. 3D nie dotyczy projekcji ani zachowania kamery, ale raczej geometrii.
Grimshaw
To pytanie wydaje się być nie na temat, ponieważ dotyczy funkcji konkretnej gry. Pytanie, które zadaje (tylko), jaka byłaby definicja lub znaczenie terminu „2.5D” byłoby odpowiednie (wydaje mi się, że już mamy już jedną zmienną), ale pytanie, czy jest to konkretna gra, nie mieć coś wspólnego z tworzeniem gry; i pytając, czy powinieneś stworzyć grę 2.5D i dlaczego nie jest obiektywna.
Josh
3
@JoshPetrie What? W jaki sposób dodanie przykładu, w którym jego zrozumienie prowadzi do dwuznaczności, sprawia, że ​​pytanie nie jest ogólnie przydatne? W tym przypadku (gdy podstawowe pytanie jest całkowicie poprawne, ale istnieje niewielka ilość wzdęć spowodowanych przez OP raczej niezdarnie tłumaczących się), pytanie powinno pozostać otwarte. Jeśli jest to duplikat, zamknij go jako duplikat.
ClassicThunder

Odpowiedzi:

60

Terminy 2D i 3D (jak zapewne już wiesz) odnoszą się do liczby wymiarów przestrzennych w euklidesowej przestrzeni świata. Ta wymiarowość musi być liczbą porządkową; nie ma czegoś takiego jak pół-wymiar , więc termin 2.5D jest tak naprawdę nonsensem i nie ma żadnego wewnętrznego znaczenia. To powiedziawszy, 2.5 jest „gdzieś pomiędzy” 2 a 3, więc 2.5D ogólnie oznacza coś w stylu „gdzieś pomiędzy 2D i 3D”.

Osobiście używam tego terminu w odniesieniu do przypadków, w których graficzne i logiczne przestrzenie świata mają różne wymiary. W szczególności istnieją tutaj dwa różne warianty:

  • Logiczne 2D i graficzne 3D . Na przykład platformówka z mechaniką i fizyką gry 2D, ale renderowana za pomocą siatek 3D i kamery perspektywicznej. Większość przeróbek klasycznych gier arkadowych, takich jak Pac-Man, Breakout itp., Należy do tej kategorii. Na zdjęciu poniżej: Ananas Smash Crew

Ananas Smash Crew ma miejsce w świecie 2D, ale jest renderowany w 3D.

  • Logiczne 3D i graficzne 2D . Przykłady obejmują gry takie jak Gnomoria lub SimCity 2000, które mają światy gier 3D, ale są renderowane w widoku izometrycznym 2D. Na zdjęciu poniżej: Xenonauts

Ataki naziemne ksenonautów odbywają się na siatce 3D, ale są renderowane w całości za pomocą duszków 2D.

Inne powszechne użycie tego terminu (choć nie takie, którego używam) dotyczy gier, które wykorzystują połączenie grafiki 3D i billboardu 2D. W tym przypadku termin w ogóle nie opisuje logicznej wymiarowości gry. Praktycznie wszystkie gry 3D wykorzystują billboard w taki czy inny sposób, w tym systemy cząsteczkowe, serwery proxy odległych obiektów i nakładki interfejsu użytkownika w świecie. Dlatego termin ten jest zwykle używany tylko wtedy, gdy znaczna część obiektów niebędących tłem używa grafiki 2D, a granica między 2,5D a 3D jest nieco rozmyta.

brcrist
źródło
17
Nawiasem mówiąc, istnieje coś takiego jak wymiar ułamkowy, ale nie ma to nic wspólnego z terminem rozwoju gry „2.5D”; pojawia się w badaniu fraktali i innych dziwnych kształtów topologicznych. Na przykład kwadratowa powierzchnia Kocha (typ 2) ma wymiar Hausdorffa (powszechny sposób definiowania wymiaru fraktalnego) wynoszący dokładnie 2,5.
Lily Chung
9
@IstvanChung Tak, technicznie masz rację i rozważałem wzmiankę o tym, ale pomyślałem, że to tylko pomieszanie problemu. Myślę, że niewielu twórców gier musi wiedzieć o przestrzeniach topologicznych poza n-wymiarową przestrzenią euklidesową, a jeśli tak, to prawdopodobnie rozumieją, że nie mówię o fraktalach.
bcrist
1
@Pharap i ... gotowe!
bcrist
2
@bcrist Gdybym mógł głosować drugi raz, zrobiłbym to, więc po prostu poproszę kogoś, aby głosował za mnie mocą mojego mózgu.
Pharap
2
Naprawdę podoba mi się to logiczne i graficzne rozróżnienie. Podczas gdy większość odpowiedzi / komentarzy wydaje się zakładać, że 2.5D oznacza grafikę 2D, tak naprawdę myślę o grafice 3D. więc twoje logiczne i graficzne rozróżnienie jest świetnym sposobem na objęcie obu pojęć 2.5D
jhocking
27

Pierwszą znaną mi grą, w której zastosowano termin „2.5D”, był Doom (chociaż Wolfenstein 3D też w pewnym sensie się kwalifikuje).

Wolfenstein 3D był zasadniczo grą 2D z prezentacją 3D. Nawigowałeś po labiryncie 2D, wszystkie podłogi były płaskie, wszystkie sufity były na tej samej wysokości, nie było okien, drzwi były od podłogi do sufitu i były otwierane na boki, i nigdy nie mogłeś być na innym obiekcie ani pod nim. Gra wykorzystywała raycasting, aby dowiedzieć się, dla każdej kolumny ekranu, jak daleko ściana była w tym kierunku i jaką teksturę miała ściana; następnie narysowano kolumnę tekstury ściany o wysokości odwrotnie proporcjonalnej do odległości, a przestrzeń powyżej i poniżej pomalowano wypełnieniem podłogi i sufitu. Wrogowie i przedmioty były duszkami o ograniczonej liczbie aspektów, a ich rozmiar znów był proporcjonalny do odległości.

Doom zastosował technologię bardzo podobną do Wolfenstein 3D, ale wykorzystał ją, aby uzyskać więcej wrażeń 3D. Mapy były nieruchome2D, reprezentowane za pomocą partycjonowania przestrzeni binarnej 2D (stąd nazwa pliku mapy .BSP). To, co zobaczyłeś na automapie po wciśnięciu klawisza, było po prostu bezpośrednim renderowaniem 2D mapy. Ale każdy sektor miał niezależną „wysokość podłogi” i „wysokość sufitu”, a krawędzie miały tekstury górnej i dolnej strony (używane, gdy miały niższą wysokość sufitu lub wyższą wysokość podłogi, niż część ich otoczenia). Pozwoliło to na schody, okna, platformy, pule i inne efekty - silnik musiał po prostu móc przechodzić listę wielu sektorów, zanim ostatecznie uderzył w ścianę, i ich odpowiednie tekstury. Ale nadal nie możesz mieć prawdziwej architektury 3D - możesz zrobić „most” na jakimś szlamie za pomocą podniesionej części podłogi, ale nie byłoby możliwe, aby cokolwiek znalazło się podmost. Pozycja w grze to nadal tylko X i Y. Jedyną kontrolą, jaką gracz ma nad swoją wysokością, jest spadanie z przedmiotów, a także windy, które są po prostu sektorami, które są napisane w skryptach w celu zmiany wysokości podłogi. Wrogowie nadal są duszkami (choć myślę, że mieli więcej aspektów), strzały „autocelują” na wysokości, ponieważ wykrywanie kolizji jest tylko dwuwymiarowe i nie było w niej modelu 3D.

Heretic i Hexen zastosowali silniki Dooma, które posunęły się o krok dalej, do tego stopnia, że ​​czasami nazywano je „2.75D”; mieli większość takich samych ograniczeń architektonicznych i wrogów opartych na duszkach, ale dodali możliwość patrzenia w górę i w dół (przechylanie widoku, ale tylko do tej pory, bo inaczej silnik się zepsuje) oraz skakania, latania i kucania (niezależnie zmieniając wysokość).

Hobbs
źródło
1
+1, słyszałem termin 2.5D, gdy ludzie mówili o raycastowaniu. Dobre wytłumaczenie!
Ruben
5
+1 ta odpowiedź jest poprawna w odniesieniu do pierwszego historycznego użycia tego terminu.
R ..
to jest najbardziej (praktycznie) poprawna odpowiedź, nie jestem pewien, dlaczego nie jest to pierwszy…
Sarge Borsch,
Chociaż odpowiedź ta może być historycznie poprawna, nie jest to przyjęta lub oczekiwana definicja branżowa. Obecnie każda gra opisana jako 2.5D jest powszechnie rozumiana jako renderowanie 2D w 3D.
Ted Bigham
Myślę, że ograniczenie wyszukiwania w górę / w dół w grach takich jak Heretic opierało się na fakcie, że wysokości obiektów były uwzględniane tylko we współrzędnych Y ekranu, a nie we współrzędnych X, a zatem wszystkie pionowe linie w scenie byłyby renderowane jako pionowe. Jeśli ktoś patrzy w górę lub w dół pod płytkim kątem, nie byłoby to zbyt zauważalne, ale przy bardziej stromych kątach byłoby to bardzo niekorzystne. Nie sądzę, aby bardziej strome kąty zepsułyby silnik, ale jedynie iluzja.
supercat
11

2,5D

Terminy 2.5D („dwa i pół-wymiarowe”), perspektywa, i pseudo-3D ar, głównie w branży gier wideo, używane do opisywania projekcji graficznych 2D i podobnych technik stosowanych do wywoływania serii obrazów (lub scen) w celu symulacji wyglądu trójwymiarowości (3D), gdy tak naprawdę nie są, lub rozgrywki w trójwymiarowej grze wideo, która jest ograniczona do płaszczyzny dwuwymiarowej.

Z mojego doświadczenia wynika, która definicja jest podkreślona, ​​zależy od wieku osoby, z którą rozmawiasz.

  1. Starsi gracze mają tendencję do korzystania z pierwszej definicji „ Rzutów graficznych 2D i podobnych technik używanych do wywołania serii obrazów (lub scen) w celu symulacji wyglądu trójwymiarowości (3D), podczas gdy w rzeczywistości tak nie jest

  2. Młodsi gracze używają drugiej definicji „ rozgrywki w trójwymiarowej grze wideo, która jest ograniczona do dwuwymiarowej płaszczyzny ”.

Osobiście używam drugiej definicji. Moim zdaniem Trine, Donkey Kong i Super Mario Bros Wii U byłyby 2,5D. Dodatkowo znacznik Steam 2.5D korzysta z drugiej definicji. Sądzę, że jest to dobry test lakmusowy dla tego, jak typowy gracz definiuje pojęcie) i jako taki uważam, że druga definicja jest bardziej poprawna .

3D

Każda gra wideo z grafiką 3D, która jest obliczana w 3 wymiarach. Zauważ, że dzięki temu jest to super zestaw drugiej definicji 2.5D.

ClassicThunder
źródło
Platforma Shadow Complex uważam za bardzo interesujący przypadek, ponieważ interakcje mogą się zdarzyć w 3D, nawet lokalizacji wrogów. Jednak wycelowanie w nie pistoletu wymagało wskazania kąta 2D, który byłby zgodny z miejscem, w którym projekcja z 3D umieściła je na ekranie. Następnie postać zadbała o odsunięcie tego kąta i skierowanie pistoletu w kierunku osi Z.
Seth Battin
6

2.5D to po prostu wygodny sposób na powiedzenie 2D, który wygląda na 3D.
Przypuszczam, że naprawdę można rozmazać linie definicji, jeśli na przykład używasz silnika 3D, ale ograniczasz rozgrywkę tylko do płaszczyzny 2D, ale osobiście rozważę coś 2.5D, czy wygląda 3D, ale działa 2D.

DFreeman
źródło
Dzięki. Mój pomysł na projekt wyglądałby jak 3D, ale wciąż zastanawiam się nad silnikiem 2D lub 3D i innymi rzeczami. Czy możesz mi powiedzieć więcej o 2.5D / 3D zorientowanym na zrzut ekranu, który opublikowałem?
mathieug
Boję się, że nie widzę zrzutu ekranu (zablokowany w pracy), więc nie mogę komentować.
DFreeman
3

Zrzut ekranu gry, który opublikowałeś, to gra 3D.

W grze 3D obiekty są rysowane za pomocą wierzchołków w celu narysowania rzeczywistych obiektów 3D, które następnie są kolorowe, teksturowane i tak dalej.

W grze 2D obiekty są pobierane z duszków / arkuszy duszków itp.

Różnica między nimi polega na tym, jak je wyświetlić. Duszek jest jak płaski kawałek papieru. Nie możesz go zobaczyć pod innym kątem lub kątem, bo duszek zostanie przekrzywiony. Na obiekcie 3D, gdy kamera się porusza, można zobaczyć różne części obiektu, ponieważ obiekt jest dobrze 3D.

W grze 2.5D łączysz oba te światy. Pamiętaj tylko dlatego, że nie można przesunąć kamery, aby zobaczyć różne ujęcia, nie czyni gry inną niż 3D. Decydują o tym obiekty, które się w nim znajdują.

Dobrym przykładem gry 2.5D jest Ragnarok Online. To, co sprawia, że ​​2.5D, to fakt, że świat jest w większości skompromitowany z obiektami 3D. Budynki, krajobraz itp. To teksturowane obiekty 3D. Możesz obrócić kamerę górną i jednocześnie zobaczyć różne strony tych obiektów. Możesz zobaczyć przód budynku, a także obszar lewej / prawej / dachu. Gracze są jednak duszkami 2D, które wydają się stać w pozycji stojącej do góry. Jeśli zbyt mocno obrócisz kamerę, gra musi załadować inną komórkę arkusza ikonek, aby ta postać zmieniła swój wygląd. Nie możesz oglądać różnych kątów postaci, ponieważ nie są one 3D. Kąty są ładowane dynamicznie w zależności od widoku z kamery.

http://sprites.technoized.com/images/sprite/ro/gm_m.png

To jest arkusz duszków z gry. Gdybyś tylko popatrzył na to, założyłbyś, że pochodzi z gry 2D. Sam, miałbyś rację. Ale po umieszczeniu w świecie 3D masz grę 2.5D.

Joe Swindell
źródło
Myślę, że 2.5Djest mylący, ponieważ jest to po prostu ludzka interpretacja itp., A nie coś technicznego. Na przykład, jaka jest Twoja gra, jeśli używasz techniki Billboard do wszystkiego (itp. Teksturowanych quadów) w środowisku 3D, jeśli są obracane zawsze przed Tobą? Niektórzy mogą powiedzieć, że 2.5D, ale większość zestawu powie 3D, ponieważ jest głębia Z. Technicznie, jeśli używa wierzchołków 3D (czyli wymiaru Z), to jest 3D, jeśli używa tylko X / Y (powiedzmy, Super Mario bros ), to jest 2D. Ale jeśli używa tylko 2D (x / y) w środowisku 3D (w tym postaci), to nadal jest 3D, ale 2.5D z interpretacji .
2

2.5D jest często innym sposobem na powiedzenie „izometryczny” - grafika 2D narysowana w taki sposób, aby wyglądała jak 3D, ale nie symulowała współrzędnych 3D. Zobacz artykuł w Wikipedii na temat grafiki izometrycznej: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art

Istotą jest to, że w 2,5D / izometryczny nadal używasz układu współrzędnych 2D - z osiami xiy tylko do obliczania grafiki. Twoja grafika może być po prostu duszkami 2D, które są zwykle rysowane tak, że można zobaczyć trzy ściany, a następnie umieszczane na ekranie za pomocą współrzędnych (x, y). Czasami duszki są nawet tworzone przez modelowanie w 3D, a następnie tworzenie duszek 2D modelu 3D pod wieloma kątami.

Ruchome obiekty charakteryzują się tylko kilkoma kątami, z których można je oglądać. Jeśli zakręcisz postacią w widoku izometrycznym, nie będzie się ona gładko obracać, ale zobaczysz kilka różnych kątów, takich jak przód, 3/4, bok i tak dalej. Wynika to z faktu, że każdy unikalny kąt widzenia wymaga zupełnie nowego zestawu duszków.

Gry izometryczne zwykle obsługują tylko jeden kąt kamery, ze względu na ograniczenia tego typu systemu. Inną cechą wyróżniającą gry izometryczne jest to, że zazwyczaj nie mają punktów zbiegu. Gdy patrzysz na obiekt w prawdziwym życiu, jeśli obiekt jest bliżej ciebie, będzie on większy w twojej wizji. Jeśli obiekt jest dalej, będzie mniejszy. W grach izometrycznych wszystkie obiekty zwykle mają ten sam rozmiar bez względu na to, gdzie się znajdują w przestrzeni.

Dla porównania gry 3D symulują wszystkie 3 osie - x, y i z. Na bardzo niskim poziomie komputer tłumaczy x, y i z na x, y, aby wyświetlić je na monitorze, ale na wyższym poziomie artyści faktycznie manipulują punktami na 3 osiach, aby przedstawić obiekty. Ponieważ komputer ma wszystkie informacje o kształcie obiektu, może dynamicznie obliczać, co ten obiekt wygląda pod dowolnym kątem, i może wydawać się mniejszy lub większy, gdy się do niego zbliżasz lub oddalasz.

Niektóre gry to połączenie 2.5D i prawdziwego 3D. Przykładem, o którym mogę pomyśleć, jest seria Disgaea, która zawiera tła 3D i duszki 2D.


źródło
2

Nie jestem pewien, jaka byłaby bardziej akceptowana definicja, ale ja i ludzie z mojej poprzedniej firmy uważaliśmy, że „każda gra, która wygląda jak izometryczny 3D, ale jest renderowana za pomocą duszków 2D”, to 2.5D.

Teraz wyjaśnię, dlaczego to zrobiliśmy. Generalnie renderowanie świata 3D z dużą ilością obiektów spowoduje zbyt dużą presję na przetwarzanie, obniżając liczbę klatek na sekundę. Aby temu zaradzić, generalnie tworzyliśmy obiekty w oprogramowaniu do renderowania 3D, takim jak Maya, i renderowaliśmy je jako duszki. Które można wykorzystać w grze. Nie wspominając o tym, że kąt był brany pod uwagę podczas renderowania. Mówiąc o tej technologii z wydawcą, zwykle używamy tego terminu. Świat 3D, który wygląda jak świat 2D, jest dla nas technicznie 3D. Dlatego na ogół nie używaliśmy tego terminu dla tej metody. Pomyślałem, że powinienem się tutaj podzielić.

Nowicjusz
źródło
1

Zazwyczaj termin „2.5-D” odnosi się do jednego z dwóch bardzo różnych stylów gier.

Może to oznaczać:

1) Gra wykorzystująca techniki renderowania 2D, ale kontrolująca w 3 wymiarach przestrzennych. Zwykle używa sztuczek graficznych, aby wyglądały tak, jakby były renderowane w 3D. Było to bardzo powszechne w latach 90., ale dzisiaj nie tak bardzo. (Przykłady: „DOOM”, „Duke Nukem 3D”, „Wolfenstein 3D”)

2) Gra całkowicie renderowana w 3D, ale która kontroluje wyłącznie wzdłuż jednego lub więcej samolotów 2D. Ten styl jest bardzo popularny do dziś. (Przykłady: „Little Big Planet”, „New Super Mario Bros.”, „Trials HD”)

Należy zauważyć, że przy użyciu wzorca architektonicznego widok-model-kontroler pierwszy styl gry ma „model”, który reprezentuje dane w 3 wymiarach, ale „widok”, który wyświetla je użytkownikowi tylko w 2 wymiarach; drugi styl gry jest odwrotny.

android927
źródło
0

W 2.5D używasz zasobów 2D / technik renderowania, aby dać wrażenie środowiska 3D.

Teraz, z tą definicją, w następującym potencjalnie niejednoznacznym scenariuszu wymagane jest pewne opracowanie:

Gra A

Używając grafiki 3D, GPU przyspieszone i wszystkie (obiekty gry to siatki, a nie obrazy), ze stałym kątem kamery. Zróbmy jeszcze gorzej, rzut jest ortograficzny, klasyczny 63,43 stopnia. Jedynym sposobem, aby zauważyć na pierwszy rzut oka, że ​​grafika nie jest 2D, jest to, że 3DGC, z wyjątkiem tego, że renderujesz je z niezwykłą starannością, łatwo można odróżnić od sprite'ów do rysowania ręcznego, niezależnie od projekcji użytej do ich renderowania. Możesz eksperymentować z różnymi technikami renderowania, parametrami, modułami cieniującymi itp., A będziesz miał trudności z ukryciem faktu, że są to siatki 3D.

Gra B

Port w grze A, ale ukierunkowany na platformy, o których wiadomo, że mają sprzęt, który nie radzi sobie zbyt dobrze z grafiką 3D lub wcale go nie obsługuje. Następnie port zastępuje siatki spritami. Nadal używa na przykład 3D Bounding Boxes do kolizji, a obiekty mają właściwość position z wartościami x, y i z, ponieważ logika gry w większości nie została dotknięta lub w ogóle nie została dotknięta, tylko kod renderowania został zmieniony.

Ponieważ duszki w grze B są renderami zasobów 3D gry A, a dla uproszczenia gry gra A nie robi niczego, co wymaga skomplikowanych shaderów, w 99% wszystkich procesorów graficznych nie można odróżnić ramki od gry B kadru z gry A.

W 2.5D interakcja między obiektami gry jest ograniczona do zestawu sytuacji, w których iluzja 3D nie może zostać naruszona. Na przykład, aby reprezentować przytulanie się dwóch znaków, musisz utworzyć pojedynczy plik obrazu z interakcją dwóch znaków, ponieważ próba przedstawienia operacji przytulania tylko przy użyciu jednego obrazu na znak byłaby zbyt trudna lub niemożliwa. Może możesz przyjść z postacią podzieloną na części i narysować je we właściwej kolejności. W 3D problem ten nie istnieje (istnieje inny, polegający na prawidłowym ułożeniu dwóch znaków, aby nie przenikały przez siatkę drugiego znaku).

Teraz, aby to zwizualizować, wyobraź sobie, że w grze A i B występuje błąd, który w niektórych sytuacjach pozwala postaci gracza przejść przez inny obiekt gry, umożliwiając nam łatwe rozróżnienie między 2.5D a 3D.


Gra B, 2.5D Renderowanie, duszki są uporządkowane według wartości z wektora położenia. W tym przykładzie dodatnie z jest w dół, a ujemne z jest w górę. oś z i oś y są równoległe, ale z jest skalowane o współczynnik 0,5 y. Więc jeśli widoczny obszar wynosi od 10 do 10 lat, w tym samym obszarze mamy od 20 do 20 z. Obiekty z większym z zostaną narysowane jako ostatnie, więc będą postrzegane jako znajdujące się przed obiektami o niższym z. Cień postaci gracza wygląda dziwnie, ponieważ cienie są w wyższej warstwie niż podłoga, ale w gorszej warstwie niż wszystkie inne obiekty, więc cień postaci gracza nigdy nie znajduje się na kostce.

Renderowanie 2.5D


Gra A, renderowanie 3D. Bufor głębokości (znany również jako bufor Z) służy do testowania głębokości z precyzją pikseli. Zatem obiekt nie musi całkowicie zamykać innego, nawet trójkąt nie musi całkowicie zamykać innego, mamy test głębokości precyzji pikseli. Możemy obracać obiekty gry w dowolny sposób i nadal uzyskiwać realistyczne wyniki, gdy wchodzą w interakcje.

Renderowanie 3D

W CV: w wersji 2.5D duszek znajduje się przed lub za innym duchem. W 3D siatka składa się z trójkątów, ale trójkąt nie jest minimalną jednostką podczas testowania głębokości, możesz mieć precyzję pikseli. Oczywiście obrót kamery w 2.5D jest niemożliwy, ponieważ zasoby zostały utworzone dla stałego kąta kamery, podczas gdy w 3D jest naturalne, jeśli kąty kamery są ograniczone przez projekt w grze 3D to inny temat.


Istnieją różne triki, które dają wrażenie bycia w świecie 3D, gdy można tylko renderować grafikę 2D, przedstawiłem tylko szybko spreparowany przykład z wykorzystaniem niektórych zasobów mojego opuszczonego projektu.

Dlaczego nie zawsze używać 3D i zapomnieć o 2.5D?

Cóż, mogę pomyśleć w kilku przykładach, dlaczego deweloper może preferować podejście 2.5D:

  • Być może nie znają lub nie lubią interfejsów API 3D (Direct3D, OpenGL, są inne).
  • Być może platforma docelowa nie obsługuje dobrze grafiki 3D (stare komputery stacjonarne, konsole 2D).
  • Twój zespół może robić niesamowite duszki, ale nie modele 3D.

Jak bardzo możesz przybliżać wyniki grafiki 3D za pomocą 2.5D?

Istnieje horyzont wydajności i złożoności programowania. Gdy zbliżysz się do tego horyzontu, zaczniesz wątpić, czy Twój projekt jest naprawdę możliwy w 2.5D, czy też musisz przejść do pełnego 3D. Na przykład możesz użyć buforowania Z w wersji 2.5D (teoretycznie), ale czy możesz zapłacić koszt pamięci wideo (stary komputer stacjonarny z wbudowaną grafiką, a nie wydajne urządzenia mobilne)? Czy chcesz zapłacić koszt przechowywania dodatkowego obrazu, aby zapisać maskę Z każdego duszka?

Dobrymi kandydatami do 2.5D są gry RPG, myślcie, że Baldur's Gate lub RTS uważa Age of Empires 1 i 2 (AoE 3 jest w pełni 3D i łatwo je odróżnić).

Przydatne referencje:

Buforowanie Z: http://en.wikipedia.org/wiki/Z-buffering

Rzuty ortograficzne: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html

Hatoru Hansou
źródło