"2.5D" वातावरण क्या है?


31

मैं "2.5D" शब्द का अर्थ नहीं समझता। मैं विशेष रूप से 2.5D और 3 डी वातावरण के बीच के अंतर के बारे में उलझन में हूं, भले ही मैंने दोनों के बारे में अलग-अलग परिभाषाएं और लेख पढ़े हैं। मैं उन हिस्सों को समझता हूँ जहाँ 2.5D 3D की तरह है, लेकिन मुझे ऐसे हिस्से नहीं मिलते हैं जहाँ 2.5D अलग है।

तो, 2.5D के खेल के लिए इसका क्या अर्थ है? उदाहरण के लिए, खेल को यहां 2.5D दिखाया गया है?

Mario


10
जहां तक ​​मुझे पता है, इसका 2.5 डी जब स्प्राइट्स का इस्तेमाल 3 डी लुक को अनुकरण करने के लिए किया जा रहा है। जब भी आपके पास एक निश्चित कैमरा है, लेकिन अभी भी 3 डी ज्यामिति के साथ काम कर रहे हैं, तो यह अभी भी एक 3 डी गेम है। स्क्रीनशॉट से, ऐसा लगता है कि मारियो एक 3 डी मॉडल है, इसलिए यह गेम पूर्ण 3 डी लगता है। इसके बारे में कि क्या आप 3 डी का अनुकरण कर रहे हैं या वास्तव में एक 3 डी पाइपलाइन में 3 डी ज्यामिति का प्रतिपादन कर रहे हैं।
ग्रिमशॉ

@Grimshaw तो, क्या 2.5D का मतलब है कि इंजन 3D मॉडल के साथ 2D हो सकता है उदाहरण के लिए? मुझे यकीन है कि अगर आप 2D इंजन के साथ और 3D इंजन के साथ भी इस तरह का खेल करते हैं तो एक प्रतिपक्ष है। वे क्या हैं? 3 डी के लिए प्रदर्शन लागत?
मैथ्यू

4
2.5D का अर्थ है लगभग विशेष रूप से आप अपनी दुनिया को रेंडर करने के लिए 2 डी इमेज (स्प्राइट) का उपयोग कर रहे हैं, भले ही वह 3 डी की तरह दिखती हो। 2.5 डी गेम के उदाहरणों के लिए क्लैश ऑफ क्लैन्स जैसे क्लोमेट्रिक गेम को पूरी तरह से 2 डी में प्रस्तुत किया गया है, लेकिन यह 3 डी गेम जैसा दिखता है। जब आप अपने विश्व 3 डी मॉडल में डालना शुरू करते हैं, तो आप पूर्ण 3 डी जा रहे हैं और 2.5 डी शब्द अब लागू नहीं होता है। यह कहना है कि कैमरा 3 डी प्रदान कर रहा है या नहीं, इसका कोई संबंध नहीं है। 3 डी अनुमानों या कैमरा व्यवहार के बारे में नहीं है, बल्कि ज्यामिति के बारे में है।
ग्रिमशॉ

यह प्रश्न ऑफ़-टॉपिक प्रतीत होता है क्योंकि यह किसी विशेष गेम की विशेषताओं के बारे में है। एक सवाल (केवल) की परिभाषा क्या है, या "2.5D" शब्द उपयुक्त होगा (मुझे लगता है कि हम पहले से ही एक के आसपास तैर रहे हैं), लेकिन यह पूछते हैं कि क्या यह एक विशेष खेल नहीं है अपना खेल बनाने के साथ कुछ भी करना है; और पूछ रहा है कि क्या आपको 2.5D गेम बनाना चाहिए और उद्देश्य क्यों नहीं है।
जोश

3
@JoshPetrie क्या? एक उदाहरण को कैसे जोड़ा जाता है जहाँ उसकी समझ अस्पष्टता की ओर ले जाती है और इस सवाल को आम तौर पर उपयोगी होने से रोकती है? इस मामले में (जहां मूल प्रश्न पूरी तरह से मान्य है, लेकिन ओपी की वजह से मामूली खराबी है, बल्कि अनाड़ी तरीके से खुद को समझाते हुए) प्रश्न को खुला छोड़ देना चाहिए। यदि इसका डुप्लिकेट इसे डुप्लिकेट के रूप में बंद कर देता है।
क्लासिकथंडर

जवाबों:


60

