Apa itu lingkungan "2.5D"?

31

Saya tidak mengerti arti dari istilah "2.5D." Saya secara khusus bingung tentang perbedaan antara lingkungan 2.5D dan 3D, meskipun saya telah membaca definisi dan artikel yang berbeda tentang keduanya. Saya mengerti bagian di mana 2.5D seperti 3D tetapi saya tidak mendapatkan bagian di mana 2.5D berbeda.

Jadi, apa artinya game menjadi 2.5D? Misalnya, apakah game yang ditampilkan di sini 2.5D?

Mario

ahli matematika
sumber
10
Sejauh yang saya tahu, 2.5D saat sprite digunakan untuk mensimulasikan tampilan 3D. Setiap kali Anda memiliki kamera tetap tetapi masih bekerja dengan geometri 3D, itu masih merupakan game 3D. Dari tangkapan layar, sepertinya Mario adalah model 3D, sehingga game itu sepertinya 3D penuh. Semua tentang apakah Anda meniru 3D atau benar-benar merender geometri 3D dalam pipa 3D khas.
Grimshaw
@ Grimshaw Jadi, apakah 2.5D berarti mesin bisa 2D dengan model 3D misalnya? Saya yakin ada rekanan jika Anda membuat game semacam ini dengan mesin 2D dan juga dengan mesin 3D. Apakah mereka? Biaya kinerja untuk 3D?
mathieug
4
2.5D berarti hampir secara eksklusif Anda menggunakan gambar 2D (sprite) untuk membuat dunia Anda, bahkan jika itu terlihat seperti 3D. Periksa game isometrik seperti Clash of Clans untuk contoh game 2.5D, yang sepenuhnya diterjemahkan dalam 2D, tetapi memang terlihat seperti game 3D. Ketika Anda mulai memasukkan model 3D dunia Anda, Anda akan 3D penuh dan istilah 2.5D tidak berlaku lagi. Ini untuk mengatakan kamera tidak ada hubungannya dengan apakah Anda membuat 3D atau tidak. 3D bukan tentang proyeksi atau perilaku kamera, melainkan tentang geometri.
Grimshaw
Pertanyaan ini tampaknya di luar topik karena ini tentang fitur permainan tertentu. Sebuah pertanyaan yang menanyakan (hanya) apa definisi, atau arti dari, istilah "2.5D" akan sesuai (saya merasa seperti kita sudah punya satu mengambang di sekitar), tetapi menanyakan apakah itu permainan tertentu tidak ada hubungannya dengan membuat game Anda; dan menanyakan apakah Anda harus membuat game 2.5D dan mengapa tidak objektif.
Josh
3
@ JoshPetrie Apa? Bagaimana menambahkan contoh di mana pemahamannya mengarah pada ambiguitas mencegah pertanyaan menjadi berguna secara umum? Dalam hal ini (di mana pertanyaan inti benar-benar valid tetapi ada sejumlah kecil mengasapi yang disebabkan oleh OP dengan agak kikuk menjelaskan dirinya sendiri) pertanyaan itu harus dibiarkan terbuka. Jika sebuah duplikat tutuplah sebagai duplikat.
ClassicThunder

Jawaban:

60

Istilah 2D dan 3D (seperti yang mungkin sudah Anda ketahui) merujuk pada jumlah dimensi spasial dalam ruang-dunia Euclidean. Dimensi ini harus berupa angka urut; tidak ada yang namanya setengah dimensi , jadi istilah 2.5D benar-benar istilah yang tidak masuk akal, dan tidak memiliki makna intrinsik. Yang mengatakan, 2.5 adalah "di suatu tempat antara" 2 dan 3, jadi 2.5D umumnya berarti sesuatu di sepanjang garis "di suatu tempat antara 2D dan 3D".

Secara pribadi, saya menggunakan istilah ini untuk merujuk pada kasus di mana ruang dunia grafis dan logis game memiliki dimensi yang berbeda. Secara khusus, ada dua varian berbeda di sini:

  • 2D logis & grafis 3D . Misalnya, platformer dengan mekanika dan fisika permainan 2D, tetapi dirender dengan jerat 3D dan kamera perspektif. Sebagian besar pembuatan ulang game arcade klasik seperti Pac-Man, Breakout, dll. Termasuk dalam kategori ini. Gambar di bawah: Pineapple Smash Crew

Pineapple Smash Crew terjadi di dunia 2D, tetapi disajikan dalam 3D.

  • Logika 3D & 2D grafis . Contohnya termasuk game seperti Gnomoria atau SimCity 2000 yang memiliki dunia game 3D, tetapi ditampilkan dalam tampilan isometrik 2D. Gambar di bawah: Xenonauts

Serangan darat Xenonauts terjadi pada kisi 3D, tetapi sepenuhnya diberikan menggunakan sprite 2D.

Penggunaan lain yang umum dari istilah (meskipun tidak satu yang saya gunakan) mengacu pada game yang memanfaatkan kombinasi 3D dan billboarded 2D grafis. Dalam hal ini istilah tersebut sama sekali tidak menggambarkan dimensi logis permainan. Hampir semua game 3D menggunakan papan reklame dengan beberapa cara, termasuk sistem partikel, proxy objek jauh, dan overlay UI di dunia. Oleh karena itu, istilah ini biasanya hanya digunakan ketika sebagian besar objek non-latar belakang menggunakan grafis 2D, dan batas antara 2.5D dan 3D agak buram.

bcrist
sumber
17
Ngomong-ngomong, ada yang namanya dimensi fraksional, tetapi tidak ada hubungannya dengan istilah pengembangan game "2.5D"; itu muncul dalam mempelajari fraktal dan bentuk topologi aneh lainnya. Misalnya, permukaan Quadratic Koch (tipe 2) memiliki dimensi Hausdorff (cara umum mendefinisikan dimensi fraktal) dengan tepat 2,5.
Lily Chung
9
@IstvanChung Ya, secara teknis Anda benar dan saya mempertimbangkan untuk menyebutkannya, tetapi saya pikir itu hanya akan membingungkan masalah ini. Saya pikir beberapa pengembang game perlu tahu tentang ruang topologi di luar ruang Euclidean n-dimensi, dan jika mereka melakukannya, kemungkinan mereka mengerti bahwa saya tidak berbicara tentang fraktal.
bcrist
1
@Pharap dan ... selesai!
bcrist
2
@ bcrist Jika saya bisa mendapatkan dukungan untuk kedua kalinya, saya akan meminta seseorang untuk memberi saya dukungan dengan kekuatan otak saya.
Pharap
2
Saya sangat suka perbedaan logis vs grafis ini. Sementara sebagian besar jawaban / komentar di sini tampaknya menganggap 2.5D berarti grafis 2D, saya sebenarnya cenderung memikirkan grafis 3D. jadi perbedaan logis vs grafis Anda adalah cara yang bagus untuk mencakup kedua konsep 2.5D
jhocking
27

Gim pertama yang saya ketahui yang menerapkan istilah "2.5D" adalah Doom (meskipun Wolfenstein 3D juga memenuhi syarat dalam beberapa hal).

Wolfenstein 3D pada dasarnya adalah game 2D dengan presentasi 3D. Anda menavigasi labirin 2D, semua lantainya rata, semua langit-langitnya sama tingginya, tidak ada jendela, pintu dari lantai ke langit-langit dan membuka ke samping, dan Anda tidak akan pernah bisa berada di atas atau di bawah objek lain. Permainan menggunakan raycasting untuk mencari tahu, untuk setiap kolom layar, seberapa jauh dinding itu ke arah itu, dan apa tekstur dinding itu; kemudian sebuah kolom tekstur dinding digambar dengan ketinggian berbanding terbalik dengan jarak, dan ruang di atas dan di bawah dicat dengan isi lantai dan langit-langit. Musuh dan objek adalah sprite, dengan jumlah aspek yang terbatas, dan ukurannya lagi sebanding dengan jarak.

Doom menggunakan teknologi yang sangat mirip dengan Wolfenstein 3D, tetapi menyalahgunakannya untuk mendapatkan pengalaman yang lebih 3D. Peta-peta itu diam2D, direpresentasikan menggunakan partisi ruang biner 2D (dengan demikian nama file .BSP map). Apa yang Anda lihat di automap ketika Anda menekan tab hanyalah rendering 2D langsung dari peta. Tetapi setiap sektor memiliki "tinggi lantai" dan "tinggi langit-langit" yang independen, dan ujung-ujungnya memiliki tekstur sisi atas dan bawah (digunakan ketika mereka memiliki ketinggian langit-langit yang lebih rendah, atau ketinggian lantai yang lebih tinggi, daripada bagian dari lingkungan mereka). Ini memungkinkan tangga, jendela, platform, kolam, dan efek lainnya - mesin hanya harus mampu membuat daftar beberapa sektor yang dilewati sebelum akhirnya menabrak dinding, dan tekstur masing-masing. Tetapi Anda masih belum bisa memiliki arsitektur 3D nyata - Anda bisa membuat "jembatan" di beberapa lendir menggunakan bagian lantai yang terangkat, tetapi tidak mungkin ada sesuatu di bawahjembatan. Posisi dalam permainan masih hanya X dan Y. Satu-satunya kontrol pemain terhadap tinggi badan mereka adalah jatuh dari hal-hal, dan lift, yang hanya sektor yang ditulis untuk mengubah ketinggian lantai mereka. Musuh masih sprite (meskipun saya pikir mereka memiliki lebih banyak aspek), tembakan "auto-bertujuan" tingginya karena deteksi tabrakan hanya 2 dimensi, dan tidak ada model 3D yang dapat ditemukan dalam permainan.

Bidat dan Hexen menggunakan mesin Doom-turunan yang mengambil langkah lebih jauh, ke titik bahwa mereka kadang-kadang disebut "2.75D"; mereka memiliki sebagian besar keterbatasan arsitektur yang sama dan musuh berbasis sprite, tetapi menambahkan kemampuan bagi pemain untuk melihat ke atas dan ke bawah (memiringkan pandangan, tetapi hanya sejauh ini atau jika mesin akan rusak) dan untuk melompat, terbang, dan berjongkok (mengubah tinggi badan mereka secara mandiri).

hobbs
sumber
1
+1, saya hanya mendengar istilah 2.5D ketika orang menyebut raycasting. Penjelasan yang bagus!
Ruben
5
+1 jawaban ini benar sehubungan dengan penggunaan historis pertama istilah tersebut.
R ..
ini adalah jawaban yang paling (praktis) paling benar, tidak yakin mengapa itu bukan yang pertama ...
Sarge Borsch
Meskipun jawaban ini mungkin benar secara historis, itu bukan standar industri yang diterima atau definisi yang diharapkan. Saat ini, game apa pun yang digambarkan sebagai 2.5D secara universal dipahami memiliki rendering 2d dengan tampilan 3d.
Ted Bigham
Saya pikir batas untuk melihat ke atas / ke bawah untuk game seperti Heretic didasarkan pada kenyataan bahwa ketinggian objek hanya diperhitungkan dalam koordinat layar Y dan bukan koordinat X, dan dengan demikian semua garis vertikal dalam sebuah adegan akan diterjemahkan sebagai vertikal. Jika seseorang melihat ke atas atau ke bawah pada sudut yang dangkal, ini tidak akan terlalu terlihat, tetapi pada sudut yang lebih curam itu akan sangat tidak menyenangkan. Saya tidak berpikir sudut yang curam akan merusak mesin, tetapi hanya ilusi.
supercat
11

2.5D

2.5D ("dua setengah dimensi"), ¾ perspektif, dan istilah pseudo-3D, terutama dalam industri video game, digunakan untuk menggambarkan proyeksi grafis 2D dan teknik serupa yang digunakan untuk menyebabkan serangkaian gambar (atau adegan) untuk mensimulasikan penampilan menjadi tiga dimensi (3D) padahal sebenarnya tidak, atau gameplay dalam gim video tiga dimensi yang terbatas pada bidang dua dimensi.

Dalam pengalaman saya definisi mana yang ditekankan tergantung pada usia orang yang Anda ajak bicara.

  1. Gamer yang lebih tua cenderung menggunakan definisi pertama " proyeksi grafis 2D dan teknik serupa yang digunakan untuk menyebabkan serangkaian gambar (atau adegan) untuk mensimulasikan penampilan menjadi tiga dimensi (3D) padahal sebenarnya tidak "

  2. Gamer yang lebih muda menggunakan definisi 2 " gameplay dalam gim video tiga dimensi yang terbatas pada pesawat dua dimensi ".

Secara pribadi saya menggunakan definisi ke-2. Trine, Donkey Kong, dan Super Mario Bros Wii U semuanya akan menjadi 2.5D menurut saya. Selain itu tag Steam 2.5D menggunakan definisi kedua. Saya pikir ini adalah tes lakmus yang baik untuk bagaimana seorang gamer tipikal mendefinisikan konsep) dan karena itu saya percaya definisi ke-2 lebih tepat .

3D

Setiap video game dengan grafik game 3D, yang dihitung dalam 3 dimensi. Catatan ini menjadikannya super-set definisi 2.5D kedua.

ClassicThunder
sumber
Saya menemukan platformer Shadow Complex menjadi kasus yang sangat menarik, karena interaksi dapat terjadi dalam 3D, bahkan lokasi musuh. Tapi mengarahkan pistol Anda ke arah mereka melibatkan menunjuk ke sudut 2D yang selaras dengan tempat proyeksi dari 3D menempatkannya di layar. Kemudian sang karakter berhati-hati dalam memproyeksikan sudut itu dan mengarahkan pistol mereka ke sumbu Z.
Seth Battin
6

2.5D hanyalah cara yang ramah untuk mengatakan 2D yang terlihat 3D.
Saya kira Anda benar-benar bisa mengaburkan garis definisi jika, misalnya, Anda menggunakan mesin 3D tetapi membatasi gameplay hanya untuk bidang 2D, tetapi secara pribadi saya akan mempertimbangkan sesuatu 2.5D apakah itu terlihat 3D tetapi bertindak 2D.

DFreeman
sumber
Terima kasih. Ide proyek saya akan terlihat seperti 3D tetapi saya masih bertanya-tanya tentang mesin 2D atau 3D dan lainnya. Bisakah Anda ceritakan lebih banyak tentang 2.5D / 3D yang berorientasi pada tangkapan layar yang saya posting?
mathieug
Takut saya tidak dapat melihat tangkapan layar (diblokir di tempat kerja) jadi saya tidak bisa berkomentar.
DFreeman
3

Tangkapan layar game yang Anda poskan adalah game 3D.

Dalam game 3D, objek digambar menggunakan simpul untuk menggambar objek 3D yang sebenarnya, yang kemudian diwarnai, bertekstur, dan sebagainya.

Dalam game 2D, objek diambil dari sprite / sprite sheet, dll.

Perbedaan antara keduanya adalah bagaimana Anda bisa melihatnya. Sprite seperti selembar kertas pipih. Anda tidak dapat melihatnya di nada atau sudut yang berbeda atau sprite akan miring. Pada objek 3D, saat kamera bergerak, Anda dapat melihat berbagai bagian objek karena objeknya adalah 3D.

Dalam gim 2.5D, Anda menggabungkan kedua dunia ini. Perlu diingat hanya karena Anda tidak dapat menggerakkan kamera untuk melihat sudut yang berbeda, tidak membuat game bukan 3D. Benda-benda yang ada di dalamnya yang menentukan ini.

Contoh bagus dari game 2.5D adalah Ragnarok Online. Apa yang membuatnya 2.5D adalah bahwa dunia sebagian besar dikompromikan dengan objek 3D. Bangunan, lansekap, dll adalah objek 3D bertekstur. Anda dapat memutar kamera kepala atas dan melihat sisi yang berbeda dari objek-objek ini secara bersamaan. Anda dapat melihat sisi depan bangunan serta area kiri / kanan / atap. Namun para pemain, adalah sprite 2D yang diposisikan tampak berdiri ke atas. Jika Anda memutar kamera terlalu banyak, gim harus memuat sel sprite sheet yang berbeda agar karakter tersebut mengubah bagaimana tampaknya berdiri. Anda tidak dapat melihat sudut berbeda dari karakter karena itu bukan 3D. Sudut dimuat secara dinamis tergantung pada tampilan kamera.

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

Ini adalah sprite sheet dari game. Jika Anda hanya melihatnya, Anda akan menganggapnya dari game 2D. Sendiri, Anda akan benar. Tapi begitu itu ditempatkan ke dunia 3D, Anda memiliki game 2.5D.

