¿Qué es un entorno "2.5D"?

31

No entiendo el significado del término "2.5D". Estoy específicamente confundido acerca de la diferencia entre los entornos 2.5D y 3D, a pesar de que he leído diferentes definiciones y artículos sobre ambos. Entiendo las partes donde 2.5D es como 3D, pero no entiendo las partes donde 2.5D es diferente.

Entonces, ¿qué significa que un juego sea 2.5D? Por ejemplo, ¿se muestra el juego aquí 2.5D?

Mario

mathieug
fuente
10
Hasta donde sé, es 2.5D cuando se utilizan sprites para simular una apariencia 3D. Siempre que tengas una cámara fija pero sigas trabajando con geometría 3D, sigue siendo un juego en 3D. De la captura de pantalla, parece que Mario es un modelo 3D, por lo que el juego parece ser completamente 3D. Se trata de si está emulando 3D o si está renderizando geometría 3D en una tubería 3D típica.
Grimshaw
@Grimshaw Entonces, ¿2.5D significa que el motor puede ser 2D con modelos 3D, por ejemplo? Estoy seguro de que hay una contraparte si haces este tipo de juego con motor 2D y también con motor 3D. ¿Qué son? Costo de rendimiento para 3D?
mathieug
44
2.5D significa casi exclusivamente que está utilizando imágenes 2D (sprites) para representar su mundo, incluso si se ve como 3D. Verifique juegos isométricos como Choque de clanes para ver ejemplos de juegos 2.5D, totalmente renderizados en 2D, pero parece un juego en 3D. Cuando comienzas a poner en tu mundo modelos 3D, estás pasando a 3D y el término 2.5D ya no se aplica. Esto quiere decir que la cámara no tiene relación con si estás renderizando en 3D o no. El 3D no se trata de proyecciones o comportamiento de la cámara, sino de geometría.
Grimshaw
Esta pregunta parece estar fuera de tema porque se trata de las características de un juego en particular. Una pregunta que pregunta (solo) cuál sería la definición o el significado del término "2.5D" sería apropiado (aunque creo que ya tenemos uno flotando), pero preguntar si es un juego en particular no lo es tener algo que ver con hacer tu juego; y preguntando si deberías hacer un juego 2.5D y por qué no es objetivo.
Josh
3
@JoshPetrie ¿Qué? ¿Cómo agregar un ejemplo de dónde su comprensión conduce a la ambigüedad evita que la pregunta sea generalmente útil? En este caso (donde la pregunta central es perfectamente válida pero hay una pequeña cantidad de hinchazón causada por OP que se explica torpemente) la pregunta debe dejarse abierta. Si es un duplicado, ciérrelo como duplicado.
ClassicThunder

Respuestas:

60

Los términos 2D y 3D (como probablemente ya sepa) se refieren al número de dimensiones espaciales en un espacio-mundo euclidiano. Esta dimensionalidad debe ser un número ordinal; no existe una media dimensión , por lo que el término 2.5D es realmente un término sin sentido y no tiene un significado intrínseco. Dicho esto, 2.5 está "en algún lugar entre" 2 y 3, por lo que 2.5D generalmente significa algo así como "en algún lugar entre 2D y 3D".

Personalmente, utilizo el término para referirme a casos en los que los espacios mundiales gráficos y lógicos de un juego tienen diferentes dimensionalidades. En particular, hay dos variantes diferentes aquí:

  • 2D lógico y 3D gráfico . Por ejemplo, un juego de plataformas con mecánica y física de juegos 2D, pero renderizado con mallas 3D y una cámara de perspectiva. La mayoría de los remakes de juegos clásicos como Pac-Man, Breakout, etc. entran en esta categoría. En la foto a continuación: Pineapple Smash Crew

Pineapple Smash Crew tiene lugar en un mundo 2D, pero se representa en 3D.

  • Lógica 3D y gráfica 2D . Los ejemplos incluyen juegos como Gnomoria o SimCity 2000 que tienen mundos de juego en 3D, pero se representan en una vista isométrica en 2D. En la foto a continuación: Xenonautas

Los asaltos terrestres de Xenonauts tienen lugar en una cuadrícula 3D, pero se procesa completamente con sprites 2D.

Otro uso común del término (aunque no uno que yo uso) se refiere a juegos que utilizan una combinación de gráficos 3D y gráficos 2D billboarded . En este caso, el término no describe la dimensionalidad lógica del juego en absoluto. Prácticamente todos los juegos en 3D usan carteleras de una forma u otra, incluidos sistemas de partículas, proxies de objetos distantes y superposiciones de IU en el mundo. Por lo tanto, el término generalmente solo se usa cuando una parte significativa de los objetos que no son de fondo usan gráficos 2D, y el borde entre 2.5D y 3D es algo borroso.

bcrist
fuente
17
Por cierto, existe una dimensión fraccional, pero no tiene nada que ver con el término de desarrollo del juego "2.5D"; surge al estudiar fractales y otras formas topológicas extrañas. Por ejemplo, la superficie cuadrática de Koch (tipo 2) tiene una dimensión de Hausdorff (una forma común de definir la dimensión fractal) de exactamente 2.5.
Lily Chung
99
@IstvanChung Sí, técnicamente tienes razón y consideré mencionarlo, pero pensé que solo confundiría el problema. Creo que pocos desarrolladores de juegos necesitan saber acerca de los espacios topológicos fuera del espacio euclidiano n-dimensional, y si lo hacen, es probable que entiendan que no estoy hablando de fractales.
bcrist
1
@Pharap y ... ¡listo!
bcrist
2
@bcrist Si pudiera votar por segunda vez, lo haría, así que simplemente haré que alguien vote por mí con el poder de mi cerebro.
Pharap
2
Realmente me gusta esta distinción lógica versus gráfica. Si bien la mayoría de las respuestas / comentarios aquí parecen suponer que 2.5D significa gráficos en 2D, en realidad tiendo a pensar en gráficos en 3D. así que su distinción lógica versus gráfica es una excelente manera de abarcar ambas nociones de 2.5D
jhocking
27

El primer juego que conozco que tenía el término "2.5D" aplicado era Doom (aunque Wolfenstein 3D también califica en algún sentido).

Wolfenstein 3D era un juego básicamente en 2D con una presentación en 3D. Navegaste por un laberinto en 2D, todos los pisos eran planos, todos los techos estaban a la misma altura, no había ventanas, las puertas eran de piso a techo y se abrían de lado, y nunca podías estar encima o debajo de otro objeto. El juego utilizó la emisión de rayos para determinar, para cada columna de la pantalla, qué tan lejos estaba la pared en esa dirección y qué textura tenía la pared; luego se dibujó una columna de la textura de la pared con una altura inversamente proporcional a la distancia, y el espacio arriba y abajo se pintó con relleno de piso y techo. Los enemigos y los objetos eran sprites, con un número limitado de aspectos, y su tamaño nuevamente proporcional a la distancia.

Doom usó tecnología muy similar a Wolfenstein 3D, pero abusó de ella para obtener una experiencia más 3D. Los mapas aún estaban2D, representado mediante particiones de espacio binario 2D (por lo tanto, el nombre de archivo del mapa .BSP). Lo que viste en el automapa cuando presionaste la pestaña fue solo una representación 2D directa del mapa. Pero cada sector tenía una "altura del piso" y una "altura del techo" independientes, y los bordes tenían texturas laterales superior e inferior (se usaban cuando tenían una altura de techo más baja o una altura de piso más alta que parte de su entorno). Esto permitió escaleras, ventanas, plataformas, piscinas y otros efectos: el motor solo tenía que ser capaz de mantener una lista de múltiples sectores atravesados ​​antes de eventualmente golpear una pared y sus respectivas texturas. Pero aún no podría tener una arquitectura 3D real: podría hacer un "puente" a través de un limo usando una sección elevada del piso, pero sería imposible que algo estuviera debajoel puente. Una posición en el juego sigue siendo solo X e Y. El único control que el jugador tiene sobre su altura es caerse de las cosas y los ascensores, que son simplemente sectores que están programados para cambiar la altura de su piso. Los enemigos siguen siendo sprites (aunque creo que tenían más aspectos), los disparos "apuntan automáticamente" en altura porque la detección de colisión es solo bidimensional, y no se encontró un modelo 3D en el juego.