The terms 2D and 3D (as you probably already know) refer to the number of spatial dimensions in a Euclidean world-space. This dimensionality must be an ordinal number; there is no such thing as a half dimension, so the term 2.5D is really a nonsense term, and has no intrinsic meaning. That said, 2.5 is "somewhere between" 2 and 3, so 2.5D generally means something along the lines of "somewhere between 2D and 3D".

Personally, I use the term to refer to cases where a game's graphical and logical world-spaces have different dimensionalities. In particular, there are two different variants here:

  • 2 डी तार्किक और 3 डी ग्राफिकल । उदाहरण के लिए, 2 डी गेम मैकेनिक्स और भौतिकी के साथ एक प्लेटफ़ॉर्मर, लेकिन 3 डी मेष और एक परिप्रेक्ष्य कैमरा के साथ प्रदान किया गया। क्लासिक आर्केड गेम जैसे पीएसी-मैन, ब्रेकआउट आदि के अधिकांश रीमेक इस श्रेणी में आते हैं। नीचे चित्र: पाइनएप्पल स्मैश क्रू

Pineapple Smash Crew takes place in a 2D world, but it is rendered in 3D.

  • 3 डी तार्किक और 2 डी ग्राफिकल । उदाहरणों में ग्नोमोरिया या सिमिसिटी 2000 जैसे गेम शामिल हैं, जिनमें 3 डी गेम की दुनिया है, लेकिन इसे 2 डी आइसोमेट्रिक दृश्य में प्रस्तुत किया गया है। नीचे चित्र: Xenonauts

Xenonauts ground assaults take place on a 3D grid, but it is rendered entirely using 2D sprites.

शब्द का एक और सामान्य उपयोग (हालांकि एक भी ऐसा नहीं है जिसका मैं उपयोग करता हूं) उन खेलों को संदर्भित करता है जो 3 डी और बिलबोर्ड किए गए 2 डी ग्राफिक्स के संयोजन का उपयोग करते हैं । इस मामले में यह शब्द खेल की तार्किक गतिशीलता का बिल्कुल भी वर्णन नहीं करता है। वस्तुतः सभी 3 डी गेम किसी न किसी तरह से बिलबोर्डिंग का उपयोग करते हैं, जिसमें कण प्रणाली, दूर-वस्तु के परदे के पीछे और विश्व-यूआई ओवरले शामिल हैं। इसलिए, इस शब्द का उपयोग आमतौर पर केवल तब किया जाता है जब गैर-पृष्ठभूमि वस्तुओं का एक महत्वपूर्ण हिस्सा 2 डी ग्राफिक्स का उपयोग करता है, और 2.5 डी और 3 डी के बीच की सीमा कुछ हद तक कविता है।


17
वैसे, भिन्नात्मक आयाम जैसी कोई चीज है, लेकिन इसका खेल-विकास शब्द "2.5D" से कोई लेना-देना नहीं है; यह भग्न और अन्य अजीब सामयिक आकार का अध्ययन करने में आता है। उदाहरण के लिए, द्विघात कोक सतह (टाइप 2) में ठीक 2.5 का एक हॉसडॉर्फ आयाम (भग्न आयाम को परिभाषित करने का एक सामान्य तरीका) है।
लिली चुंग

9
@IstvanChung Yes, technically you are right and I considered mentioning it, but figured it would only confuse the issue. I think few game developers need to know about topological spaces outside of n-dimensional Euclidean space, and if they do, it's likely they understand that I'm not talking about fractals.
bcrist

1
@Pharap and... done!
bcrist

2
@bcrist If I could upvote a second time I would, so I'll just will someone to upvote for me with the power of my brain.
Pharap

2
I really like this logical vs graphical distinction. While most of the answers/comments here seem to assume 2.5D means 2D graphics, I actually tend to think of 3D graphics. so your logical vs. graphical distinction is a great way to encompass both notions of 2.5D
jhocking

27

The first game I'm aware of that had the term "2.5D" applied to it was Doom (although Wolfenstein 3D qualifies in some sense too).

Wolfenstein 3D was a basically 2D game with a 3D presentation. You navigated a 2D maze, all the floors were flat, all the ceilings were at the same height, there were no windows, doors were floor-to-ceiling and opened sideways, and you could never be on top of or below another object. The game used raycasting to figure out, for each column of the screen, how far away the wall was in that direction, and what texture the wall had; then a column of the wall texture was drawn with a height inversely proportional to the distance, and the space above and below painted with floor fill and ceiling fill. Enemies and objects were sprites, with a limited number of aspects, and their size again proportional to distance.

