Conectar-se
Quem está conectado
14 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 14 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 29/10/2011
Número de Mensagens : 510
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Como fazer camera de terceira pessoa?

em Qui 16 Ago 2012, 11:00
Eu to estudando o 3D no GM,mais até agora não achei nenhum tutoria explicando como fazer uma camera de vizão de terceira pessoa,so consigo fazer de primeira pessoa mais de terceira não alguem pode me ajudar a fazer uma,á eu não quero o codigo de mão beijada quero que me explique o oque o codigo está fazendo,um explicação é muito melhor doque dar o codigo de mão beija,se você explicar posso aprender a logica que você uzou assim posso criar meus proprios codigos de vizão de terceira pessoa,então que for responder porfavor explique o codigo,já tentei de varias formas fazer uma vizão terceira pessoa mais não tive sucesso então resolvir perguntar aqui.flw
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuário

Re: [Resolvido]Como fazer camera de terceira pessoa?

em Qui 16 Ago 2012, 11:12
basta vc criar um objeto e chama-lo de obj_cam, depois você adiciona no CREATE os comandos necessários de um jogo 3d, no draw_vc pode colocar algo como:
Código:
player=obj_player
draw_set_projection(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup)
xfrom,yfrom,zfrom //são o que determina de onde a camera ta olhando (apague)
xto,yto,zto //são o que determina para onde a camera ta olhando (apague)
draw_set_projection(player.x-100,player.y,player.z+100,
      player.x,player.y,player.z,0,0,1)
Você pode alterar os valores quando quiser, mas se quiser um tuto completinho veja na minha assinatura: Start 3D!, boa sorte amigo!
avatar
Data de inscrição : 29/10/2011
Número de Mensagens : 510
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

?

em Sex 17 Ago 2012, 10:45
não seria,d3d_set_projection en ves de draw_set_projection?o seu codigo funciona mais ele não rotaciona a camera,você simplismente foi fazer a camera olhar para o objto player certo?então porque elá deve olhar do player para o player?elá não deveria olhar dela para o player en ves do player para o player?iso está confuzo.aguardando respostar,serv engine pois pretendo estudar a engine e n copi-ala se alguem quizer passar para mim tambem aceito.
avatar
Ranking : Nota D
Notas recebidas : D - C - D - C
Data de inscrição : 14/05/2009
Número de Mensagens : 712
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 7

Prêmios
   : 0
   : 0
   : 1
Ver perfil do usuário

Re: [Resolvido]Como fazer camera de terceira pessoa?

em Sex 17 Ago 2012, 13:23
não seria,d3d_set_projection en ves de draw_set_projection?
Realmente, d3d_set_projection é a função correta.

então porque elá deve olhar do player para o player?elá não deveria olhar dela para o player en ves do player para o player?
Não, veja bem com
Código:
player.x-100,player.y,player.z+100
ele define que as posições de projeção (Ou de onde a câmera ta olhando será 100 pixels atras do players, então a câmera estara olhando para ele.

a engine: Câmera em 3ª Pessoa
avatar
Ranking : Nota C
Notas recebidas : D + D + C + C + D + B
Data de inscrição : 28/04/2011
Número de Mensagens : 913
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 41

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://mrbrumgames.blogspot.com/

Re: [Resolvido]Como fazer camera de terceira pessoa?

em Sex 17 Ago 2012, 14:28
Bom, eu acho que vc quer que o player possa ser controlado de forma a girar em torno de si, e a câmera fazer o mesmo movimento.
Nesse caso, você pode usar um pouco de trigonometria:

No Create:
Código:

xup=0 //padrao
yup=0 //padrao
zup=1 //padrao

no Draw:
Código:

xfrom=oplayer.x-lenghtdir_x(200,direction) //200px antes de x,no sentido da direction atual.
yfrom=oplayer.y-lenghtdir_y(200,direction) //200px antes de y,no sentido da direction atual.
zfrom=32 //altura da camera
xto=oplayer.x //x do alvo da camera
ytp=oplaer.y //y do alvo da camera
zto=oplayer.z //z do alvo da camera
d3d_set_projection(xfrom,yfrom,zfrom,xto,yto,zto,xup,yup,zup)

A partir daí quando quiser virar a câmera para a esquerda, aumente a direction, e quando quiser virar para a direita, diminua.

Flw


Última edição por mrbrum22 em Qui 23 Ago 2012, 12:13, editado 2 vez(es) (Razão : crrigindo a direction na função: (200,direction) , estava invertido.)
avatar
Ranking : Nota A
Notas recebidas : D + A + A
Data de inscrição : 06/12/2009
Número de Mensagens : 1229
Insígnias de JAM :

Insignia 1x 1 Insignia 2x 0 Insignia 3x 0
Reputação : 28

Prêmios
   : 1
   : 2
   : 0
Ver perfil do usuário

Re: [Resolvido]Como fazer camera de terceira pessoa?

em Sex 17 Ago 2012, 15:53
Eu ia postar essa engine mais cedo, mas acabei esquecendo de postar a mensagem, aqui está:

Engine - 3D - Terceira Pessoa Basico

Flw! sorrindo2
avatar
Data de inscrição : 29/10/2011
Número de Mensagens : 510
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 4

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Obrigado

em Qua 22 Ago 2012, 22:12
Obrigado a ajuda de todos vocês,agora vou estudar todas as engines para saber ezatamente como funcionam,a parte da camera 3D ainda não comprendi bem...mais a parte de modelar em 3D estou conseguindo muito bem,sem problemas!mais já com a camera 3D,obrigado pela ajuda de todos vocês.

OFF:vlw mrbrumm22 suas aulas de 3D são otimas,quem quer aprender 3D recomendo as aulas deles são muito boas e bem explicadas.
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum