Conectar-se
Quem está conectado
25 usuários online :: 3 usuários cadastrados, Nenhum Invisível e 22 Visitantes

CRP-Max, Willy, Zero.

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 28/04/12, 02:06 pm
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 28/05/12, 10:45 am, 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 28/04/12, 05:45 pm

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 28/04/12, 08:17 pm
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 28/04/12, 09:45 pm
@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 29/04/12, 07:46 pm
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 29/04/12, 10:31 pm
@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 22/05/12, 11:36 pm
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 28/05/12, 10:49 am
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