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?
2.5d
terminology
mathieug
fuente
fuente
Respuestas:
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í:
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.
fuente
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).
fuente
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.
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 "
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.
fuente
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.
fuente
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.
fuente
2.5D
es 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.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
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í.
fuente
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.
fuente
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.
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.
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:
¿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
fuente