Atualmente, estou brincando com o XNA e criando um simples jogo de plataformas 2D. Eu estava pensando em adicionar várias camadas para torná-lo um pouco desafiador.
Em vez de ter um Vector2para minhas posições, agora uso um Vector3, apenas para usá-lo Zcomo profundidade da camada. No entanto, como você não pode usar operadores entre Vector2e Vector3por algum motivo desconhecido [1] , acabei alterando todos os outros Vector2s no meu jogo, como aceleração , velocidade e deslocamento , para que eu possa fazer coisas como position += offsetsem erros.
Também alterei minha variável de rotação de floatpara Vector3e uso o Zvalor para girar minhas texturas. Estou planejando usar Xe Ymudar minhas texturas para que você obtenha o efeito Super Paper Mario.
No entanto, depois de alterar todos esses Vector2s em Vector3s, me senti um pouco mal com isso. Como isso afeta o desempenho dos jogos? Eu sei que não deveria ter que me preocupar com o desempenho no meu pequeno jogo de plataforma, mas estou curioso.
Existe algum desempenho notável entre Vector2s e Vector3s, por exemplo, quando adicionando ou multiplicando-os, ou ao chamar Normalize, Transformou Distance?
[1] Apenas uma pergunta secundária, por que não existem operadores para cálculos entre o Vector3 e o Vector2?