“2.5D” ortamı nedir?


31

"2.5D" teriminin anlamını anlamıyorum. Her ikisi hakkında farklı tanımlar ve makaleler okuduğum halde, özellikle 2,5D ve 3B ortamlar arasındaki fark konusunda kafam karıştı. 2.5D'nin 3D'ye benzeyen kısımlarını anlıyorum ama 2.5D'nin farklı olduğu kısımları anlamıyorum.

Peki, bir oyunun 2.5D olması ne anlama geliyor? Mesela, oyun 2.5D'de gösteriliyor mu?

Mario


10
Bildiğim kadarıyla, 3B görünümünü simüle etmek için sprite kullanıldığı zamanki 2.5D'si. Sabit bir kameranız olmasına rağmen hala 3D geometri ile çalışıyorsanız, hala bir 3D oyun. Ekran görüntüsü, Mario bir 3D model gibi görünüyor, bu yüzden oyun tam 3D gibi görünüyor. Tamamen 3B öykünme veya gerçekte 3B geometriyi tipik bir 3B boru hattında oluşturma konusunda.
Grimshaw

@Grimshaw 2.5D, örneğin motorun 3D modeller ile 2D olabileceği anlamına mı geliyor? Bu tür bir oyunu 2D motorla ve ayrıca 3D motorla yaparsanız bir meslektaşı olduğuna eminim. Onlar neler? 3D için performans maliyeti?
mathieug

4
2.5D, dünyanızı oluşturmak için, hatta 3D olarak görünse bile 2D görüntüleri (sprite) kullandığınız anlamına gelir. Tamamen 2D olarak işlenen 2.5D oyunlarının örnekleri için Clash of Clans gibi izometrik oyunları kontrol edin, ancak bir 3D oyuna benziyor. Dünyanızda 3D modeller takmaya başladığınızda, tam 3D gidiyorsunuz ve 2.5D terimi artık geçerli değil. Bu, kameranın 3B oluşturup oluşturmadığınızla hiçbir ilgisi olmadığını söyler. 3B projeksiyonlar veya kamera davranışı ile ilgili değil, geometri ile ilgilidir.
Grimshaw

Bu soru konu dışı görünüyor çünkü belirli bir oyunun özellikleri ile ilgili. "2.5D" teriminin ne anlama geldiğini veya ne anlama geldiğini soran bir soru (sadece bir tane varmış gibi yüzdüğümüzü hissediyorum) ama belirli bir oyun olup olmadığını sormak bir soru değil oyununuzu yapmakla ilgisi var; ve bir 2.5D oyunu yapıp yapmadığınızı ve neden objektif olmadığını sormak.
Josh

3
@JoshPetrie Ne? Anlayışının belirsizliğe neden olduğu noktaya bir örnek eklemek, sorunun genel olarak yararlı olmasını nasıl önler? Bu durumda (ana sorunun mükemmel bir şekilde geçerli olduğu ancak OP'nin kendisinin beceriksiz bir şekilde kendisini açıklamasının neden olduğu küçük miktarda şişkinlik olduğu) sorunun açık bırakılması gerekir. Eğer bir kopya ise, bir kopya olarak kapatın.
ClassicThunder

Yanıtlar:


60

2B ve 3B terimleri (muhtemelen zaten bildiğiniz gibi) Öklid dünyasındaki uzamsal boyutların sayısını ifade eder. Bu boyutluluk sıralı bir sayı olmalıdır; Yarım boyut diye bir şey yoktur , bu nedenle 2.5D terimi gerçekten saçma bir terimdir ve kendine özgü bir anlamı yoktur. Bununla birlikte, 2.5, "2 ile 3 arasında" bir yerdedir, yani 2.5D, genellikle "2D ve 3D arasında bir yerde" hatları boyunca bir şey anlamına gelir.

Şahsen, bir oyunun grafiksel ve mantıksal dünya-uzaylarının farklı boyutlara sahip olduğu durumlara atıfta bulunmak için kullanıyorum. Özellikle, burada iki farklı değişken vardır:

  • 2D mantıksal ve 3D grafiksel . Örneğin, 2B oyun mekaniği ve fiziği olan bir platform, ancak 3B kafesler ve perspektif bir kamera ile oluşturulmuş. Pac-Man, Breakout, vb. Gibi klasik arcade oyunlarının çoğu yeniden bu kategoriye girer. Resimde: Ananas Smash Ekibi

Ananas Smash Mürettebat 2D dünyada gerçekleşir, ancak 3D olarak yapılır.

  • 3D mantıksal ve 2D grafik . Örnekler arasında, Gnomoria veya SimCity 2000 gibi 3D oyun dünyalarına sahip olan ancak 2B izometrik görünümde sunulan oyunlar yer alıyor. Resimde: Xenonauts

Xenonauts kara saldırıları bir 3B ızgara üzerinde gerçekleşir, ancak tamamen 2B sprite kullanılarak yapılır.

Terimin diğer bir yaygın kullanımı (kullandığım biri olmasa da), 3D ve reklam panosu 2D grafiklerin bir kombinasyonunu kullanan oyunları ifade eder . Bu durumda, terim, oyunun mantıksal boyutunu hiç tanımlamaz. Neredeyse tüm 3D oyunlar, parçacık sistemleri, uzaktaki nesne proxy'leri ve dünya içi kullanıcı arabirimi kaplamaları dahil olmak üzere, bir şekilde veya başka şekilde reklam panosunu kullanır. Bu nedenle, terim genellikle yalnızca arka plan olmayan nesnelerin önemli bir kısmı 2D grafik kullandığında ve 2.5D ile 3D arasındaki sınır biraz bulanıksa kullanılır.


17
Bu arada, kesirli bir boyut gibi bir şey var, ancak oyun geliştirme terimi "2.5D" ile hiçbir ilgisi yok; fraktallar ve diğer garip topolojik şekillerin incelenmesinde ortaya çıkıyor. Örneğin, Kuadratik Koch yüzeyi (tip 2), tam olarak 2.5 olan bir Hausdorff boyutuna (fraktal boyutu tanımlamanın genel bir yolu) sahiptir.
Lily Chung

9
@IstvanChung Evet, teknik olarak haklısınız ve ben de bahsetmeyi düşündüm, ancak bunun sadece konuyu karıştırmayacağını düşündüm. Çok az oyun geliştiricisinin n boyutlu Öklid uzayının dışındaki topolojik uzayları bilmesi gerektiğini düşünüyorum ve eğer öyleyse, muhtemelen fraktallardan bahsetmediğimi anlıyorlar.
bcrist

1
@Pharap ve ... bitti!
bcrist

2
@bcrist Eğer ikinci kez oy kullanabilseydim, bu yüzden beynimin gücüyle benim için birisini oylayacak.
Pharap

2
Bu mantıksal vs grafiksel ayrım gerçekten seviyorum. Buradaki cevapların / yorumların çoğu 2.5D'nin 2B grafik anlamına geldiğini varsayıyor olsa da, aslında 3B grafikleri düşünme eğilimindeyim. böylece mantıksal vs grafiksel ayrım 2.5D hem kavramları kapsayacak şekilde harika bir yoldur
jhocking

27

Farkında olduğum ilk oyun "2.5D" terimini uygulamıştı Doom'du (Wolfenstein 3D de bir anlamda hak ediyor olsa da).

Wolfenstein 3D temelde bir 3D sunumu olan bir 2D oyundu. Bir 2B labirentte gezindiniz, tüm katlar düz, tüm tavanlar aynı yükseklikte idi, pencereler yoktu, kapılar tavandan tabana ve yana doğru açıldı ve hiçbir zaman başka bir nesnenin üstünde ya da altında olamazdınız. Oyun, ekranın her bir sütunu için, duvarın o yöne ne kadar uzak olduğunu ve duvarın hangi dokuya sahip olduğunu bulmak için yeniden yayınlamayı kullandı; sonra, duvar dokusunun bir sütunu, mesafeyle ters orantılı bir yüksekliğe sahip olarak çizildi ve üst ve alt kısım yer dolgusu ve tavan dolgusu ile boyandı. Düşmanlar ve nesneler sınırlı sayıda yönden spritelardı ve boyutları yine mesafe ile orantılıydı.

Doom, Wolfenstein 3D'ye çok benzer bir teknoloji kullandı, ancak daha fazla 3D deneyimi elde etmek için kötüye kullandı. Haritalar hala2B, 2B ikili alan bölümlemesi kullanılarak temsil edildi (böylece .BSP eşlemeli dosya adı). Sekmeye bastığınızda otomatik harita üzerinde gördüğünüz şey haritanın doğrudan 2B oluşturmasıydı. Ancak her sektörün bağımsız bir "zemin yüksekliği" ve "tavan yüksekliği" vardı ve kenarlar üst ve alt yan dokulara sahipti (çevrelerinin bir kısmından daha düşük bir tavan yüksekliği veya daha yüksek bir taban yüksekliği olduğunda kullanılır). Bu, merdivenler, pencereler, platformlar, havuzlar ve diğer efektler için izin verdi - motorun sonunda bir duvara çarpmadan ve ilgili dokulardan önce geçen birçok sektörün bir listesini tutabilmesi gerekiyordu. Ama yine de gerçek bir 3D mimarisine sahip olamazdınız - zeminin yükseltilmiş bir bölümünü kullanarak bir sümük arasında bir köprü oluşturabilirsiniz, ancak altında bir şeyin olması imkansız olurdu.köprü. Oyunda bir pozisyon hala sadece X ve Y'dir. Oyuncunun boyları üzerindeki tek kontrolü, eşyalardan düşmektir ve sadece kat boylarını değiştirmek için yazılmış olan sektörler olan asansörlerdir. Düşmanlar hala daha hareketlidir (daha fazla yönleri olduğunu düşünmeme rağmen), çarpışma algılaması sadece 2 boyutlu olduğundan ve “3 boyutlu bir model” olduğu için oyunda bulunamadı.

Heretic ve Hexen, ara sıra "2.75D" olarak adlandırılan noktaya kadar bir adım daha ileri giden Doom türevli motorlar kullandı; aynı mimari kısıtlamalara ve sprite tabanlı düşmanların çoğuna sahiptiler, ancak oyuncunun yukarı ve aşağı bakma kabiliyetini ekledi (görünümü yatırın, ancak sadece şimdiye kadar ya da motor kırılabilir) ve atlamak, uçmak ve çömelmek (yüksekliklerini bağımsız olarak değiştirerek).


1
+1, 2.5D terimini yalnızca insanlar yeniden konuşmaya atıfta bulunduğunda duydum. İyi açıklama!
Ruben,

5
+1 bu cevap, terimin ilk tarihi kullanımına ilişkin olarak doğrudur.
R. ..

bu en (pratikte) doğru cevap, ilk neden olmadığından emin değilim…
Sarge Borsch

Bu cevap tarihsel olarak doğru olsa da, kabul edilmiş veya beklenen tanım endüstri standardı değildir. Bugün, 2.5D olarak tanımlanan herhangi bir oyunun, 3 boyutlu bir görünümle 2d renderleme yaptığı evrensel olarak anlaşılmaktadır.
Ted Bigham

Heretic gibi oyunlara bakma / azaltma sınırının, nesne yüksekliklerinin yalnızca X koordinatlarına değil, Y koordinatlarına göre gösterildiğine ve dolayısıyla bir sahnedeki tüm dikey çizgilerin düşey hale getirileceğine dayandığını düşünüyorum. Biri sığ bir açıyla yukarı veya aşağı bakıyorsa, bu çok belirgin olmaz, ancak daha dik açılarda çok sakıncalı olur. Daha dik açıların motoru bozacağını düşünmüyorum, sadece yanılsamayı.
supercat

11

2.5D

2.5D ("iki buçuk boyutlu"), ¾ perspektif ve sözde-3D ar terimleri, esas olarak video oyun endüstrisinde, 2D grafik projeksiyonları ve bir dizi görüntüye neden olmak için kullanılan benzer teknikleri tanımlamak için kullanılır. (veya sahneler) gerçekte olmadıklarında üç boyutlu (3B) olma görünüşünü simüle etmek veya iki boyutlu bir düzlemle sınırlandırılmış üç boyutlu bir video oyunda oynanması.

Tecrübelerime göre hangi tanımın üzerinde durulduğu, konuştuğunuz kişinin yaşına bağlıdır.

  1. Daha eski oyuncular, 1. tanımı " 2D grafik projeksiyonları ve gerçekte olmadıklarında üç boyutlu (3D) olma görünümünü simüle etmek için bir dizi görüntüye (veya sahneye) neden olmak için kullanılan benzer teknikleri kullanma eğilimindedir ".

  2. Daha genç oyuncular 2. tanımı " iki boyutlu bir uçakla sınırlandırılmış, aksi halde üç boyutlu bir video oyununda oynarlar ".

Şahsen ben 2. tanımı kullanıyorum. Trine, Donkey Kong ve Super Mario Bros Wii U bence 2,5D olur. Ek olarak, 2.5D Steam etiketi ikinci tanımı kullanır. Bunun, tipik bir oyuncunun konsepti nasıl tanımladığı konusunda iyi bir turnusol testi olduğunu düşünüyorum) ve 2. tanımlamanın daha doğru olduğuna inanıyorum .

