¿Por qué no más juegos usan arte vectorial? [cerrado]

84

Me parece que el arte vectorial es más eficiente en términos de recursos / escalabilidad; Sin embargo, en la mayoría de los casos he visto artistas que usan mapas de bits / arte rasterizado. ¿Es esto una limitación puesta en los artistas por los programadores / diseñadores de juegos? Como programador, creo que el arte vectorial sería más ideal, ya que permite ampliar la resolución sin tener que recrear el arte, creando gráficos realmente grandes o haciendo que los gráficos se vuelvan borrosos.

Las preguntas: ¿por qué no hay más personas usando SVG / AI para crear juegos 2D? ¿Sería realmente preferido (y quién lo prefiere)? ¿Son los gráficos de mapa de bits un estándar o una limitación (o tal vez ninguno)?

Antecedentes: estoy trabajando en un motor y tenía algunas ideas geniales para gráficos basados ​​en vectores; Sin embargo, no quiero molestar a los artistas en el futuro.

Supongo que esta es más una pregunta centrada en el pragmatismo y el desarrollo de juegos.

Parris
fuente
1
Probablemente tenga algo que ver con la forma en que las GPU y el hardware funcionan de manera eficiente en imágenes de trama de cierto tamaño también, como 256x256 (o potencias de dos en general).
ashes999
44
La mayoría de las veces, las preguntas que me interesan aquí están "basadas en opiniones" y "cerradas". ¡Demasiado!
Joe Huang
Los juegos de vectores son más eficientes, los juegos de píxeles son más elegantes. Prefiero el pixel art sobre el vector solo porque puedo apreciar el esfuerzo realizado para hacerlos, y que son nítidos y visualmente atractivos. Los juegos de vectores son más rápidos de hacer y son más amigables con las cámaras. Tan pronto como un pixel art se estira o comprime, ya no se ve como debe ser, y bien podría haber sido un arte vectorial. Para mí, el arte vectorial es borroso y frustrante.
Dmitry
No se trata solo de juegos, sino de cómics, por ejemplo: los gráficos de trama generalmente se usan más con Photoshop que Illustrator. Es difícil dibujar gradaciones sutiles de color, mezclar píxeles, suavizar bordes, etc. de una manera muy precisa usando gráficos vectoriales. No puede unir píxeles tan fácilmente como pintar en un lienzo con gráficos vectoriales. Ellos tienden a ser bastante quebradizo - conveniente para ciertos estilos de dibujos animados, pero no tanto para el dibujo sutil redondeo de las formas, sombras suaves, sfumato, etc.

Respuestas:

58

A diferencia de otras formas de arte, el arte vectorial requiere una precisión extremadamente alta, lo que lo hace inadecuado para muchos estilos de arte. Las formas básicas y demás son fáciles de usar con el arte vectorial, pero es difícil agregar pequeños detalles que serían realmente fáciles de pintar. Por lo tanto, está un poco restringido a estilos "simbólicos" muy simples. Para todo lo demás, la pintura funciona mejor.

Para qué arte vectorial es adecuado, son iconos y diseño, y allí no encontrarás muchos artistas que usarían algo diferente.

Por cierto: la escalabilidad tampoco es realmente un problema para los gráficos ráster, pintar en una resolución de 10x no es una gran diferencia que pintar en la resolución que se va a mostrar. Algo que se hace bastante hoy en día (a menudo anunciado como "HD-Graphics").

API-Bestia
fuente
ahhh esto tiene sentido!
Parris
1
@ Mr.Beast Sé que esta pregunta fue respondida hace un tiempo, pero ¿qué significa pintar en resolución 10x?
bitbitbot el
@bitbitbot Si su sprite generalmente se muestra a 20x20 píxeles, dibújelo a 200x200 píxeles. De esa manera, seguirá siendo nítida cuando se acerque. No necesita ser más detallado, es solo para evitar que se vea pixelado.
API-Beast
1
-1 Creo que se debe principalmente a la historia de los Juegos que comenzó con sprites renderizados en píxeles solo con fines de rendimiento. Debe tener en cuenta que el manejo de vectores es mucho más codicioso de la CPU que las matrices rasterizadas simples, en ese momento esta solución simplemente no era posible con las CPU actuales. Tampoco es tan simple como podría parecer a primera vista más allá de los vectores, por ejemplo, un motor de juego se vuelve mucho más complicado cuando se trata de manejar vectores en lugar de sprites crudos regulares. Hoy en día solo para recordarte que la mayoría de los juegos están usando contenido 3D y el grado de detalle es simplemente asombroso.
usuario14170
39

