Por que mais jogos não usam arte vetorial? [fechadas]

84

Parece-me que a arte vetorial é mais eficiente em termos de recursos / escalabilidade; no entanto, na maioria dos casos, vi artistas usando arte bitmap / rasterizada. Isso é uma limitação imposta aos artistas pelos programadores / designers de jogos? Como programador, acho que a arte vetorial seria mais ideal, pois permite aumentar a resolução sem ter que recriar a arte, criando gráficos realmente grandes ou fazendo com que os gráficos fiquem embaçados.

As perguntas: por que mais pessoas não usam SVG / AI para criar arte de jogo em 2D? Seria realmente preferido (e quem prefere)? Os gráficos de bitmap são um padrão ou uma limitação (ou talvez nenhum)?

Antecedentes: Estou trabalhando em um mecanismo e tive algumas idéias interessantes para gráficos baseados em vetores; no entanto, não quero irritar artistas no futuro.

Acho que essa é mais uma questão centrada no pragmatismo e no desenvolvimento de jogos.

Parris
fonte
1
Provavelmente tem algo a ver com a forma como GPUs e hardware também funcionam eficientemente em imagens raster de certo tamanho , como 256x256 (ou potências de duas em geral).
precisa saber é o seguinte
4
Na maioria das vezes, as perguntas que me interessam são "baseadas em opiniões" e "fechadas". Que pena!
Joe Huang
Jogos de vetor são mais eficientes, jogos de pixel são mais elegantes. Prefiro pixel art ao invés de vetor, apenas porque posso apreciar o esforço feito para produzi-los e que eles são nítidos e visualmente atraentes. Os jogos de vetor são mais rápidos de criar e mais amigáveis ​​para as câmeras. Assim que uma arte pixel é esticada ou compactada, ela não é mais vista como deveria e pode ter sido arte vetorial. Para mim, a arte vetorial é embaçada e frustrante.
Dmitry
Não são apenas jogos, mas considere os gibis, por exemplo: os gráficos raster geralmente são mais usados ​​no Photoshop do que no Illustrator. É difícil desenhar gradações sutis de cores, mesclar pixels, suavizar bordas etc. de maneira muito precisa usando gráficos vetoriais. Você não pode espalhar pixels com tanta facilidade como pintar em uma tela com gráficos vetoriais. Eles tendem a ser bastante nítidos - adequados para certos estilos de desenho animado, mas não tanto para desenhar arredondamentos sutis de formas, sombras suaves, sfumato etc.

Respostas:

58

Ao contrário de outras formas de arte, a arte vetorial exige uma precisão extremamente alta, tornando-a inadequada para muitos estilos de arte. Formas simples e fáceis são fáceis de usar a arte vetorial, mas é uma pena adicionar pequenos detalhes que seriam realmente fáceis de pintar. Portanto, é meio restrito a estilos "simbólicos" muito simples. Para todo o resto, a pintura funciona melhor.

Para que arte vetorial é adequado, são ícones e design, e você não encontrará muitos artistas que usariam algo diferente.

A propósito: Escalabilidade também não é realmente um problema para gráficos de varredura, pintar em resolução 10x não é muita diferença do que pintar na resolução que será exibida. Algo que é feito bastante hoje em dia (geralmente anunciado como "HD-Graphics").

API-Beast
fonte
ahhh isso faz sentido!
Parris #
1
@ Mr.Beast Eu sei que esta pergunta foi respondida há um tempo, mas o que significa pintura em resolução 10x?
bitbitbot
@bitbitbot Se seu sprite geralmente é exibido em 20x20 pixels, desenhe-o em 200x200 pixels. Dessa forma, ele continuará sendo nítido quando o zoom for ampliado. Não precisa ser mais detalhado, é apenas para evitar que fique com aparência de duende.
API-Beast
1
-1 Acho que é principalmente devido à história dos Jogos, que começou com sprites renderizados por pixel apenas para fins de desempenho. Você deve ter em mente que o manuseio de vetores é muito mais ganancioso da CPU do que os arrays rasterizados simples. Naquela época, essa solução simplesmente não era possível com as CPUs atuais. Também não é tão simples quanto parece à primeira vista além dos vetores, por exemplo, um mecanismo de jogo fica muito mais complicado quando se trata de manipular vetores em vez de sprites brutos regulares. Atualmente, apenas para lembrá-lo de que a maioria dos jogos usa conteúdo 3D e o grau de detalhes é simplesmente surpreendente.
user14170
39