3 boyutlu

3 boyutlu olarak hesaplanan 3 boyutlu oyun grafikleri olan herhangi bir video oyunu. Bunun, ikinci 2.5D tanımının süper bir set olmasını sağladığına dikkat edin.


Platformer Shadow Complex'i çok ilginç bir durum olarak buldum, çünkü etkileşimler 3B'de bile düşmanın yeri olabilirdi. Ancak silahınızı onlara doğru yöneltmek, 3D'den gelen projeksiyonun onları ekrana yerleştirdiği 2B açısına işaret etmekten ibaretti. Sonra karakter bu açıyı çıkarmayı ve tabancalarını Z-eksenine yönlendirerek dikkat etti.
Seth Battin

6

2.5D, 3B görünen 2B demenin basit bir yoludur.
Örneğin, bir 3B motoru kullanıyorsanız ancak oyunu sadece 2B düzlemle sınırlarsanız, ama şahsen 2.5D bir şeyi 3B görünüyor ama 2B olarak davranıyorsa düşünürdüm .


Teşekkürler. Proje fikrim 3D gibi gözüküyor, ama hala 2D veya 3D motor ve benzeri şeyler hakkında merak ediyorum. Bana yayınlanan ekran görüntüsüne yönelik 2.5D / 3D hakkında daha fazla bilgi verebilir misiniz?
mathieug

