Conectar-se

Esqueci minha senha

Últimos assuntos
» [Enquete] Concursos GMBR
por Willy Ontem à(s) 19:49

» CR - Concurso Relâmpago!!
por Willy Ter 18 Jul 2017, 17:11

» 3D:como rodar a camara em horizontal?
por Cambalinho Ter 18 Jul 2017, 15:09

» [Resolvido] pode explicar a d3d_set_projection()?
por Cambalinho Ter 18 Jul 2017, 11:28

» Escrever a resposta certa muda de room
por PedroX Seg 17 Jul 2017, 21:46

» Nota de esclarecimento - GMBR voltou!
por Mentos e Coca-cola Seg 17 Jul 2017, 17:05

» [CR] Campo Minado
por Katerp Dom 16 Jul 2017, 23:09

» [CR] The Bazooka Cat
por Tedi Ripper Dom 16 Jul 2017, 23:01

» Como melhorar um protótipo(Design)
por lolandoplayer Dom 16 Jul 2017, 22:56

» Diminuir velocidade ao arrastar objeto
por LwysF Dom 16 Jul 2017, 17:33

Quem está conectado
20 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 19 Visitantes

Lighter

[ Ver toda a lista ]


O recorde de usuários online foi de 324 em Ter 05 Out 2010, 13:36
Estatísticas
Temos 12700 usuários registrados
O último usuário registrado atende pelo nome de Eduardo Gomes

Os nossos membros postaram um total de 220919 mensagens em 30412 assuntos

[Duvida 3D] Como usar girar um cubo em D3D ?

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por un00brn em Ter 12 Fev 2013, 18:45

Ae galera!
Já pesquisei e não consigo achar algo do tipo.


A minha dúvida é o seguinte :
" Tenho um cubo, e quando o player apertar alguma tecla, esse cubo irá girar em torno de z, junto com sua direção "
Tentei usar
Código:

if keyboard_check(vk_left) { direction -= 5 }

A mask do cubo gira, só que o modelo D3D não gira, e permanece parado!
Como resolver? Rolling Eyes
avatar
un00brn

Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário http://www.djurielrn.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por Adilson Thiago Vieira em Ter 12 Fev 2013, 18:51

Código:

d3d_transform_set_identity()
d3d_transform_add_rotation_x(0)
d3d_transform_add_rotation_y(0)
d3d_transform_add_rotation_z(direction)
d3d_transform_add_translation(x,y,z)

//aki vc pode substituir:
d3d_draw_ellipsoid(-8,-8,-8,+8,+8,+8,sprite_get_texture(TEXTURA,0),1,1,16)

d3d_transform_set_identity()
vc pode substituir as rotaçoes x,y,z ali em cima(se quize gira de acordo com a direçao e so usa meu code)
no d3d draw elipsoid vc pode modificar para qualquer outro draw 3d,e pode modificar os valores
avatar
Adilson Thiago Vieira

Ranking : Sem avaliações
Notas recebidas : D+C+C+D
Data de inscrição : 17/10/2012
Número de Mensagens : 367
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por un00brn em Ter 12 Fev 2013, 18:58

Mas por exemplo, esse Code teria q ser no Draw ?
Eu usei o code acima e gira a camera e não o cubo
avatar
un00brn

Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário http://www.djurielrn.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por Adilson Thiago Vieira em Ter 12 Fev 2013, 19:05

sim ponha no draw do cubo!
o objeto 3d vai girar de acordo com a direçao dele
avatar
Adilson Thiago Vieira

Ranking : Sem avaliações
Notas recebidas : D+C+C+D
Data de inscrição : 17/10/2012
Número de Mensagens : 367
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por un00brn em Ter 12 Fev 2013, 19:24

Ele está rodando.
Só que está roldando em volta dele, e Uma grande volta, um raio de 200 Pixels ou mais!

é como se a mask dele fosse bem grande.
Olha os code do Player no STEP
Código:

image_angle=direction
if keyboard_check(vk_right) direction-=3
if keyboard_check(vk_left)  {direction+=3}
if keyboard_check(vk_up) speed +=3
if keyboard_check(vk_down) speed +=-3
if keyboard_check_pressed(vk_space) if z=0 z+=15
if speed > 4 speed = 4
if speed < -4 speed = -4

friction=.5

no DRAW
Código:

d3d_transform_set_identity()
d3d_transform_add_rotation_x(0)
d3d_transform_add_rotation_y(0)
d3d_transform_add_rotation_z(direction)
d3d_transform_add_translation(x,y,z)

d3d_draw_block(x-32,y-32,0,x+0,y+0,64,bbody,1,1)

d3d_transform_set_identity()

E na camera
STEP
Código:

x = obj_player.x
y = obj_player.y

DRAW
Código:

distancia=400 //distancia que vc quer
olhar=obj_player //ponto onde vc quer que a camera olhe
d3d_draw_cylinder(x-5000,y-5000,-5000,x+5000,y+5000,+5000,background_get_texture(bsys_sky1),1,1,0,1)
d3d_set_projection(x-distancia,y-distancia,z+distancia,olhar.x,olhar.y,olhar.z,0,0,1)



avatar
un00brn

Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário http://www.djurielrn.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por Adilson Thiago Vieira em Ter 12 Fev 2013, 19:43

tente so modificar o draw para:
Código:

d3d_transform_set_identity()
d3d_transform_add_rotation_x(0)
d3d_transform_add_rotation_y(0)
d3d_transform_add_rotation_z(direction)
d3d_transform_add_translation(x,y,z)

d3d_draw_block(x-16,y-16,0,x+16,y+16,64,bbody,1,1)

d3d_transform_set_identity()
aki agora esta centralizado no objeto 3d,veja se resolve...

ps:esta centralizado porq a metade do seu objeto 3d é 16
espero ter ajudado

ha se vc quizer,talves nao seja necessarios os outros transform add rotation x e y,entao,se qze pode tira...
avatar
Adilson Thiago Vieira

Ranking : Sem avaliações
Notas recebidas : D+C+C+D
Data de inscrição : 17/10/2012
Número de Mensagens : 367
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por un00brn em Ter 12 Fev 2013, 19:55

Não não...
Veja, eu hospedei ele no 2shared.

Não ligue para os gráficos, são só provisórios Very Happy
http://www.2shared.com/file/KIREoUjJ/Live_work.html
avatar
un00brn

Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário http://www.djurielrn.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por Adilson Thiago Vieira em Ter 12 Fev 2013, 20:23

eu tentei baixa o projeto,mais nao estava querendo funcionar,estava aparecendo um erro com a dll39...
eu tentei baixa o projeto,mais nao estava querendo funcionar,estava aparecendo um erro com a dll39...
axei o bug \o/

vc ponhou
Código:

d3d_transform_set_identity()
d3d_transform_add_rotation_x(0)
d3d_transform_add_rotation_y(0)
d3d_transform_add_rotation_z(direction)
d3d_transform_add_translation(x,y,z)

d3d_draw_block(x,y,0,x+32,y+32,64,bbody,1,1)

d3d_transform_set_identity()
ai eu me confundi e concordei com vc e postei outro codigo errado...

o certo seria:
Código:

d3d_transform_set_identity()
d3d_transform_add_rotation_x(0)
d3d_transform_add_rotation_y(0)
d3d_transform_add_rotation_z(direction)
d3d_transform_add_translation(x,y,z)

d3d_draw_block(-16,-16,0,+16,+16,+64,bbody,1,1)

d3d_transform_set_identity()
notou diferença?
nao precisa de "x+=?",o d3d_transform_add_translation(x,y,z) ja faz com que se refira as posisoes x y e z do objeto,tendeu?

flw!
avatar
Adilson Thiago Vieira

Ranking : Sem avaliações
Notas recebidas : D+C+C+D
Data de inscrição : 17/10/2012
Número de Mensagens : 367
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por Rodrigo Santiago em Ter 12 Fev 2013, 21:22

Desculpa, nao sei se e essa pergunta mas voce deve dividir as transformacoes em:
girar, alongar, mover. Lembrese que todas elas rodam no eixo 0, ate pq o programa nao vai saber o centro do seu modelo(cubo) 3d.
Entao sempre use nessa sequencia
girar(rotate)
mover(translate)
draw
limpar(identity)para nao afetar os proximos desenhos, ate mesmo de outros objetos.
Lembrese de nao colocar x,y,z no draw, coloque apenas numeros , o xyz devem ficar no translate.

ex:
x+5,y+5,z+2,x-2,y+3,z+4 -errado

translate x,y,z
5,5,2,-2,3,4. -correto

obs eu resumi as palavras presumindo que voce saiba.
Veja a minha apostila em perguntas e respostas(eu errei o topico) .
avatar
Rodrigo Santiago

Ranking : Nota B
Notas recebidas : C + C + B
Data de inscrição : 28/07/2012
Número de Mensagens : 1281
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 3
   : 1
   : 3

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por un00brn em Qua 13 Fev 2013, 23:59

Perfeito, o code funciona!
Só que há um problema...

Meu game é uma conexão LAN!
Eu estou usando no STEP do Player
Código:

buff_clear(0);
set_id(0);
write_value(x);
write_value(y);
write_value(z);
write_value(direction);
write_value(speed);
write_value(image_angle)

Só que, o Angulo 3D do obj não está sendo enviado. ele anda normal, só q no outro player não chega a rotação do obj.
Como faço para ele enviar a direção ou seja a 'transformaçao' do meu player para o outro em Lan?
avatar
un00brn

Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário http://www.djurielrn.blogspot.com

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por Adilson Thiago Vieira em Qui 14 Fev 2013, 17:21

bom,ai ja é mais complicado,pois eu nao mexo muito com jogos online,mas eu tinha visto algo sobre isso,vou ver se encontro,se encontrar dou um edit!
avatar
Adilson Thiago Vieira

Ranking : Sem avaliações
Notas recebidas : D+C+C+D
Data de inscrição : 17/10/2012
Número de Mensagens : 367
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Prêmios
   : 0
   : 0
   : 0

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: [Duvida 3D] Como usar girar um cubo em D3D ?

Mensagem por un00brn em Sab 16 Fev 2013, 23:30

Certo, Porém... Mesmo que precise de alguma DLL ou algo do tipo, pode me falar!

Se eu conseguir fazer essa configuração rodar on-line sem muito Lag, esse game será fantástico ( Ou não ) kkk'
avatar
un00brn

Data de inscrição : 18/06/2012
Número de Mensagens : 117
Insígnias de JAM :

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ver perfil do usuário http://www.djurielrn.blogspot.com

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum