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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 15/02/2010
Número de Mensagens : 16
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

[RESOLVIDO] Rotação de objetos 3D

em Sab 28 Abr 2012, 14:06
Ola pessoal, tenho uma duvida sobre as transformações com objetos 3d no GM. Mesmo lendo alguns cursos daqui não consegui fazer dar certo o que eu queria.
Eu estou usando o seguinte codigo:

d3d_transform_set_identity()
d3d_transform_add_rotation_z(rz)
d3d_draw_block(x,y,z,x+32,y+32,z+32,0,0,0)
d3d_transform_set_identity()

estou usando uma variavel "rz" para rotação no eixo z, que tem por finalidade fazer girar o objeto se eu apertar o botão.

O problema é que o objeto não gira no centro do objeto e sim usa um centro qualquer na sala, porque isso acontece?


Última edição por bmnei em Seg 28 Maio 2012, 10:45, editado 1 vez(es)
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] Rotação de objetos 3D

em Sab 28 Abr 2012, 17:45

Você deve adicionar esse código antes do d3d_draw_block:
Código:
d3d_transform_add_translation(x,y2,z)

Esse código faz com que o objeto gire em seu próprio eixo, mas, quando se usa esse código o ponto de origem é
X, Y e Z, ou seja, não se pode usar mais essas variáveis na hora de desenhar os modelos, no seu caso ficaria mais ou menos assim:
Código:
d3d_draw_block(-16,-16,-16,16,16,16,0,0,0)

Se ainda não entendeu, só falar que eu explico melhor...
 
Flw! sorrindo2
avatar
Data de inscrição : 15/02/2010
Número de Mensagens : 16
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [RESOLVIDO] Rotação de objetos 3D

em Sab 28 Abr 2012, 20:17
Bom, eu testei colocando as transformação depois do evento draw, mas não funcionou, os objetos não se movem
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] Rotação de objetos 3D

em Sab 28 Abr 2012, 21:45
@bmnei escreveu:Bom, eu testei colocando as transformação depois do evento draw, mas não funcionou, os objetos não se movem


O certo seria antes do draw, por exemplo:

Código:
d3d_transform_set_identity()
d3d_transform_add_rotation_z(rz)
d3d_transform_add_translation(x,y,z)
d3d_draw_block(-16,-16,-16,16,16,16,0,0,0)
d3d_transform_set_identity()

Qualquer problema a mais, só falar!
 
Flw! sorrindo2
avatar
Data de inscrição : 15/02/2010
Número de Mensagens : 16
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [RESOLVIDO] Rotação de objetos 3D

em Dom 29 Abr 2012, 19:46
tentei mas ainda continua a girar no ponto 0 da sala
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] Rotação de objetos 3D

em Dom 29 Abr 2012, 22:31
@bmnei escreveu:tentei mas ainda continua a girar no ponto 0 da sala

Poderia postar o código que esta usando no evento Draw?
Testei aqui e tudo funcionou perfeitamente, ha mais alguma coisa no evento? .-.

Flw! sorrindo2
avatar
Data de inscrição : 15/02/2010
Número de Mensagens : 16
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [RESOLVIDO] Rotação de objetos 3D

em Ter 22 Maio 2012, 23:36
eu vou colocar o arquivo pra download, é melhor pra analizar

4shared.com/file/w0vB28a4/erro.html

gabrielsch se vc puder ajudar fico agradecido.
avatar
Data de inscrição : 15/02/2010
Número de Mensagens : 16
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [RESOLVIDO] Rotação de objetos 3D

em Seg 28 Maio 2012, 10:49
Depois de analizar o arquivo resolvido pelo gabrielsch eu conseguir achar o problema.. ta nessa linha

d3d_draw_block(x,y,z,x+32,y+32,z+32,0,0,0)

ele ja tinha citado acima que não se pode usar as variaveis x e y aqui, e sim numeros reais, não entendi o porque, mas funcionou perfeitamente.

obrigado
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