Joe Swindell
sumber
Saya pikir 2.5Ditu menyesatkan karena hanya interpretasi manusia dll. Bukan sesuatu yang teknis tentang ini. Misalnya apa permainan Anda jika Anda menggunakan teknik Billboard untuk semuanya (dll. Paha bertekstur) pada lingkungan 3D, jika mereka diputar selalu di depan Anda? Beberapa mungkin mengatakan 2.5D tetapi sebagian besar paket akan mengatakan 3D karena ada Z-depth. Secara teknis, jika menggunakan simpul 3D (dengan demikian, z-dimensi) itu 3D, jika hanya menggunakan X / Y (katakanlah, bros Super Mario ) maka itu 2D. Tetapi jika hanya menggunakan 2D (x / y) pada lingkungan 3D (termasuk karakter), maka itu masih 3D tetapi 2.5D dengan interpretasi .
2

2.5D sering merupakan cara lain untuk mengatakan "isometrik" - grafik 2D yang digambar dengan cara memberikan tampilan 3D, tetapi tidak benar-benar mensimulasikan koordinat 3D. Lihat artikel wikipedia pada grafik isometrik: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art

Intinya adalah bahwa dalam 2.5D / isometrik, Anda masih menggunakan sistem koordinat 2D - dengan sumbu x dan y hanya untuk menghitung grafik Anda. Grafik Anda mungkin berupa sprite 2D, yang biasanya digambar sedemikian rupa sehingga Anda dapat melihat tiga wajah, dan kemudian ditempatkan di layar menggunakan koordinat (x, y). Kadang-kadang sprite bahkan dibuat oleh pemodelan dalam 3D, kemudian membuat sprite 2D dari model 3D dari berbagai sudut.

Bergerak objek secara karakteristik hanya memiliki beberapa sudut mereka dapat dilihat. Jika Anda memutar karakter dalam tampilan isometrik, itu tidak akan berputar dengan lancar, tetapi Anda akan melihat beberapa sudut berbeda, seperti depan, 3/4, samping, dan sebagainya. Ini karena setiap sudut pandang unik membutuhkan set sprite yang sama sekali baru.

Permainan isometrik biasanya hanya mendukung satu sudut kamera, karena keterbatasan sistem jenis ini. Fitur lain yang membedakan gim isometrik adalah gim tersebut biasanya tidak memiliki titik hilang. Saat melihat suatu objek dalam kehidupan nyata, jika objek itu lebih dekat dengan Anda, objek itu akan tampak lebih besar dalam visi Anda. Jika objek lebih jauh, itu akan tampak lebih kecil. Dalam permainan isometrik, semua objek biasanya memiliki ukuran yang sama di mana pun mereka berada di ruang angkasa.

Game 3D sebagai perbandingan, simulasikan semua 3 sumbu - x, y, dan z. Pada level yang sangat rendah, komputer menerjemahkan x, y, dan z ke x, y untuk ditampilkan pada monitor, tetapi pada level yang lebih tinggi, seniman sebenarnya memanipulasi titik pada 3 sumbu untuk mewakili objek. Karena komputer memiliki semua informasi tentang bentuk objek, ia dapat secara dinamis menghitung objek apa yang dilihat dilihat dari sudut mana pun, dan itu bisa tampak lebih kecil atau lebih besar ketika Anda semakin dekat atau lebih jauh darinya.

Beberapa game merupakan campuran 2.5D dan 3D sejati. Contoh yang bisa saya pikirkan adalah seri Disgaea, yang menampilkan latar belakang 3D dan sprite 2D.


sumber
2

Saya tidak yakin apa yang akan menjadi definisi yang lebih diterima, tetapi saya dan orang-orang di perusahaan saya sebelumnya menganggap "permainan apa pun yang tampak seperti 3D isometrik, tetapi diterjemahkan melalui sprite 2D" menjadi 2,5D.