Los gráficos vectoriales suelen ser más eficientes que los gráficos de trama para el almacenamiento (es decir, el tamaño del archivo es más pequeño) pero considerablemente menos eficiente para el rendimiento (es decir, cuánto tiempo le lleva a la computadora dibujar la imagen).

Para mostrar una imagen, la computadora debe rasterizar esa imagen (es decir, calcular los píxeles en la imagen). Debido a que los gráficos de trama ya están, por definición, rasterizados, la computadora no debe realizar muchos cálculos antes de volcar los píxeles en el búfer posterior.

Sin embargo, este problema depende de si estás hablando de usar gráficos vectoriales en tiempo real en el juego, o si estás hablando de los artistas que dibujan en Illustrator y luego exportan a formatos ráster como png.

jhocking
fuente
1
Supongo que estaba pensando principalmente en representar gráficos vectoriales en tiempo real; sin embargo, rasterizarlos podría tener sentido. Creo que en ese momento no hay mucha diferencia que simplemente usar una herramienta de gráficos de trama.
Parris
3
Los gráficos vectoriales no siempre son más eficientes para el almacenamiento; en general, a medida que aumenta el detalle de una imagen, también lo hace la complejidad de su representación como imagen vectorial. Por lo general, llega un punto en el que una imagen detallada será, de hecho, más compacta en forma de trama que en forma de vector: creo que la mayoría de las texturas entran en esta categoría, lo cual es una buena razón por la cual los rasters se usan más que los vectores.
Mac
77
@Parris representación de gráficos vectoriales en tiempo real, se les rasterizar; el búfer de cuadro en sí es una matriz ráster, por lo que en algún momento del proceso, ya sea en la tubería de herramientas, en el motor o en los controladores debajo del motor, los gráficos vectoriales se convertirán en ráster y esa conversión va a tomar algo de tiempo No necesariamente mucho tiempo, sino una cantidad no despreciable.
Steven Stadnicki
1
@StevenStadnicki sí, eso es cierto! Supongo que hacerlo de antemano es casi una optimización.
Parris
17

De hecho, hay una serie de juegos 2D que usan lo que equivale a arte vectorial; El truco fantasma de Capcom: Phantom Detective, por ejemplo, esencialmente genera sus personajes en el motor como gráficos vectoriales. (Para ser más precisos, creo que se dan como regiones poligonales de relleno plano, que en este caso equivale a lo mismo). En términos más generales, los modelos poligonales en general se pueden considerar como datos 'vectoriales' (representan los vértices, bordes y caras de un objeto) en lugar de datos 'rasterizados' (resolución de pantalla), por lo que en algunos aspectos la mayoría de los juegos en 3D son utilizando descripciones de datos vectorizados.