Korkarım ekran görüntüsünü göremiyorum (işyerinde engellenmiş) bu yüzden yorum yapamam.
DFreeman

3

Gönderdiğiniz oyun ekran görüntüsü 3D bir oyundur.

Bir 3D oyunda, nesneler, daha sonra renkli, dokulu ve benzeri olan gerçek 3B nesneleri çizmek için köşeler kullanılarak çizilir.

Bir 2D oyunda, nesneler sprite / sprite sayfalarından vs. alınır.

İkisi arasındaki fark, onları nasıl görebildiğinizdir. Bir sprite düz bir kağıt parçası gibidir. Farklı bir açıda ya da açıda göremezsiniz, aksi takdirde eğri çarpılır. Bir 3B nesnede, kamera hareket ettikçe, nesnenin farklı kısımlarını görebilirsiniz, çünkü nesne, 3B'dir.

Bir 2.5D oyunda bu iki dünyayı birleştiriyorsunuz. Bir kamerayı farklı açılarla görmek için hareket ettiremediğinizden, bir oyunu 3D yapmaz. Bunu belirleyen içindeki nesnelerdir.

2.5D oyununa güzel bir örnek Ragnarok Online. 2.5D yapan şey, dünyanın çoğunlukla 3B nesnelerden ödün vermesidir. Binalar, manzara vb. Dokulu 3D nesnelerdir. Baş üstü kamerayı döndürebilir ve aynı anda bu nesnelerin farklı taraflarını görebilirsiniz. Bir binanın ön kısmını ve sol / sağ / çatı alanını görüntüleyebilirsiniz. Oyuncular, ancak, ayakta duruyor gibi görünen konumda 2B sprite. Kamerayı çok fazla döndürürseniz, oyunun ayakta durma şeklini değiştirmek için sprite sayfasının farklı bir hücresini yüklemesi gerekir. Karakterin farklı açılarını göremezsiniz çünkü 3D değiller. Kamera görünümüne bağlı olarak açılar dinamik olarak yüklenir.

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

