Não entendo o significado do termo "2.5D". Estou especificamente confuso sobre a diferença entre os ambientes 2.5D e 3D, apesar de ter lido definições e artigos diferentes sobre ambos. Entendo as partes em que 2.5D é como 3D, mas não entendo as partes em que 2.5D é diferente.
Então, o que significa um jogo ser 2.5D? Por exemplo, o jogo é mostrado aqui 2.5D?
2.5d
terminology
mathieug
fonte
fonte
Respostas:
Os termos 2D e 3D (como você provavelmente já sabe) se referem ao número de dimensões espaciais em um espaço mundial euclidiano. Essa dimensionalidade deve ser um número ordinal; não existe meia-dimensão ; portanto, o termo 2.5D é realmente um termo sem sentido e não tem significado intrínseco. Dito isto, 2,5 é "algo entre" 2 e 3, então 2,5D geralmente significa algo como "algo entre 2D e 3D".
Pessoalmente, uso o termo para me referir a casos em que os espaços do mundo gráfico e lógico de um jogo têm diferentes dimensionalidades. Em particular, existem duas variantes diferentes aqui:
Outro uso comum do termo (embora não seja o que eu uso) refere-se a jogos que utilizam uma combinação de gráficos 3D e 2D em outdoor . Nesse caso, o termo não descreve a dimensionalidade lógica do jogo. Praticamente todos os jogos 3D usam o billboard de uma maneira ou de outra, incluindo sistemas de partículas, proxies de objetos distantes e sobreposições de interface do usuário no mundo. Portanto, o termo geralmente é usado apenas quando uma porção significativa de objetos que não são de segundo plano usa gráficos 2D, e a borda entre 2.5D e 3D é um pouco embaçada.
fonte
O primeiro jogo que eu sei que teve o termo "2.5D" aplicado foi Doom (embora Wolfenstein 3D se qualifique em algum sentido também).
Wolfenstein 3D era um jogo basicamente em 2D com uma apresentação em 3D. Você navegou em um labirinto 2D, todos os pisos eram planos, todos os tetos tinham a mesma altura, não havia janelas, portas do chão ao teto e abertas lateralmente, e você nunca poderia estar em cima ou embaixo de outro objeto. O jogo usava radiodifusão para descobrir, para cada coluna da tela, a que distância a parede estava naquela direção e que textura a parede tinha; em seguida, uma coluna da textura da parede foi desenhada com uma altura inversamente proporcional à distância, e o espaço acima e abaixo pintado com preenchimento de piso e preenchimento de teto. Inimigos e objetos eram sprites, com um número limitado de aspectos, e seu tamanho novamente proporcional à distância.
Doom usou uma tecnologia muito semelhante à Wolfenstein 3D, mas abusou dela para obter uma experiência mais 3D. Os mapas ainda estavam2D, representado usando o particionamento de espaço binário 2D (portanto, o nome do arquivo do mapa .BSP). O que você viu no automap ao pressionar a guia foi apenas uma renderização 2D direta do mapa. Mas cada setor tinha uma "altura do piso" e uma "altura do teto" independentes, e as bordas tinham texturas nos lados superior e inferior (usadas quando tinham uma altura mais baixa do teto ou uma altura mais alta do que parte do ambiente). Isso permitia escadas, janelas, plataformas, piscinas e outros efeitos - o mecanismo precisava manter uma lista de vários setores passados antes de atingir uma parede e suas respectivas texturas. Mas você ainda não podia ter uma arquitetura 3D real - era possível fazer uma "ponte" através de algum lodo usando uma seção elevada do piso, mas seria impossível que algo estivesse soba Ponte. Uma posição no jogo ainda é apenas X e Y. O único controle que o jogador tem sobre sua altura é cair das coisas, e elevadores, que são simplesmente setores que são roteirizados para alterar a altura do piso. Os inimigos ainda são sprites (embora eu ache que eles tenham mais aspectos), os tiros "apontam automaticamente" em altura porque a detecção de colisão é apenas bidimensional e não havia um modelo 3D no jogo.
Heretic e Hexen usaram motores derivados do Doom que levaram as coisas ainda mais longe, a ponto de serem ocasionalmente chamados de "2.75D"; eles tinham a maioria das mesmas limitações arquitetônicas e inimigos baseados em sprites, mas adicionavam a capacidade de o jogador olhar para cima e para baixo (inclinar a vista, mas apenas até agora ou o motor quebraria) e pular, voar e agachar (mudando de altura independentemente).
fonte
2.5D
Os termos 2.5D ("duas dimensões e meia"), ¾ perspectiva e pseudo-3D ar, principalmente na indústria de videogames, costumavam descrever projeções gráficas 2D e técnicas semelhantes usadas para causar uma série de imagens (ou cenas) para simular a aparência de ser tridimensional (3D) quando na verdade não são, ou jogar em um videogame tridimensional que é restrito a um plano bidimensional.
Na minha experiência, qual definição é enfatizada depende da idade da pessoa com quem você está falando.
Jogadores mais velhos tendem a usar a 1ª definição " projeções gráficas 2D e técnicas semelhantes usadas para causar uma série de imagens (ou cenas) para simular a aparência de serem tridimensionais (3D) quando na verdade não são "
Jogadores mais jovens usam a 2ª definição " jogabilidade em um videogame tridimensional que é restrito a um plano bidimensional ".
Pessoalmente, uso a 2ª definição. Trine, Donkey Kong e Super Mario Bros Wii U seriam todos 2.5D na minha opinião. Além disso, a tag 2.5D Steam usa a segunda definição. Eu acho que este é um bom teste decisivo para como um jogador típico define o conceito) e, como tal , acredito que a 2ª definição seja mais correta .
3D
Qualquer videogame com gráficos de jogos 3D, calculados em 3 dimensões. Observe que isso o torna um superconjunto da segunda definição 2.5D.
fonte
2.5D é apenas uma maneira conveniente de dizer 2D que parece 3D.
Suponho que você possa realmente desfocar as linhas da definição se, por exemplo, você usar um mecanismo 3D, mas restringir a jogabilidade apenas a um plano 2D, mas pessoalmente eu consideraria algo 2.5D: parece 3D, mas age em 2D.
fonte
A captura de tela do jogo que você postou é um jogo em 3D.
Em um jogo 3D, os objetos são desenhados usando vértices para desenhar objetos 3D reais, que são coloridos, texturizados etc.
Em um jogo 2D, os objetos são retirados de sprites / folhas de sprite, etc.
A diferença entre os dois é como você pode vê-los. Um sprite é como um pedaço de papel plano. Você não pode vê-lo em um tom ou ângulo diferente ou o sprite será inclinado. Em um objeto 3D, à medida que a câmera se move, é possível ver diferentes partes do objeto porque o objeto é bem 3D.
Em um jogo 2.5D, você está combinando esses dois mundos. Lembre-se, porque você não pode mover a câmera para ver ângulos diferentes, não cria um jogo que não seja 3D. São os objetos que determinam isso.
Um bom exemplo de um jogo 2.5D é o Ragnarok Online. O que o torna 2.5D é que o mundo está principalmente comprometido com objetos 3D. Edifícios, paisagem etc. são objetos 3D texturizados. Você pode girar a câmera aérea e ver lados diferentes desses objetos ao mesmo tempo. Você pode visualizar a parte frontal de um edifício, bem como a área esquerda / direita / telhado. Os jogadores, no entanto, são sprites 2D posicionados para parecer estar em pé. Se você girar a câmera demais, o jogo deverá carregar uma célula diferente da folha de sprite para que esse personagem mude a aparência de sua posição. Você não pode ver ângulos diferentes do personagem porque eles não são 3D. Os ângulos são carregados dinamicamente, dependendo da visão da câmera.
http://sprites.technoized.com/images/sprite/ro/gm_m.png
Esta é uma folha de sprite do jogo. Se você apenas olhasse para ele, presumiria que é de um jogo 2D. Sozinho, você estaria correto. Mas uma vez colocado no mundo 3D, você tem um jogo 2.5D.
fonte
2.5D
é enganoso, já que é apenas uma interpretação humana etc. não é algo técnico sobre isso. Por exemplo, qual é o seu jogo se você estiver usando a técnica Billboard para tudo (etc. quads texturizados) em um ambiente 3D, se eles rodarem sempre na sua frente? Alguns podem dizer 2.5D, mas a maioria do pacote diz 3D, pois há profundidade Z. Tecnicamente, se ele usa vértices 3D (portanto, dimensão z), é 3D, se usa apenas X / Y (por exemplo, Super Mario Bros ), então é 2D. Mas se ele utiliza apenas 2D (x / y) em um ambiente 3D (incluindo caracteres), ainda é 3D, mas 2,5D por interpretação .O 2.5D é frequentemente outra maneira de dizer "isométrico" - gráficos 2D desenhados de maneira a dar a aparência de 3D, mas na verdade não simulando coordenadas 3D. Veja o artigo da wikipedia sobre gráficos isométricos: http://en.wikipedia.org/wiki/Isometric_graphics_in_video_games_and_pixel_art
O essencial é que em 2.5D / isométrico, você ainda está usando um sistema de coordenadas 2D - com eixos xey apenas para calcular seus gráficos. Seus gráficos podem ser apenas sprites 2D, que normalmente são desenhados de forma que você possa ver três faces e depois colocados na tela usando coordenadas (x, y). Às vezes, os sprites são criados modelando em 3D e criando sprites 2D do modelo 3D a partir de vários ângulos.
Os objetos em movimento caracteristicamente têm apenas alguns ângulos dos quais podem ser visualizados. Se você girar um personagem em uma vista isométrica, ele não girará suavemente, mas você verá vários ângulos distintos, como frente, 3/4, lado e assim por diante. Isso ocorre porque cada ângulo de visão único requer um novo conjunto de sprites.
Os jogos isométricos geralmente suportam apenas um ângulo de câmera, devido às limitações desse tipo de sistema. Outra característica distintiva dos jogos isométricos é que eles normalmente não têm pontos de fuga. Ao visualizar um objeto na vida real, se ele estiver mais perto de você, o objeto parecerá maior em sua visão. Se o objeto estiver mais distante, ele parecerá menor. Em jogos isométricos, todos os objetos geralmente aparecem do mesmo tamanho, não importa onde estejam localizados no espaço.
Em jogos 3D, em comparação, simule todos os três eixos - x, ye z. Em um nível muito baixo, o computador está traduzindo x, ye z para x, y para serem exibidos em um monitor, mas em um nível superior, os artistas estão realmente manipulando pontos em 3 eixos para representar objetos. Como o computador possui todas as informações sobre a forma do objeto, ele pode calcular dinamicamente a aparência desse objeto em qualquer ângulo e pode parecer menor ou maior à medida que você se aproxima.
Alguns jogos são uma mistura de 2.5D e 3D verdadeiro. Um exemplo em que posso pensar é na série Disgaea, que apresenta planos de fundo 3D e sprites 2D.
fonte
Não sei qual seria a definição mais aceita, mas eu e o pessoal da empresa anterior consideramos "qualquer jogo que pareça 3D isométrico, mas renderizado por sprites 2D" como 2,5D.
Agora, deixe-me explicar por que fizemos isso. Geralmente, renderizar um mundo 3D com muitos objetos cria muita pressão no processamento, diminuindo a contagem de FPS. Então, para superar isso, geralmente criamos objetos no software de renderização 3D, como o Maya, e os renderizamos como sprites. Qual pode ser usado no jogo. Sem mencionar que o ângulo foi considerado durante a renderização. Para falar sobre essa tecnologia com o editor, normalmente usamos esse termo. Um mundo 3D que parece um mundo 2D ainda é tecnicamente 3D para nós. Portanto, geralmente não usamos o termo para esse método. Eu pensei que deveria compartilhar minha parte aqui.
fonte
Normalmente, o termo "2.5-D" refere-se a um dos dois estilos de jogos muito diferentes.
Isso pode significar:
1) Um jogo que usa técnicas de renderização em 2-D, mas controla em 3 dimensões espaciais. Geralmente, usa truques gráficos para aparecer como se realmente fossem renderizados em 3D. Isso foi muito comum nos anos 90, mas não tanto hoje. (Exemplos: "DOOM", "Duke Nukem 3D", "Wolfenstein 3D")
2) Um jogo renderizado inteiramente em 3D, mas que controla exclusivamente ao longo de um ou mais aviões 2D. Esse estilo permanece muito popular até hoje. (Exemplos: "Little Big Planet", "New Super Mario Bros.", "Trials HD")
Uma coisa a ser observada é que, ao usar o padrão de arquitetura model-view-controller, o primeiro estilo de jogo possui um "modelo" que representa dados em 3 dimensões, mas uma "visualização" que somente os exibe para o usuário em 2 dimensões; o segundo estilo de jogo é o contrário.
fonte
No 2.5D, você usa técnicas de renderização / ativos 2D para dar a sensação de um ambiente 3D.
Agora, com essa definição, no seguinte cenário potencialmente ambíguo, é necessária alguma elaboração:
Jogo A
Usando gráficos 3D, a GPU acelerou e tudo (os objetos do jogo são malhas, não imagens), com um ângulo fixo da câmera. Vamos piorar ainda mais, a projeção é ortográfica, os clássicos 63,43 graus. A única maneira de perceber à primeira vista que os gráficos não são 2D é porque o 3DGC, exceto que você os processa com extremo cuidado, é facilmente diferenciado dos sprites de desenho à mão, independentemente da projeção usada para renderizá-los. Você pode experimentar diferentes técnicas de renderização, parâmetros, shaders, etc., e terá dificuldade em esconder o fato de que são malhas 3D.
Jogo B
Uma porta do Jogo A, mas com plataformas de segmentação conhecidas por possuir hardware que não lida com gráficos 3D muito bem ou que nem lida com isso. Em seguida, o porto substitui malhas por sprites. Ele ainda usa caixas delimitadoras 3D para colisões, por exemplo, e os objetos têm uma propriedade de posição com valores x, ye z, como a lógica do jogo não foi tocada ou não foi tocada, apenas o código de renderização foi alterado.
Como os sprites do jogo B renderizam os recursos 3D do jogo A e, para tornar as coisas mais ambíguas, o jogo A não faz nada que exija shaders complicados, em 99% de todas as GPUs disponíveis no mercado, não é possível diferenciar um quadro do jogo B de um quadro do jogo A.
No 2.5D, a interação entre objetos do jogo é limitada ao conjunto de situações em que a ilusão do 3D não pode ser comprometida. Para representar dois caracteres que abraçam, por exemplo, você precisará criar um único arquivo de imagem com os dois caracteres interagindo, pois tentar representar a ação de abraço usando apenas uma única imagem por caractere seria muito difícil ou impossível. Talvez você possa vir com um corpo de personagem dividido em partes e desenhá-los na ordem correta. Em 3D, esse problema não existe (existe outro, que está posicionando os dois caracteres corretamente para que eles não penetrem na malha do outro personagem).
Agora, para visualizar isso, imagine que os jogos A e B tenham um bug que, em alguma situação, permite que o personagem do jogador passe por outro objeto do jogo, permitindo diferenciar facilmente entre o 2.5D e o 3D.
No jogo B, 2.5D Render, os sprites são ordenados pelo valor z do seu vetor de posição. Neste exemplo, z positivo está inativo e z negativo está ativo. os eixos z e y são paralelos, mas z é dimensionado por um fator de 0,5 de y. Portanto, se a área visível é de 10 a 10 anos, na mesma área temos de 20 a 20 z. Os objetos com um z maior serão desenhados posteriormente, para que sejam vistos na frente dos objetos com z menor. A sombra do personagem do jogador parece estranha porque as sombras estão em uma camada superior à do piso, mas em uma camada inferior que todos os outros objetos, portanto, a sombra do personagem do jogador nunca fica no topo do cubo.
Jogo A, 3D Render. O buffer de profundidade (também conhecido como buffer z) é usado para testes de profundidade de precisão de pixels. Assim, um objeto não precisa ocluir completamente outro, nem mesmo um triângulo precisa ocluir completamente outro, temos um teste de profundidade de precisão de pixel. Podemos girar os objetos do jogo de qualquer maneira e ainda obter resultados realistas quando eles interagem.
Em resumo: em 2.5D, um sprite está na frente ou atrás de outro sprite. Em 3D, uma malha é feita de triângulos, mas o triângulo não é a unidade mínima ao testar a profundidade, você pode ter precisão de pixel. Obviamente, a rotação da câmera em 2.5D é impossível, pois os recursos foram criados para um ângulo fixo da câmera, enquanto que em 3D é natural, se os ângulos da câmera são restringidos pelo design em um jogo em 3D é outro assunto.
Existem truques diferentes para dar a sensação de estar em um mundo 3D quando você só pode renderizar gráficos 2D. Eu apresentei apenas um exemplo rapidamente criado usando alguns recursos de um projeto abandonado meu.
Por que não usar sempre o 3D sempre e esquecer o 2.5D?
Bem, posso pensar em alguns exemplos de por que um desenvolvedor pode preferir a abordagem 2.5D:
Quanto você pode aproximar os resultados de gráficos 3D usando 2.5D?
Há um horizonte de complexidade de desempenho e programação. Quando você se aproxima desse horizonte, começa a duvidar se o seu projeto é realmente possível no 2.5D ou se você precisa ir para 3D completo. Por exemplo, você pode usar o buffer z em 2.5D (em teoria), mas pode pagar o custo da memória de vídeo (computador desktop antigo com gráficos integrados, dispositivos móveis não potentes)? Deseja pagar o custo de armazenamento de uma imagem extra para salvar a z-mask de cada sprite?
Bons candidatos ao 2.5D são jogos de RPG, acho que a série Baldur's Gate, ou RTS, pensa em Age of Empires 1 e 2 (AoE 3 é totalmente 3D e fácil de diferenciar).
Referências úteis:
Z-Buffering: http://en.wikipedia.org/wiki/Z-buffering
Projeções ortográficas: http://glasnost.itcarlow.ie/~powerk/GeneralGraphicsNotes/projection/orthographicprojection.html
fonte