Doom used very similar technology to Wolfenstein 3D, but abused it to get a more 3D experience. The maps were still 2D, represented using 2D binary space partitioning (thus the .BSP map filename). What you saw on the automap when you hit tab was just a direct 2D rendering of the map. But each sector had an independent "floor height" and "ceiling height", and edges had top and bottom side textures (used when they had a lower ceiling height, or a higher floor height, than part of their surroundings). This allowed for stairways, windows, platforms, pools, and other effects — the engine just had to be able to keep a list of multiple sectors passed through before eventually hitting a wall, and their respective textures. But you still couldn't have real 3D architecture — you could make a "bridge" across some slime using a raised section of floor, but it would be impossible for anything to be under the bridge. A position in the game is still only X and Y. The only control the player has over their height is falling off of things, and elevators, which are simply sectors that are scripted to change their floor height. Enemies are still sprites (although I think they had more aspects), shots "auto-aim" in height because the collision detection is only 2-dimensional, and there wasn't a 3D model to be found in the game.

Heretic and Hexen used Doom-derived engines that took things even a step further, to the point that they were occasionally called "2.75D"; they had most of the same architectural limitations and sprite-based enemies, but added the ability for the player to look up and down (tilt the view, but only so far or else the engine would break) and to jump, fly, and crouch (changing their height independently).


1
+1, I've only heard the term 2.5D when people referred to raycasting. Good explanation!
Ruben

5
+1 this answer is correct with regards to the first historical use of the term.
R..

this is the most (practically) correct answer, not sure why it's not the first…
Sarge Borsch

While this answer may be historically correct, it is not the industry standard accepted or expected definition. Today, any game described as 2.5D is universally understood to have 2d rendering with a 3d look.
Ted Bigham

I think the limit on look up/down for games like Heretic was based upon the fact that object heights were only factored into screen Y coordinates and not X coordinates, and thus all vertical lines in a scene would be rendered as vertical. If one is looking up or down at a shallow angle, this wouldn't be too noticeable, but at steeper angles it would be very objectionable. I don't think steeper angles would have broken the engine, but merely the illusion.
supercat

11

2.5D

2.5D ("two-and-a-half-dimensional"), ¾ perspective, and pseudo-3D ar terms, mainly in the video game industry, used to describe either 2D graphical projections and similar techniques used to cause a series of images (or scenes) to simulate the appearance of being three-dimensional (3D) when in fact they are not, or gameplay in an otherwise three-dimensional video game that is restricted to a two-dimensional plane.

In my experience which definition is emphasized depends on the age of the person you are talking to.

  1. Older gamers tend to use the 1st definition "2D graphical projections and similar techniques used to cause a series of images (or scenes) to simulate the appearance of being three-dimensional (3D) when in fact they are not"

  2. Younger gamers use the 2nd definition "gameplay in an otherwise three-dimensional video game that is restricted to a two-dimensional plane".

Personally I use the 2nd definition. Trine, Donkey Kong, and Super Mario Bros Wii U would all be 2.5D in my opinion. Additionally the 2.5D Steam tag uses the second definition. I figure this is a good litmus test for how a typical gamer defines the concept) and as such I believe the 2nd definition is more correct.

3D

Any video game with 3D game graphics, that are computed in 3 dimensions. Note this makes it a super-set of the second 2.5D definition.


I found platformer Shadow Complex to be a very interesting case, because the interactions could happen in 3D, even the location of enemies. But aiming your gun at them involved pointing to the 2D angle that aligned with where the projection from 3D placed them on the screen. Then the character took care of unprojecting that angle and pointing their gun into the Z-axis.
Seth Battin

6

2.5D is just a convienient way of saying 2D that looks 3D.
I supose you could really blur the lines of the definition if, for example, you use a 3D engine but restrict gameplay to a 2D plane only, but personally I'd consider something 2.5D is it looks 3D but acts 2D.


Thanks. My project idea would look like 3D but I'm still wondering about 2D or 3D engine and stuff. Can you tell me more about 2.5D/3D oriented to the screenshot I posted?
mathieug

Afraid I can't see the screenshot (blocked at work) so I can't comment.
DFreeman

3

The game screen shot you posted is a 3D game.

In a 3D game, the objects are drawn using vertices to draw actual 3D objects, which are then colored, textured, so forth.