Pero sospecho que su pregunta es más sobre el arte 2D, y entran en juego varios factores. Como dice el Sr. Beast, los pequeños detalles hacen que el arte vectorial sea un poco más complicado de construir; imagine algo así como un cinturón de granadas en un personaje, donde incluso un poco de copia inteligente de granadas individuales todavía no va a ahorrar una tonelada de tiempo en el esfuerzo. Creo que el problema más grande, sin embargo, es que los gráficos vectoriales tienen un cierto control de distanciadel artista; Como puede observar, el arte vectorial puede verse sustancialmente mejor a mayor escala, pero los problemas reales están en resoluciones más bajas, donde los detalles incómodos de la rasterización pueden cambiar sustancialmente la apariencia de una imagen. Imagine el ojo de un personaje, por ejemplo; el límite exterior puede ser un óvalo de no más de diez o veinte píxeles de ancho y posiblemente solo un pequeño puñado de píxeles de altura. En esas resoluciones, cómo los datos vectoriales, ya sean líneas, arcos circulares o curvas de Bezier, se rasteriza se convierte en un problema crítico, y a menos que sus artistas puedan trabajar directamente en el motor, lo que esencialmente significa crear un programa de dibujo vectorial completamente nuevo, entonces tienen dificultades para garantizar que la apariencia de sus objetos en el juego coincida con la apariencia de su herramienta. Y lo que es más, el solo hecho de parecer correcto en una resolución no garantiza en absoluto que aparecerán correctos en cualquier otra; Una vez más, la escala funciona bien cuando se trata de objetos donde los detalles tienen docenas o cientos de píxeles de tamaño, pero a medida que avanza hacia características de menor escala, su representación escalada se encuentra exactamente con los mismos detalles de rasterización.

Dicho esto, el renderizado vectorizado no siempre es inapropiado, y a menudo puede ser una elección estilística con un efecto excelente. Pero no es una panacea para los problemas que plantea con los gráficos ráster, y también plantea nuevos problemas.

Steven Stadnicki
fuente
7

Creo que es principalmente una combinación de tradición, herramientas y tecnología, y expectativas, que se retroalimentan entre sí.

  • tradición: los gráficos de trama eran la forma más fácil de representar imágenes detalladas para la mayor parte de la historia del desarrollo de juegos y, por lo tanto, esa forma de trabajo se apoderó de los programadores y artistas, que se remontaban a una época anterior a que los artistas estuvieran ampliamente involucrados en los juegos. El código existente gira en torno a mapas de bits, y los artistas existentes aprendieron a trabajar con mapas de bits. Y siempre es costoso volver a entrenar y reprogramar.
  • Herramientas y tecnología: los artistas tienden a comenzar con gráficos de mapas de bits y herramientas de edición de fotos de forma predeterminada, tal vez porque se parece más a los medios tradicionales, pero sea cual sea el motivo, los buenos editores de vectores son menos comunes y menos conocidos que buenos editores de mapas de bits. Además, es relativamente reciente que la tecnología para renderizar vectores ha sido lo suficientemente rápida para los juegos: los desarrolladores que usan Flash para juegos generalmente usaban la interfaz de mapa de bits hasta hace poco, y las tecnologías de tipo Canvas / SVG también son relativamente nuevas en términos de soporte eficiente. Además, no existe realmente una biblioteca de representación de vectores dominante (que yo sepa) que las personas puedan usar ampliamente, en comparación con alternativas como SDL, XNA, pygame, etc., por lo que los programadores no ven esto como una ruta muy viable. Pero' Los programadores no necesariamente imponen esto a los artistas, por lo general, los artistas se sienten mucho más cómodos con la edición de mapas de bits. (Los artistas no siempre son diseñadores gráficos, después de todo).
  • expectativas: los jugadores de juegos siempre han esperado juegos cada vez más realistas a medida que avanza la tecnología. Esto puede haber sido impulsado por los propios jugadores, o por los editores y el marketing, o por los fabricantes de hardware ansiosos por vender tarjetas gráficas, o por expertos que piensan que los juegos son básicamente películas interactivas, o alguna combinación de lo anterior. Pero independientemente de quién causó esto, es un factor, por lo que el mercado generalmente empuja hacia gráficos realistas. Los vectores son poco adecuados para los gráficos realistas, por lo que es relativamente reciente, cuando los gráficos convergen en el fotorrealismo y, por lo tanto, pierden identidad, que hay un resurgimiento en los gráficos estilizados y un interés en diferentes estilos de presentación, como el arte vectorial.