Bu oyundan bir sprite sayfasıdır. Sadece bakacak olsaydın, bunun bir 2D oyundan olduğunu varsayardın. Yalnız, doğru olurdun. Ama bir kez 3D dünyasına girdiğinde, 2.5D oyunun var.


Bence 2.5Dbu sadece teknik bir yorum değil, teknik bir şey değil. Örneğin, 3B ortamındaki her şey için (örneğin dokulu dörtlü) her şey için döndürülmüşlerse Billboard tekniğini kullanıyorsanız oyununuz nedir? Bazıları 2.5D diyebilir ancak paketin çoğu Z derinliği olduğu için 3D diyecektir. Teknik olarak, eğer 3D köşeleri kullanıyorsa (bu nedenle, z-size), sadece X / Y ( Süper Mario Bros ) kullanıyorsa, o zaman 2D'dir. Ancak bir 3B ortamda (karakter dahil) yalnızca 2B (x / y) kullanıyorsa, yorumlamasıyla hala 3B ama 2,5D olur .

2

2.5D genellikle "izometrik" demenin başka bir yoludur - 2B görünümünü verecek şekilde çizilen 2B grafikler, ancak 3B koordinatları simüle etmiyor. İzometrik grafikler hakkındaki wikipedia makalesine bakın: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art

Temel amaç, 2.5D / izometrikde, hala 2D koordinat sistemi kullanıyor olmanızdır - sadece grafiklerinizi hesaplamak için x ve y eksenleri. Grafikleriniz, genellikle üç yüz görebileceğiniz şekilde çizilen ve ardından (x, y) koordinatlarını kullanarak ekrana yerleştirilen 2B hareketli olabilir. Bazen sprite bile 3D olarak modellenerek yaratılır, ardından 3D modelin 2D spriteları çoklu açılardan oluşturur.

Nesnelerin karakteristik olarak taşınması, yalnızca görülebilecekleri birkaç açıya sahiptir. Etrafında bir karakteri izometrik görünümde döndürürseniz, düzgün şekilde dönmez, ancak ön, 3/4, yan vb. Gibi farklı açılar görürsünüz. Bunun nedeni, her benzersiz bakış açısının tamamen yeni bir sprite seti gerektirmesidir.

İzometrik oyunlar genellikle bu tür sistem kısıtlamaları nedeniyle, yalnızca bir kamera açısını destekler. İzometrik oyunların diğer bir ayırt edici özelliği, tipik olarak ufuk noktalarına sahip olmamasıdır. Bir nesneyi gerçek hayatta görüntülerken, nesne size daha yakınsa, nesne görüşünüzde daha büyük görünecektir. Nesne daha uzaktaysa, daha küçük görünecektir. İzometrik oyunlarda, tüm nesneler uzayda nerede olursa olsun aynı boyutta görünürler.

Karşılaştırıldığında 3B oyunlar, 3 eksenin tümünü simüle edin - x, y ve z. Çok düşük bir seviyede, bilgisayar monitörde görüntülenmek üzere x, y ve z'yi x, y'ye çeviriyor, ancak daha yüksek düzeyde sanatçılar aslında nesneleri temsil etmek için 3 eksende noktaları değiştiriyorlar. Bilgisayar nesnenin şekli ile ilgili tüm bilgilere sahip olduğundan, o nesnenin herhangi bir açıda göründüğü şeyi dinamik olarak hesaplayabilir ve yaklaştıkça veya uzaklaştıkça küçülüp büyüyebilir.

Bazı oyunlar 2.5D ve gerçek 3B karışımıdır. Aklıma gelen bir örnek, 3B arkaplan ve 2B sprite özellikli Disgaea serisi.


2

Daha fazla kabul edilen tanımın ne olacağından emin değilim, ancak ben ve önceki şirketimdeki millet "izometrik 3D'ye benzeyen, ancak 2D sprite aracılığıyla işlenen herhangi bir oyunu" 2.5D olarak değerlendirdik.