Sekarang izinkan saya menjelaskan mengapa kami melakukan itu. Secara umum rendering dunia 3D dengan banyak objek di dalamnya akan membuat terlalu banyak tekanan pada pemrosesan, menurunkan jumlah FPS. Jadi untuk mengatasi hal ini, kami umumnya membuat objek dalam perangkat lunak render 3D seperti Maya dan menjadikannya sebagai sprite. Yang bisa digunakan dalam game. Belum lagi sudut dipertimbangkan saat rendering. Jadi untuk berbicara tentang teknologi ini dengan penerbit, kami biasanya menggunakan istilah ini. Dunia 3D yang sepertinya dunia 2D masih secara teknis 3D bagi kita. Jadi kami biasanya tidak menggunakan istilah untuk metode ini. Saya pikir saya harus membagikan bagian saya di sini.

cupu
sumber
1

Biasanya istilah "2.5-D" mengacu pada salah satu dari dua gaya permainan yang sangat berbeda.

Ini bisa berarti:

1) Sebuah game yang menggunakan teknik rendering 2-D, tetapi kontrol dalam 3 dimensi spasial. Biasanya menggunakan trik grafis untuk muncul seolah-olah itu sebenarnya diberikan dalam 3-D. Ini sangat umum di tahun 90-an, tetapi tidak begitu banyak hari ini. (Contoh: "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")

2) Sebuah game yang seluruhnya dibuat dalam 3-D, tetapi itu mengendalikan secara eksklusif sepanjang satu atau lebih pesawat 2-D. Gaya ini tetap sangat populer hingga hari ini. (Contoh: "Little Big Planet", "New Super Mario Bros", "Trials HD")

Satu hal yang perlu diperhatikan adalah bahwa ketika menggunakan pola arsitektur model-view-controller, gaya permainan pertama memiliki "model" yang mewakili data dalam 3 dimensi tetapi "tampilan" yang hanya menampilkannya kepada pengguna dalam 2 dimensi; gaya permainan yang kedua adalah sebaliknya.

android927
sumber
0

Dalam 2.5D Anda menggunakan aset 2D / teknik rendering untuk memberikan sensasi lingkungan 3D.

Sekarang, dengan definisi itu, dalam skenario yang berpotensi ambigu berikut ini, diperlukan beberapa elaborasi:

Game A

Menggunakan grafik 3D, GPU dipercepat dan semua (objek game adalah jerat, bukan gambar), dengan sudut kamera tetap. Mari kita membuatnya lebih buruk, proyeksi adalah ortografis, klasik 63,43 derajat. Satu-satunya cara untuk memperhatikan pada pandangan pertama bahwa grafik bukan 2D adalah karena 3DGC, kecuali bahwa Anda membuatnya dengan sangat hati-hati, mudah dibedakan dari sprite gambar tangan, tidak masalah proyeksi yang digunakan untuk membuatnya. Anda dapat bereksperimen dengan berbagai teknik render, parameter, shader, dll, dan Anda akan kesulitan untuk menyembunyikan fakta bahwa itu adalah jerat 3D.

Game B

Sebuah port dari Game A, tetapi platform penargetan yang dikenal memiliki perangkat keras yang tidak menangani grafik 3D dengan sangat baik atau tidak menanganinya sama sekali. Kemudian port menggantikan jerat dengan sprite. Itu masih menggunakan Kotak Bounding 3D untuk tabrakan, misalnya, dan objek memiliki properti posisi dengan nilai x, y dan z, karena logika permainan sebagian besar tidak disentuh atau tidak disentuh sama sekali, hanya kode render yang diubah.

Karena sprite Game B adalah render dari aset 3D Game A dan, untuk membuat segalanya lebih ambigu, Game A tidak melakukan apa pun yang membutuhkan shader rumit, di 99% dari semua GPU di luar sana Anda tidak dapat membedakan bingkai dari Game B bingkai dari Game A.

Dalam 2.5D, interaksi antara objek game terbatas pada serangkaian situasi di mana ilusi 3D tidak dapat dikompromikan. Untuk mewakili dua karakter pelukan, misalnya, Anda harus membuat file gambar tunggal dengan dua karakter yang berinteraksi, karena mencoba untuk mewakili tindakan pelukan hanya menggunakan satu gambar per karakter akan terlalu sulit atau tidak mungkin. Mungkin Anda bisa datang dengan tubuh karakter yang dibagi menjadi beberapa bagian dan menggambarnya dalam urutan yang benar. Dalam 3D masalah ini tidak ada (ada yang lain, yaitu menempatkan dua karakter dengan benar sehingga mereka tidak menembus mesh karakter lain).