Lo interesante de estos puntos es que puedes ver que las cosas están cambiando. Tal vez el uso de gráficos vectoriales se reanude en un futuro próximo. El hardware de gráficos moderno se adapta bien a los gráficos vectoriales, por lo que el problema es realmente crear una buena cadena de tecnología para llevar el arte al juego y a la pantalla.

Kylotan
fuente
5

En mi opinión, es la diferencia de enfoque ... se trata más de construir tu arte que de dibujarlo. Prefiero el arte vectorial por su facilidad para cambiar, reutilizar, escalar y la sensación de dibujos animados que puedo crear con facilidad. La mayoría de los artistas 'capacitados' prefieren un enfoque de dibujo y pintura, mientras que a muchos artistas gráficos les gusta usar vectores.

Mira mi blog: http://2dgameartforprogrammers.blogspot.com.au/

Es útil comenzar desde el principio y leer primero los tutoriales anteriores. :)

SpriteAttack
fuente
2

Hace un tiempo leí un artículo llamado Icon Design: Bitmap vs Vector que muestra la claridad de los detalles que se pierden al escalar una imagen vectorial. No es que ocurra ninguna pérdida, es que se puede ajustar finamente como un mapa de bits.

Eche un vistazo a este ejemplo de un icono de impresora (la imagen dentro del círculo es la principal en cada caso):

ingrese la descripción de la imagen aquí

El punto óptimo es escalar usando el vector y luego ajustar con la trama. Entonces, supongo que lo que estoy diciendo es que podrían estar usando el vector, pero el resultado final es de trama.

PhilJ
fuente
10
-1. Estás comparando manzanas y naranjas aquí. Dices que una imagen de trama es mejor, porque puedes agregar más detalles. También podría crear un icono de gráfico vectorial para cada tamaño de icono (con detalles apropiados, ancho de trazo, etc.) y funcionaría igual de bien. Está claro que escalar un gráfico vectorial mágicamente no agregará más detalles ... pero escalar un mapa de bits daría como resultado una calidad que es aún peor.
bummzack
44
"También podría crear un icono de gráfico vectorial para cada tamaño de icono", acordó. Tanto crear muchas imágenes vectoriales como muchas imágenes ráster crea más trabajo. Mi punto es que sería bueno si pudieras crear una gran imagen vectorial con todos los detalles que podrían reducirse para todos los tamaños. En el artículo, muestra que desafortunadamente no es tan fácil en todas las circunstancias.
PhilJ
@PhilJ eso es lo que estaba pensando. Agregue todos los detalles que desee y luego reduzca la escala si es necesario, pero tampoco sería extraño si aumentara la escala.
Parris
2

Es principalmente un problema técnico que la mayoría de las compañías no usarán arte vectorial puro en sus juegos. Conozco a muchos artistas que hacen sus creaciones en Flash o Illustrator, solo para bombear una imagen rasterizada que se pega en un sprite de polígono. Es solo un obstáculo técnico que la mayoría de las grandes empresas no están demasiado interesadas en tratar de resolver.

A continuación se muestra un ejemplo de un personaje animado, hecho en IA, con aproximadamente 13 partes móviles. Sería genial poder usar esto, pero tuvimos que colocar minuciosamente cada pieza dentro de su propia imagen separada. El único beneficio fue que teníamos estos activos listos para escalar para cualquier arte de marketing.

Ejemplo de carácter vectorial para animación.

Otra razón por la que puede no ser más popular es que el formato EPS tiene diferentes estándares que la IA. Entonces, todas las campanas y silbatos que a los artistas les gusta poner en sus imágenes se pisotean cuando se convierten como EPS.

En última instancia, no sé qué se necesita para implementar el arte vectorial en un juego, pero sé que la mayoría de los ingenieros con los que he trabajado optaron por escupir un png en lugar de lidiar con él.

Brian James
fuente
1

No puedo hablar por todos, pero desde mi experiencia personal, los programas de arte vectorial (léase: Inkscape, el único que he probado) son más difíciles de usar y no son tan intuitivos como los programas de gráficos de mapa de bits. Todos entienden el pincel y el cubo. Las curvas son más difíciles.

tesselode
fuente