Os gráficos vetoriais são geralmente mais eficientes do que os gráficos rasterizados para armazenamento (ou seja, o tamanho do arquivo é menor), mas consideravelmente menos eficiente para o desempenho (ou seja, quanto tempo leva para o computador desenhar a imagem).

Para exibir uma imagem, o computador deve rasterizar essa imagem (ou seja, calcular os pixels na imagem). Como os gráficos de varredura já são, por definição, rasterizados, não há muito cálculo que o computador deve fazer antes de colocar os pixels no buffer traseiro.

No entanto, esse problema depende se você está falando sobre o uso de gráficos vetoriais em tempo real no jogo ou se está falando sobre os artistas desenhando no Illustrator e depois exportando para formatos rasterizados como png.

jhocking
fonte
1
Suponho que estava pensando principalmente em renderizar gráficos vetoriais em tempo real; no entanto, rasterizá-los poderia fazer sentido. Acho que nesse ponto não há muita diferença do que apenas usar uma ferramenta gráfica raster.
Parris
3
Os gráficos vetoriais nem sempre são mais eficientes para armazenamento - em geral, à medida que os detalhes de uma imagem aumentam, também aumenta a complexidade de sua representação como uma imagem vetorial. Geralmente chega um ponto em que uma imagem detalhada será de fato mais compacta na forma de varredura do que na forma de vetor - acredito que a maioria das texturas se enquadra nessa categoria, o que é uma boa razão pela qual os rasters são usados ​​mais que os vetores.
Mac
7
@Parris Rendering gráficos vetoriais em tempo real está rasterizando-os; o buffer de quadros em si é uma matriz de varredura, portanto, em algum momento do processo - seja no pipeline de ferramentas, no mecanismo ou nos drivers abaixo do mecanismo - os gráficos vetoriais serão convertidos em varredura, e essa conversão vai levar algum tempo. Não necessariamente muito tempo - mas uma quantidade não desprezível.
Steven Stadnicki
1
@StevenStadnicki sim, isso é verdade! Suponho que fazê-lo antes da mão é quase uma otimização.
Parris
17

De fato, existem vários jogos 2D que usam o que equivale a arte vetorial; O truque fantasma da Capcom: Detetive fantasma, por exemplo, gera essencialmente seus caracteres no mecanismo como gráficos vetoriais. (Para ser mais preciso, acredito que eles são dados como regiões poligonais de preenchimento plano, que nesse caso equivalem à mesma coisa). Em termos mais gerais, os modelos poligonais em geral podem ser considerados dados "vetoriais" - eles representam os vértices, arestas e faces de um objeto - em oposição aos dados "rasterizados" (resolução de tela), portanto, de certa forma, a maioria dos jogos 3D é usando descrições de dados vetorizados.

Mas suspeito que sua pergunta seja mais sobre a arte 2d e há vários fatores em jogo. Como Beast diz, pequenos detalhes tornam a arte vetorial um pouco mais difícil de construir; imagine algo como um cinto de granada em um personagem, onde mesmo um pouco de cópia-pasta inteligente de granadas individuais ainda não poupará muito tempo no esforço. Eu acho que o maior problema, porém, é que os gráficos de vetor ter algum controle afastadodo artista; como você observa, a arte vetorial pode parecer substancialmente melhor em escala, mas os problemas reais estão em resoluções mais baixas, onde os detalhes complicados da rasterização podem alterar substancialmente a aparência de uma imagem. Imagine o olho de um personagem, por exemplo; o limite externo pode ser um oval com mais de dez ou vinte pixels de diâmetro e possivelmente apenas um pequeno punhado de pixels de altura. Nessas resoluções, como os dados vetoriais - sejam linhas, arcos circulares ou curvas de Bezier - é rasterizado se torna um problema crítico, e a menos que seus artistas possam trabalhar diretamente no mecanismo - o que significa essencialmente criar um programa de desenho vetorial totalmente novo - eles têm dificuldade em garantir que a aparência de seus objetos no jogo corresponda à aparência de sua ferramenta. O que mais, apenas parecer correto em uma resolução não garante que eles pareçam corretos em qualquer outra; novamente, a escala funciona bem quando você lida com objetos em que os detalhes têm dúzias ou centenas de pixels, mas conforme você desce para os recursos de menor escala, sua renderização em escala é executada exatamente nos mesmos detalhes de rasterização.

Dito isto, a renderização vetorizada nem sempre é inadequada e pode ser uma opção estilística com excelente efeito. Mas não é uma panacéia para os problemas que você levanta com gráficos raster, e levanta novos problemas também.

Steven Stadnicki
fonte
7

Acredito que é principalmente uma combinação de tradição, ferramentas e tecnologia e expectativas, que se realimentam.

  • tradição - os gráficos raster eram a maneira mais fácil de renderizar imagens detalhadas durante a maior parte da história do desenvolvimento de jogos e, assim, o modo de trabalhar se estabeleceu entre programadores e artistas, que remonta a um tempo antes de os artistas se envolverem amplamente nos jogos. O código existente gira em torno de bitmaps, e os artistas existentes aprenderam a trabalhar com bitmaps. E é sempre caro treinar e reprogramar.
  • ferramentas e tecnologia - os artistas tendem a começar com gráficos de bitmap e ferramentas de edição de fotos por padrão, talvez porque se assemelhe mais à mídia tradicional, mas seja qual for o motivo, os bons editores de vetor são menos comuns e menos conhecidos do que o resultado. bons editores de bitmap. Além disso, é apenas recentemente que a tecnologia para renderizar vetores foi rápida o suficiente para jogos - os desenvolvedores que usam o Flash para jogos usavam a interface de bitmap até recentemente, e as tecnologias do tipo Canvas / SVG também são relativamente novas em termos de suporte eficiente. Além disso, não há realmente uma biblioteca de renderização de vetores dominante (que eu saiba) que as pessoas possam usar amplamente, em comparação com alternativas como SDL, XNA, pygame etc., para que os programadores não vejam isso como uma rota muito viável. Mas é Os programadores não necessariamente impõem isso aos artistas - geralmente os artistas ficam muito mais confortáveis ​​com a edição de bitmap. (Os artistas nem sempre são designers gráficos, afinal).
  • expectativas - os jogadores esperavam consistentemente mais e mais jogos de aparência realista à medida que a tecnologia avança. Isso pode ter sido motivado pelos próprios jogadores, pelos editores e pelo marketing, ou pelos fabricantes de hardware ansiosos para vender placas gráficas, ou por especialistas que pensam que os jogos são basicamente filmes interativos ou alguma combinação dos itens acima. Mas, independentemente de quem causou isso, é um fator e, portanto, o mercado geralmente avança em direção a gráficos realistas. Os vetores são pouco adequados para gráficos realistas e, apenas recentemente, onde os gráficos estão convergindo para o realismo real e perdendo a identidade, há um ressurgimento nos gráficos estilizados e um interesse em diferentes estilos de apresentação, como arte vetorial.

O interessante sobre esses pontos é que você pode ver que as coisas estão mudando. Talvez o uso de gráficos vetoriais melhore no futuro próximo. O hardware gráfico moderno é adequado para gráficos vetoriais; portanto, o problema é realmente criar uma boa cadeia de tecnologia para inserir arte no jogo e na tela.

Kylotan
fonte
5

Acho que é a diferença de abordagem ... é mais sobre construir sua arte do que desenhá-la. Prefiro a arte vetorial por sua facilidade de alteração, reutilização, dimensionamento e a sensação de desenho animado que posso criar com facilidade. A maioria dos artistas 'treinados' prefere uma abordagem de desenho e pintura, enquanto muitos artistas gráficos gostam de usar vetores.

Confira meu blog: http://2dgameartforprogrammers.blogspot.com.au/

É útil começar do início e ler primeiro os tutoriais anteriores. :)

SpriteAttack
fonte
2

Li um artigo chamado Icon Design: Bitmap vs Vector um tempo atrás, que mostra a clareza dos detalhes que se perdem ao dimensionar uma imagem vetorial. Não é que ocorra alguma perda, é que ela pode ser ajustada como um bitmap.

Dê uma olhada neste exemplo de ícone de impressora (a imagem circulada é a principal em cada caso):

insira a descrição da imagem aqui

O ponto ideal é escalar usando vetor e depois ajustar com raster. Então, acho que o que estou dizendo é que eles podem estar usando vetor, mas o resultado final é raster.

PhilJ
fonte
10
-1. Você está comparando maçãs e laranjas aqui. Você diz que uma imagem raster é melhor, porque você pode adicionar mais detalhes. Você também pode criar um ícone de gráfico vetorial para cada tamanho de ícone (com detalhes apropriados, largura do traço etc.) e isso também funcionaria. É claro que a ampliação de um gráfico vetorial não adiciona magicamente mais detalhes .. mas a ampliação de um bitmap resultaria em uma qualidade ainda pior.
bummzack
4
"Você também pode criar um ícone de gráfico vetorial para cada tamanho de ícone" acordado. Criar muitas imagens vetoriais ou muitas imagens raster cria mais trabalho. Meu argumento era que seria bom se você pudesse criar uma imagem vetorial enorme com todos os detalhes que pudessem ser reduzidos para todos os tamanhos. No artigo, mostra que, infelizmente, não é tão fácil em todas as circunstâncias.
philj
@ PhilJ é o que eu estava pensando. Adicionando todos os detalhes que você deseja, reduza a escala, se necessário, mas não ficaria estranho se você aumentasse a escala.
Parris
2

É principalmente um problema técnico que a maioria das empresas não usa arte vetorial pura em seus jogos. Conheço muitos artistas que fazem suas criações em Flash ou Illustrator, apenas para exibir uma imagem rasterizada que é levada em um sprite de polígono. É apenas um obstáculo técnico que a maioria das grandes empresas não está muito interessada em tentar descobrir.

Abaixo está um exemplo de um personagem animável, feito em AI, com cerca de 13 partes móveis. Seria ótimo poder usar isso, mas tivemos que colocar meticulosamente cada peça dentro de sua própria imagem separada. O único benefício era que tínhamos esses ativos prontos para serem dimensionados para qualquer arte de marketing.

Exemplo de caractere de vetor para animação

Outro motivo para não ser mais popular é que o formato EPS tem padrões diferentes dos da IA. Assim, todos os artistas que gostam de colocar em suas imagens são pisoteados quando convertidos em EPS.

Por fim, não sei o que é necessário para implementar arte vetorial em um jogo, mas sei que a maioria dos engenheiros com quem trabalhei optou por cuspir um png em vez de lidar com ele.

Brian James
fonte
1

Não posso falar por todos, mas, por minha experiência pessoal, os programas de arte vetorial (leia-se: o Inkscape, o único que tentei) são mais difíceis de usar e não são tão intuitivos quanto os programas gráficos de bitmap. Todo mundo entende o pincel e o balde. As curvas são mais difíceis.

tesselode
fonte