Şimdi neden bunu yaptığımızı açıklayayım. Genellikle içinde bir sürü nesne olan bir 3B dünya oluşturmak, işlem üzerinde çok fazla baskı yaratacak ve FPS sayısını düşürecektir. Bu nedenle, bunun üstesinden gelmek için genellikle Maya gibi 3B oluşturma yazılımında nesneler yarattık ve bunları yazı yazdık. Oyunda kullanılabilir. Oluştururken açının dikkate alındığından bahsetmiyorum bile. Bu teknoloji hakkında yayıncı ile konuşmak için normalde bu terimi kullandık. Bir 2D dünyası gibi görünen bir 3D dünyası bizim için hala teknik olarak 3D. Bu yüzden genellikle bu yöntem için terimi kullanmadık. Burada benim payımı paylaşmam gerektiğini düşündüm.


1

Genellikle "2.5-D" terimi iki çok farklı oyun stilinden birine işaret eder.

Bu ya demek olabilir:

1) İki boyutlu renderleme tekniklerini kullanan, ancak 3 boyutlu boyutta kontrol eden bir oyun. Genellikle 3-B'de oluşturulmuş gibi görünmek için genellikle grafiksel püf noktaları kullanır. Bu 90'lı yıllarda çok yaygındı, ancak bugün çok fazla değildi. (Örnekler: "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")

2) Tamamen 3 boyutlu olarak oluşturulan, ancak yalnızca bir veya daha fazla 2 boyutlu uçakla kontrol edilen bir oyun. Bu tarz bugün için çok popüler olmaya devam ediyor. (Örnekler: "Küçük Büyük Gezegen", "Yeni Süper Mario Bros", "Denemeler HD")

Unutulmaması gereken bir nokta, model görünüm denetleyicisinin mimari modelini kullanırken, oyunun ilk stilinin 3 boyutlu veriyi temsil eden bir "modeline" ama sadece kullanıcıya 2 boyutta gösteren bir "görünüme" sahip olmasıdır; İkinci oyun stili ise tam tersi.


0

2.5D'de bir 3B ortam hissi vermek için 2B varlıklar / görüntü oluşturma teknikleri kullanılır.

Şimdi, bu tanımla, aşağıdaki potansiyel olarak belirsiz senaryoda, biraz detaylandırılması gerekir:

Oyun bir

3D grafikler kullanılarak, GPU hızlandı ve sabit bir kamera açısına sahip (oyun nesneleri kafes değil, görüntüler). Daha da kötüsünü yapalım, çıkıntı ortografik, klasik 63.43 derece. İlk bakışta grafiklerin 2B olmadığını fark etmenin tek yolu, 3DGC'nin, onları aşırı özenle göstermeniz dışında, bunları oluşturmak için kullanılan projeksiyondan bağımsız olarak, elle çizim spritlerinden kolayca ayırt edilmesidir. Farklı render teknikleri, parametreler, gölgelendiriciler, vb. İle deneyler yapabilirsiniz ve bunların 3B kafes oldukları gerçeğini gizlemeye çalışırken çok zorlanacaksınız.

Oyun b

A Oyunu limanı, ancak 3D grafikleri çok iyi kullanmayan veya hiç kullanmayan donanıma sahip olduğu bilinen platformları hedefleme. Sonra liman kafesleri sprite ile değiştirir. Örneğin, çarpışmalar için 3B Sınırlayıcı Kutuları kullanır ve oyun mantığına çoğunlukla dokunulmadığı veya hiç dokunmadığı için nesneler, x, y ve z değerlerine sahip bir konum özelliğine sahiptir, yalnızca oluşturma kodu değiştirildi.

B oyununun spriteları, A Oyununun 3B varlıklarını oluşturduğundan ve işleri daha belirsiz hale getirmek için, A Oyunu karmaşık gölgelendiriciler gerektiren herhangi bir şey yapmaz; Oyun A'dan bir karenin B

2.5D'de, oyun nesneleri arasındaki etkileşim, 3B illüzyonunun tehlikeye atılamayacağı durumlar ile sınırlıdır. Sarılma iki karakteri temsil etmek için, örneğin, iki karakterin etkileşimi olan tek bir görüntü dosyası oluşturmanız gerekecektir, çünkü sarılma eylemini yalnızca karakter başına tek bir görüntü kullanarak göstermeye çalışmak çok zor veya imkansız olurdu. Belki parçalara ayrılmış bir karakter gövdesi ile gelip bunları doğru sırayla çizebilirsiniz. 3B'de bu sorun yoktur (başka bir karakter var, iki karakteri doğru poz veriyorlar, böylece diğer karakterin ağına girmiyorlar).