In a 2D game, the objects are taken from sprites / sprite sheets, etc.

The difference between the two is how you can view them. A sprite is like a flat piece of paper. You can not view it at a different pitch or angle or the sprite will be skewed. On a 3D object, as the camera moves, you can see different parts of the object because the object is, well 3D.

In a 2.5D game you are combining both of these worlds. Keep in mind just because you can't move a camera to see different angles, doesn't make a game not 3D. It's the objects that are in it that determine this.

A good example of a 2.5D game is Ragnarok Online. What makes it 2.5D is that the world is mostly compromised of 3D objects. Buildings, landscape, etc are textured 3D objects. You can rotate the over head camera and see different sides of these objects at the same time. You can view the front side of a building as well as a left/right/roof area. The players however, are 2D sprites that are positioned to appear to be standing upwards. If you rotate the camera too much, the game must load a different cell of the sprite sheet for that character to change how it appears to be standing. You can not view different angles of the character because they aren't 3D. The angles are dynamically loaded in depending on the view of the camera.

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

This is a sprite sheet from the game. If you were to just look at it, you would assume it's from a 2D game. Alone, you would be correct. But once it's placed into a 3D world, you have a 2.5D game.


I think 2.5D is misleading since its just a human interpretation etc. not something technical about this. For example what is your game if you're using Billboard technique for everything (etc. textured quads) on a 3D environment, if they're rotated always in front of you? Some might say 2.5D but most of the pack will say 3D as there is Z-depth. Technically, if it uses 3D vertices (thus, z-dimension) it's 3D, if it uses only X/Y (say, Super Mario bros) then it's 2D. But if it utilizes only 2D (x/y) on a 3D environment (including character), then it's still 3D but 2.5D by interpretation.

2

2.5D is often another way of saying "isometric" -- 2D graphics drawn in a way to give the appearance of 3D, but not actually simulating 3D coordinates. See the wikipedia article on isometric graphics: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art

The gist is that in 2.5D/isometric, you are still using a 2D coordinate system -- with x and y axes only to calculate your graphics. Your graphics may simply be 2D sprites, which are typically drawn such that you can see three faces, and then placed on the screen using (x,y) coordinates. Sometimes the sprites are even created by modelling in 3D, then creating 2D sprites of the 3D model from multiple angles.

Moving objects characteristically only have a few angles they can be viewed from. If you spin a character around in an isometric view, it won't smoothly spin, but you'll see several distinct angles, such as front, 3/4, side, and so forth. This is because each unique angle of view requires a whole new set of sprites.

Isometric games usually support only one camera angle, because of the limitations of this type of system. Another distinguishing feature of isometric games is that they do not typically have vanishing points. When viewing an object in real life, if the object is closer to you, the object will appear larger in your vision. If the object is farther away, it will appear smaller. In isometric games, all objects typically appear the same size no matter where they are located in space.

3D games in comparison, simulate all 3 axes -- x, y, and z. On a very low level, the computer is translating x, y, and z to x, y to be displayed on a monitor, but on a higher level, artists are actually manipulating points on 3 axes to represent objects. Since the computer has all the information about the shape of the object, it can dynamically calculate what that object looks viewed at any angle, and it can appear smaller or larger as you get closer or farther from it.

Some games are a mix of 2.5D and true 3D. An example I can think of is the Disgaea series, which features 3D backgrounds and 2D sprites.


2

I am not sure what would be the more accepted definition, but I and the folks at my previous company considered "any game which looks like isometric 3D, but is rendered via 2D sprites" to be 2.5D.

Now let me explain why we did that. Generally rendering a 3D world with a lot of objects in it will create too much pressure on the processing, lowering the FPS count. So to overcome this we generally created objects in 3D rendering software like Maya and rendered them as sprites. Which can be used in the game. Not to mention that the angle were considered while rendering. So to speak about this tech with publisher we normally used this term. A 3D world which looks like it's a 2D world is still technically 3D for us. So we generally didn't use the term for this method. I thought I should share my bit here.


1

Usually the term "2.5-D" refers to one of two very different styles of games.

It could either mean:

1) A game that uses 2-D rendering techniques, but controls in 3 spacial dimensions. Usually uses graphical tricks to appear as though it were actually rendered in 3-D. This was very common in the 90s, but not so much today. (Examples: "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")

2) A game rendered entirely in 3-D, but that controls exclusively along one or more 2-D planes. This style remains very popular to this day. (Examples: "Little Big Planet", "New Super Mario Bros.", "Trials HD")