Sekarang, untuk memvisualisasikan ini, bayangkan bahwa Game A dan B memiliki bug yang dalam beberapa situasi memungkinkan karakter pemain untuk melewati objek permainan lain, memungkinkan kita untuk membedakan antara yang 2.5D dan yang 3D dengan mudah.


Game B, 2.5D Render, sprite diurutkan berdasarkan nilai z dari vektor posisinya. Dalam contoh ini z positif turun dan negatif z naik. sumbu z dan sumbu y adalah paralel tetapi z diskalakan dengan faktor 0,5 dari y. Jadi jika area yang terlihat adalah dari 10y hingga -10y, di area yang sama kita memiliki dari 20z hingga -20z. Objek dengan z yang lebih besar akan ditarik belakangan, sehingga mereka akan terlihat berada di depan objek dengan z yang lebih rendah. Bayangan karakter pemain terlihat aneh karena bayangan berada di lapisan yang lebih unggul dari lantai, tetapi di lapisan yang lebih rendah itu semua benda lain, sehingga bayangan karakter pemain tidak pernah ada di atas kubus.

2.5D Memberikan


Game A, 3D Render. Buffer kedalaman (juga dikenal sebagai z-buffer) digunakan untuk pengujian kedalaman piksel presisi. Jadi, suatu objek tidak perlu sepenuhnya menyumbat yang lain, bahkan sebuah segitiga tidak perlu sepenuhnya menyumbat yang lain, kami memiliki tes kedalaman piksel presisi. Kami dapat memutar objek game dengan cara apa pun dan tetap mendapatkan hasil yang realistis saat mereka berinteraksi.

Render 3D

Dalam resume: dalam 2.5D sebuah sprite berada di depan atau di belakang sprite lain. Dalam 3D, sebuah mesh terbuat dari segitiga, tetapi segitiga bukanlah unit minimal saat menguji kedalaman, Anda dapat memiliki ketepatan piksel. Tentu saja, rotasi kamera dalam 2.5D tidak dimungkinkan karena aset dibuat untuk sudut kamera tetap, sedangkan dalam 3D adalah wajar, jika sudut kamera dibatasi oleh desain dalam game 3D adalah subjek lain.


Ada beberapa trik yang berbeda untuk memberikan sensasi berada di dunia 3D ketika Anda hanya dapat membuat grafik 2D, saya hanya menyajikan contoh yang dibuat dengan cepat menggunakan beberapa aset dari proyek tambang yang ditinggalkan.

Mengapa tidak selalu menggunakan 3D dan melupakan 2.5D?

Yah, saya dapat berpikir dalam beberapa contoh mengapa pengembang mungkin lebih suka pendekatan 2.5D:

  • Mungkin mereka tidak tahu, atau tidak suka, API 3D (Direct3D, OpenGL, ada yang lain).
  • Mungkin platform target tidak menangani grafik 3D dengan baik (komputer desktop lama, konsol 2D).
  • Tim Anda dapat melakukan sprite yang luar biasa tetapi tidak untuk model 3D.

Seberapa banyak Anda dapat memperkirakan hasil grafik 3D menggunakan 2.5D?

Ada cakrawala kinerja dan kompleksitas pemrograman. Ketika Anda mendekati cakrawala itu, Anda mulai ragu apakah proyek Anda benar-benar mungkin pada 2.5D atau jika Anda harus menggunakan 3D penuh. Misalnya, Anda dapat menggunakan z-buffering dalam 2.5D (secara teori), tetapi dapatkah Anda membayar biaya memori video (komputer desktop lama dengan grafis onboard, bukan perangkat seluler yang kuat)? Apakah Anda ingin membayar biaya penyimpanan karena memiliki gambar ekstra untuk menghemat z-mask setiap sprite?

Kandidat yang baik untuk 2.5D adalah game RPG, pikirkan seri Gerbang Baldur, atau RTS, berpikir Age of Empires 1 dan 2 (AoE 3 sepenuhnya 3D dan mudah dibedakan).

Referensi yang berguna:

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

Proyeksi ortografis: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html

Hatoru Hansou
sumber