Şimdi, bunu görselleştirmek için, Oyun A ve B'nin bazı durumlarda oyuncu karakterinin başka bir oyun nesnesinden geçmesine izin vererek, 2.5D olanı ile 3D olanı kolayca ayırt etmemize izin verdiği bir hata olduğunu hayal edin.


Oyun B, 2.5D Render, sprite pozisyon vektörünün z değeri ile sıralanır. Bu örnekte pozitif z aşağı ve negatif z ise yukarı. z ekseni ve y ekseni paraleldir ancak z, y'nin 0,5 faktörü ile ölçeklenir. Görünen alan 10y'den -10y'ye kadarsa, aynı bölgede 20z'den -20z'ye kadar. Daha büyük z'ye sahip nesneler daha sonra çizilecektir, bu nedenle daha düşük z'ye sahip nesnelerin önünde oldukları görülecektir. Oyuncu karakterinin gölgesi garip görünüyor çünkü gölgeler zeminden daha üstün bir katmana sahip, ancak diğer tüm nesnelerin olduğu gibi daha düşük bir katmana sahip, yani oyuncu karakter gölgesi asla küpün tepesinde değil.

2.5D Render


Oyun A, 3D Render. Derinlik tamponu (aynı zamanda z tamponu olarak da bilinir) piksel hassasiyetinde derinlik testi için kullanılır. Bu nedenle, bir nesnenin diğerini tamamen kapatması gerekmez, bir üçgenin bile diğerini tamamen kapatması gerekmez, piksel hassasiyeti derinliği testimiz vardır. Oyun nesnelerini herhangi bir şekilde döndürebilir ve etkileşime girdiklerinde gerçekçi sonuçlar elde edebiliriz.

3D Render

Özgeçmiş: 2.5D'de bir sprite ya diğer sprite ya önünde ya da arkasındadır. 3B'de, bir kafes üçgenlerden oluşur, ancak üçgen derinliği test ederken minimum birim değildir, piksel hassasiyetine sahip olabilirsiniz. Tabii ki, sabit bir kamera açısı için varlıklar oluşturulduğundan, 3D'nin doğal olması durumunda, kameranın açıları bir 3D oyunda tasarımla sınırlandırılmışsa başka bir konudur.


Sadece 2B grafikler oluşturabildiğiniz bir 3B dünyada olma hissini vermek için farklı hileler var, yalnızca terk edilmiş bir projemin bazı varlıklarını kullanarak hızlı bir şekilde hazırlanmış bir örnek verdim.

Neden sadece 3D'yi her zaman kullanmıyor ve 2.5D'yi unutmuyorsunuz?

Bir geliştiricinin neden 2.5D yaklaşımını tercih edebileceğinin bazı örneklerinde düşünebilirim:

  • Belki 3D API'leri bilmiyorlar veya sevmiyorlar (Direct3D, OpenGL, başkaları da var).
  • Belki hedef platform 3D grafikleri iyi işlemez (eski masaüstü bilgisayarlar, 2D konsollar).
  • Ekibiniz inanılmaz spritler yapabilir ancak 3D modeller yapamaz.

2.5D kullanarak 3B grafiklerin sonuçlarına ne kadar yaklaşabilirsiniz?

Bir performans ve programlama karmaşıklığı ufku var. Bu ufka yaklaştığınızda, projenizin 2.5D'de gerçekten mümkün olup olmadığından veya tam 3B gitmek zorunda kalmayacağınızdan şüphe etmeye başlarsınız. Örneğin, 2.5D'de z-arabelleği kullanabilirsiniz (teoride), ancak video belleği maliyetini ödeyebilirsiniz (yerleşik masaüstü bilgisayarlı eski masaüstü bilgisayar, güçlü mobil cihazlardan değil)? Her sprite z maskesini korumak için fazladan bir görüntünün depolama maliyetini ödemek ister misiniz?

2.5D için iyi adaylar RPG oyunlarıdır, Baldur'un Gate serisini veya RTS'yi düşünürler, Age of Empires 1 ve 2'yi düşünüyorlar (AoE 3 tamamen 3D ve farklılaşmak için kolay).

Yararlı referanslar:

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

Ortografik projeksiyonlar: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.