Ir ao conteúdo
  • Cadastre-se

linguagem usada em games!


Visitante

Posts recomendados

como dito acima é possível criar gráficos 3d sem nada de nada...apenas com bibliotecas gráficas básicas da linguagem que desenham apenas em 2d...pois na verdade o 3d de jogos não é exatamente 3d até porque na superficie plana do monitor n é possível mostrar um 3d porém é possível emular ela através de calculos geometricos...o unico problema de criar a partir do nada uma engine 3d é que além da engine você terá q reescrever funções que permitem trabalhar com objetos 3d as quais já estão presentes em uma api gráfica...

sobre as colisões um método eficaz para descobrir se um ponto está colidindo com o outro seria o uso da formula de pitágoras h²=c1²+c2²

ou seja voce tem um objeto em x=10,y=5 e um obstaculo em x=15,y=9

então voce teria c1=15-10, c2=9-5 a partir disto você aplica:

h²=5²+4² -> h²=25+14 -> h²=39 -> h=sqrt(39)

agora tendo a hipotenusa voce testa...se h=0 então um objeto está colidindo com o outro...este teste funciona para 1 pixel colidir com outro...mas pode ser adaptado para que, por exemplo em um jogo baseado em tiles, o personagem não consiga andar sobre um tile e não somente sobre um pixel...

em ambientes 3d para fazer o teste de colisão é necessário utilizar 2 destas formúlas consecutivamente...por causa da existencia do eixo z..

falou

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

sobre as colisões um método eficaz para descobrir se um ponto está colidindo com o outro seria o uso da formula de pitágoras h²=c1²+c2²

ou seja voce tem um objeto em x=10,y=5 e um obstaculo em x=15,y=9

então voce teria c1=15-10, c2=9-5 a partir disto você aplica:

h²=5²+4² -> h²=25+14 -> h²=39 -> h=sqrt(39)

agora tendo a hipotenusa voce testa...se h=0 então um objeto está colidindo com o outro...este teste funciona para 1 pixel colidir com outro...mas pode ser adaptado para que, por exemplo em um jogo baseado em tiles, o personagem não consiga andar sobre um tile e não somente sobre um pixel...

Todo número real elevado ao quadrado resulta em um número não-negativo, logo a única possibilidade de h ser zero é se o x do objeto for igual ao x do obstaculo e o y do objeto for igual ao y do obstaculo.

É preferível fazer as duas comparações, porque raiz quadrada e multiplicação são operações caras.

Mas isso não torna a formula completamente inútil, os objetos podem não serem pontos, mas circulos de raio R1 e R2, e havera colisão quando (R1 + R2)² = (X1 - X2)² + (Y1 - Y2)², para testar a colizão com uma parede pode-se usar a formula de distância entre ponto e reta, alem de outras formulas da geometria, e de quebra, essas formulas ainda tem suas versões 3D.

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...