Heretic y Hexen usaron motores derivados de Doom que llevaron las cosas incluso un paso más allá, hasta el punto de que ocasionalmente se los llamaba "2.75D"; tenían la mayoría de las mismas limitaciones arquitectónicas y enemigos basados ​​en sprites, pero agregaron la capacidad para que el jugador mirara hacia arriba y hacia abajo (inclina la vista, pero solo hasta cierto punto o de lo contrario el motor se rompería) y para saltar, volar y agacharse (cambiando su altura de forma independiente).

hobbs
fuente
1
+1, solo escuché el término 2.5D cuando las personas se referían a la emisión de rayos. ¡Buena explicación!
Ruben
55
+1 esta respuesta es correcta con respecto al primer uso histórico del término.
R ..
esta es la respuesta más (prácticamente) correcta, no estoy seguro de por qué no es la primera ...
Sarge Borsch
Si bien esta respuesta puede ser históricamente correcta, no es la definición estándar aceptada o esperada de la industria. Hoy en día, cualquier juego descrito como 2.5D se entiende universalmente que tiene renderizado 2D con un aspecto 3D.
Ted Bigham
Creo que el límite para mirar hacia arriba / abajo para juegos como Heretic se basó en el hecho de que las alturas de los objetos solo se tenían en cuenta en las coordenadas Y de la pantalla y no en las coordenadas X, y por lo tanto todas las líneas verticales en una escena se representarían como verticales. Si uno mira hacia arriba o hacia abajo en un ángulo poco profundo, esto no sería demasiado notable, pero en ángulos más pronunciados sería muy objetable. No creo que ángulos más pronunciados hubieran roto el motor, sino simplemente la ilusión.
supercat
11

2.5D

2.5D ("dos dimensiones y media"), perspectiva ¾ y términos ar pseudo-3D, principalmente en la industria de los videojuegos, utilizados para describir proyecciones gráficas 2D y técnicas similares utilizadas para generar una serie de imágenes (o escenas) para simular la apariencia de ser tridimensional (3D) cuando en realidad no lo son, o la jugabilidad en un videojuego tridimensional que está restringido a un plano bidimensional.

En mi experiencia, la definición que se enfatiza depende de la edad de la persona con la que está hablando.

  1. Los jugadores mayores tienden a usar la primera definición " proyecciones gráficas 2D y técnicas similares que se utilizan para hacer que una serie de imágenes (o escenas) simulen la apariencia de ser tridimensionales (3D) cuando en realidad no lo son "

  2. Los jugadores más jóvenes usan la segunda definición " juego en un videojuego tridimensional que está restringido a un plano bidimensional ".

Personalmente uso la segunda definición. Trine, Donkey Kong y Super Mario Bros Wii U serían todos 2.5D en mi opinión. Además, la etiqueta 2.5D Steam usa la segunda definición. Creo que esta es una buena prueba de fuego para ver cómo un jugador típico define el concepto) y, como tal , creo que la segunda definición es más correcta .

3D

Cualquier videojuego con gráficos en 3D, que se calculan en 3 dimensiones. Tenga en cuenta que esto lo convierte en un superconjunto de la segunda definición 2.5D.

Trueno clásico
fuente
Encontré que el juego de plataformas Shadow Complex es un caso muy interesante, porque las interacciones pueden ocurrir en 3D, incluso la ubicación de los enemigos. Pero apuntar su arma hacia ellos implicaba apuntar al ángulo 2D que se alineaba con el lugar donde la proyección desde 3D los colocaba en la pantalla. Luego, el personaje se encargó de proyectar ese ángulo y apuntar su arma hacia el eje Z.
Seth Battin
6

2.5D es solo una manera conveniente de decir 2D que se ve en 3D.
Supongo que realmente podría difuminar las líneas de la definición si, por ejemplo, usa un motor 3D pero restringe el juego solo a un plano 2D, pero personalmente consideraría que algo 2.5D es que se ve en 3D pero actúa en 2D.

DFreeman
fuente
Gracias. La idea de mi proyecto sería 3D, pero todavía me pregunto sobre el motor 2D o 3D y esas cosas. ¿Me puede decir más acerca de 2.5D / 3D orientado a la captura de pantalla que publiqué?
mathieug
Me temo que no puedo ver la captura de pantalla (bloqueada en el trabajo), así que no puedo comentar.
DFreeman
3