One thing to note is that when using the model-view-controller architectural pattern, the first style of game has a "model" that represents data in 3 dimensions but a "view" that only displays it to the user in 2 dimensions; the second style of game is the other way around.


0

In 2.5D you use 2D assets/rendering techniques to give the sensation of a 3D environment.

Now, with that definition, in the following potentially ambiguous scenario, some elaboration is required:

Game A

Using 3D graphics, GPU accelerated and all (the game objects are meshes, not images), with a fixed camera angle. Lets make it even worse, the projection is orthographic, the classical 63.43 degrees. The only way to notice at first glance that graphics aren't 2D is because 3DGC, except that you render them with extreme care, are easily differentiated from hand drawing sprites, not matter the projection used to render them. You may experiment with different render techniques, parameters, shaders, etc, and you will have a hard time trying to hide the fact that they are 3D meshes.

Game B

A port of Game A, but targeting platforms that are known to have hardware that does not handle 3D graphics very well or does not handle it at all. Then the port replaces meshes with sprites. It still uses 3D Bounding Boxes for collisions, for example, and objects have a position property with x,y and z values, as the game logic was mostly not touched or not touched at all, only the rendering code was altered.

As the sprites of Game B are renders of the 3D assets of Game A and, to make things more ambiguous, Game A doesn't do anything that requires complicated shaders, in 99% of all GPUs out there you cannot differentiate a frame from Game B of a frame from Game A.

In 2.5D, interaction between game objects are limited to the set of situations where the illusion of 3D cannot be compromised. To represent two characters hugging, for example, you will have to create a single image file with the two characters interacting, as trying to represent the hug action only using a single image per character would be too hard or impossible. Maybe you can come with a character body divided in parts and draw them in the correct order. In 3D this problem does not exists (there exists another, that is posing the two characters correctly so they do not penetrate in the mesh of the other character).

Now, to visualize this, imagine that Game A and B have a bug that in some situation allows the player character to pass through another game object, allowing us to differentiate between the 2.5D one and the 3D one easily.


Game B, 2.5D Render, sprites are ordered by the z value of its position vector. In this example positive z is down and negative z is up. z-axis and y-axis are parallel but z is scaled by a factor of 0.5 of y. So if the visible area is from 10y to -10y, in the same area we have from 20z to -20z. Objects with a greater z will be drawn latter, so they will be seen as being in front of objects with lower z. Shadow of player character looks weird because shadows are in a superior layer than the floor, but in an inferior layer that all the other objects, so the player character shadow never is on top of the cube.

2.5D Render


Game A, 3D Render. Depth buffer (also known as z-buffer) is used for pixel precision depth testing. So, an object does not need to completely occlude another, not even a triangle needs to completely occlude another, we have pixel precision depth test. We can rotate the game objects in any way and still get realistic results when they interact.

3D Render

In resume: in 2.5D an sprite is either in front or behind another sprite. In 3D, a mesh is made of triangles, but triangle is not the minimal unit when testing for depth, you can have pixel precision. Of course, camera rotation in 2.5D is impossible as assets were created for a fixed camera angle, while in 3D is natural, if the angles of the camera are restricted by design in a 3D game is another subject.


There are different tricks to give the sensation of being in a 3D world when you only can render 2D graphics, I only presented a quickly crafted example using some assets of an abandoned project of mine.

Why not just use 3D always and forget about 2.5D?

Well, I can think in some examples of why a developer may prefer the 2.5D approach:

  • Maybe they do not know, or do not like, 3D APIs (Direct3D, OpenGL, there are others).
  • Maybe the target platform does not handle well 3D graphics (old desktop computers, 2D consoles).
  • Your team can do amazing sprites but not 3D models.

How much you can approximate the results of 3D graphics using 2.5D?

There is a performance and programming complexity horizon. When you approximate to that horizon you start to doubt if your project is really possible in 2.5D or if you have to go full 3D. For example, you can use z-buffering in 2.5D (in theory), but can you pay the video memory cost (old desktop computer with onboard graphics, not powerful mobile devices)? Do you want to pay the storage cost of having an extra image to save the z-mask of every sprite?

Good candidates for 2.5D are RPG games, think Baldur's Gate series, or RTS, thinks Age of Empires 1 and 2 (AoE 3 is fully 3D and easily to differentiate).

Useful references:

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

Orthographic projections: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.