La captura de pantalla del juego que publicaste es un juego en 3D.

En un juego 3D, los objetos se dibujan utilizando vértices para dibujar objetos 3D reales, que luego se colorean, se texturizan, etc.

En un juego 2D, los objetos se toman de sprites / hojas de sprites, etc.

La diferencia entre los dos es cómo puedes verlos. Un sprite es como un trozo de papel plano. No puede verlo en un ángulo o inclinación diferente o el sprite estará sesgado. En un objeto 3D, a medida que la cámara se mueve, puede ver diferentes partes del objeto porque el objeto es, bueno, 3D.

En un juego 2.5D estás combinando ambos mundos. Ten en cuenta que no puedes mover una cámara para ver ángulos diferentes, no hace que un juego no sea 3D. Son los objetos que están en él que determinan esto.

Un buen ejemplo de un juego 2.5D es Ragnarok Online. Lo que lo convierte en 2.5D es que el mundo está mayormente comprometido con los objetos 3D. Los edificios, el paisaje, etc. son objetos texturizados en 3D. Puede girar la cámara sobre la cabeza y ver diferentes lados de estos objetos al mismo tiempo. Puede ver la parte frontal de un edificio, así como un área izquierda / derecha / techo. Sin embargo, los jugadores son sprites 2D que están posicionados para parecer estar de pie hacia arriba. Si giras la cámara demasiado, el juego debe cargar una celda diferente de la hoja de sprites para que ese personaje cambie su apariencia. No puedes ver diferentes ángulos del personaje porque no son 3D. Los ángulos se cargan dinámicamente según la vista de la cámara.

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

Esta es una hoja de sprites del juego. Si solo lo vieras, asumirías que es de un juego 2D. Solo, estarías en lo correcto. Pero una vez que se coloca en un mundo 3D, tienes un juego 2.5D.

Joe Swindell
fuente
Creo que 2.5Des engañoso ya que es solo una interpretación humana, etc., no es algo técnico sobre esto. Por ejemplo, ¿cuál es su juego si está utilizando la técnica Billboard para todo (etc. quads texturizados) en un entorno 3D, si están rotados siempre frente a usted? Algunos podrían decir 2.5D, pero la mayoría del paquete dirá 3D ya que hay profundidad Z. Técnicamente, si usa vértices 3D (por lo tanto, dimensión z) es 3D, si usa solo X / Y (por ejemplo, Super Mario bros ), entonces es 2D. Pero si utiliza solo 2D (x / y) en un entorno 3D (incluido el personaje), sigue siendo 3D pero 2.5D por interpretación .
2

2.5D es a menudo otra forma de decir "isométrico": gráficos 2D dibujados de una manera que da la apariencia de 3D, pero no simulando realmente coordenadas 3D. Vea el artículo de Wikipedia sobre gráficos isométricos: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art

La esencia es que en 2.5D / isométrica, todavía está utilizando un sistema de coordenadas 2D, con ejes x e y solo para calcular sus gráficos. Sus gráficos pueden ser simplemente sprites 2D, que generalmente se dibujan de tal manera que puede ver tres caras y luego se colocan en la pantalla utilizando coordenadas (x, y). A veces, los sprites incluso se crean modelando en 3D, luego creando sprites 2D del modelo 3D desde múltiples ángulos.

Los objetos en movimiento característicamente solo tienen unos pocos ángulos desde los que se pueden ver. Si gira un personaje en una vista isométrica, no girará suavemente, pero verá varios ángulos distintos, como frontal, 3/4, lateral, etc. Esto se debe a que cada ángulo de visión único requiere un conjunto completamente nuevo de sprites.

Los juegos isométricos generalmente solo admiten un ángulo de cámara, debido a las limitaciones de este tipo de sistema. Otra característica distintiva de los juegos isométricos es que generalmente no tienen puntos de fuga. Al ver un objeto en la vida real, si el objeto está más cerca de ti, el objeto aparecerá más grande en tu visión. Si el objeto está más lejos, aparecerá más pequeño. En los juegos isométricos, todos los objetos suelen aparecer del mismo tamaño sin importar dónde se encuentren en el espacio.

En comparación, los juegos 3D simulan los 3 ejes: x, y y z. En un nivel muy bajo, la computadora está traduciendo x, y, y z a x, y para mostrarlas en un monitor, pero en un nivel superior, los artistas en realidad están manipulando puntos en 3 ejes para representar objetos. Dado que la computadora tiene toda la información sobre la forma del objeto, puede calcular dinámicamente lo que ese objeto se ve visto en cualquier ángulo, y puede parecer más pequeño o más grande a medida que se acerca o se aleja de él.

Algunos juegos son una mezcla de 2.5D y 3D real. Un ejemplo que se me ocurre es la serie Disgaea, que presenta fondos en 3D y sprites en 2D.


fuente
2

No estoy seguro de cuál sería la definición más aceptada, pero yo y la gente de mi compañía anterior consideramos que "cualquier juego que se parezca a 3D isométrico, pero se representa a través de sprites 2D" es 2.5D.

Ahora déjame explicarte por qué hicimos eso. En general, renderizar un mundo 3D con muchos objetos creará demasiada presión en el procesamiento, reduciendo el conteo de FPS. Entonces, para superar esto, generalmente creamos objetos en software de renderizado 3D como Maya y los presentamos como sprites. Que se puede usar en el juego. Sin mencionar que el ángulo se consideró durante el renderizado. Entonces, para hablar sobre esta tecnología con el editor, normalmente usamos este término. Un mundo 3D que parece un mundo 2D sigue siendo técnicamente 3D para nosotros. Por lo tanto, generalmente no usamos el término para este método. Pensé que debería compartir mi parte aquí.

novato
fuente
1

Por lo general, el término "2.5-D" se refiere a uno de los dos estilos de juegos muy diferentes.

Podría significar:

1) Un juego que usa técnicas de renderización en 2-D, pero controla en 3 dimensiones espaciales. Por lo general, utiliza trucos gráficos para aparecer como si realmente se representara en 3-D. Esto fue muy común en los años 90, pero hoy no tanto. (Ejemplos: "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")

2) Un juego renderizado completamente en 3-D, pero que controla exclusivamente a lo largo de uno o más planos en 2-D. Este estilo sigue siendo muy popular hasta nuestros días. (Ejemplos: "Little Big Planet", "New Super Mario Bros.", "Trials HD")

Una cosa a tener en cuenta es que cuando se usa el patrón arquitectónico modelo-vista-controlador, el primer estilo de juego tiene un "modelo" que representa datos en 3 dimensiones pero una "vista" que solo se lo muestra al usuario en 2 dimensiones; El segundo estilo de juego es al revés.

android927
fuente
0

En 2.5D usas recursos 2D / técnicas de renderizado para dar la sensación de un entorno 3D.

Ahora, con esa definición, en el siguiente escenario potencialmente ambiguo, se requiere alguna elaboración:

Juego A

Utilizando gráficos 3D, GPU acelerado y todo (los objetos del juego son mallas, no imágenes), con un ángulo de cámara fijo. Hagámoslo aún peor, la proyección es ortográfica, los clásicos 63.43 grados. La única forma de notar a primera vista que los gráficos no son 2D es porque 3DGC, excepto que los renderiza con extremo cuidado, se diferencian fácilmente de los sprites de dibujo a mano, sin importar la proyección utilizada para renderizarlos. Puede experimentar con diferentes técnicas de renderizado, parámetros, sombreadores, etc., y tendrá dificultades para ocultar el hecho de que son mallas 3D.

Juego B

Un puerto del Juego A, pero dirigido a plataformas que se sabe que tienen hardware que no maneja muy bien los gráficos 3D o que no lo maneja en absoluto. Luego el puerto reemplaza las mallas con sprites. Todavía utiliza cuadros de límite 3D para colisiones, por ejemplo, y los objetos tienen una propiedad de posición con valores x, y y z, ya que la lógica del juego no se tocó o no se tocó, solo se modificó el código de representación.

Como los sprites del Juego B son representaciones de los activos 3D del Juego A y, para hacer las cosas más ambiguas, el Juego A no hace nada que requiera sombreadores complicados, en el 99% de todas las GPU que existen no puedes diferenciar un marco del Juego B de un cuadro del Juego A.

En 2.5D, la interacción entre los objetos del juego se limita al conjunto de situaciones en las que la ilusión de 3D no puede verse comprometida. Para representar dos caracteres abrazados, por ejemplo, tendrá que crear un único archivo de imagen con los dos personajes interactuando, ya que tratar de representar la acción de abrazar solo con una sola imagen por personaje sería demasiado difícil o imposible. Tal vez puedas venir con un cuerpo de personaje dividido en partes y dibujarlos en el orden correcto. En 3D, este problema no existe (existe otro, que plantea los dos caracteres correctamente para que no penetren en la malla del otro personaje).

Ahora, para visualizar esto, imagine que el Juego A y B tienen un error que en alguna situación permite que el personaje del jugador pase a través de otro objeto del juego, lo que nos permite diferenciar fácilmente entre el 2.5D y el 3D.


Juego B, Render 2.5D, los sprites están ordenados por el valor z de su vector de posición. En este ejemplo, z positivo está abajo y z negativo está arriba. El eje z y el eje y son paralelos, pero z se escala por un factor de 0.5 de y. Entonces, si el área visible es de 10y a -10y, en la misma área tenemos de 20z a -20z. Los objetos con una z mayor se dibujarán más tarde, por lo que se verán como delante de los objetos con z inferior. La sombra del personaje del jugador se ve rara porque las sombras están en una capa superior que el piso, pero en una capa inferior que todos los demás objetos, por lo que la sombra del personaje del jugador nunca está en la parte superior del cubo.

2.5D Render


Juego A, render 3D. El tampón de profundidad (también conocido como z-buffer) se usa para pruebas de profundidad de precisión de píxeles. Entonces, un objeto no necesita ocluir completamente a otro, ni siquiera un triángulo necesita ocluir completamente a otro, tenemos una prueba de profundidad de precisión de píxeles. Podemos rotar los objetos del juego de cualquier manera y aún así obtener resultados realistas cuando interactúan.

Render 3D

En resumen: en 2.5D un sprite está delante o detrás de otro sprite. En 3D, una malla está hecha de triángulos, pero el triángulo no es la unidad mínima cuando se prueba la profundidad, puede tener precisión de píxeles. Por supuesto, la rotación de la cámara en 2.5D es imposible ya que los activos se crearon para un ángulo de cámara fijo, mientras que en 3D es natural, si los ángulos de la cámara están restringidos por diseño en un juego 3D es otro tema.


Existen diferentes trucos para dar la sensación de estar en un mundo en 3D cuando solo se pueden renderizar gráficos en 2D, solo presenté un ejemplo creado rápidamente utilizando algunos activos de un proyecto mío abandonado.

¿Por qué no usar siempre 3D y olvidarse de 2.5D?

Bueno, puedo pensar en algunos ejemplos de por qué un desarrollador puede preferir el enfoque 2.5D:

  • Tal vez no conocen, o no les gustan, las API 3D (Direct3D, OpenGL, hay otras).
  • Quizás la plataforma de destino no maneja bien los gráficos 3D (computadoras de escritorio antiguas, consolas 2D).
  • Su equipo puede hacer sprites increíbles pero no modelos 3D.

¿Cuánto puede aproximar los resultados de los gráficos 3D con 2.5D?

Hay un horizonte de complejidad de rendimiento y programación. Cuando te aproximas a ese horizonte, comienzas a dudar si tu proyecto es realmente posible en 2.5D o si tienes que ir a 3D. Por ejemplo, puede usar z-buffering en 2.5D (en teoría), pero ¿puede pagar el costo de la memoria de video (computadora de escritorio antigua con gráficos integrados, no dispositivos móviles potentes)? ¿Desea pagar el costo de almacenamiento de tener una imagen adicional para guardar la máscara z de cada sprite?

Los buenos candidatos para 2.5D son juegos de rol, piensa que la serie Baldur's Gate, o RTS, piensa en Age of Empires 1 y 2 (AoE 3 es completamente 3D y fácil de diferenciar).

Referencias útiles:

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

Proyecciones ortográficas: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html

Hatoru Hansou
fuente