ruotare un modello secondo angoli x, y e z

Argomenti riguardanti il D3D di GameMaker e librerie esterne.
Rispondi
Avatar utente
Fake
Membro
Messaggi: 82
Iscritto il: 05/09/2012, 20:24
Specialità: Nulla
Contatta:

ruotare un modello secondo angoli x, y e z

Messaggio da Fake »

ho bisogno di ruotare un modello dati degli angoli che sono associati agli assi x,y e z.
nell'veento draw uso sto codice

Codice: Seleziona tutto

d3d_transform_set_identity()
d3d_transform_add_rotation_axis(1,0,0,xrot)
d3d_transform_add_rotation_axis(0,1,0,yrot)
d3d_transform_add_rotation_axis(0,0,1,zrot)
d3d_transform_add_translation(x+16,y+16,z+16)
d3d_model_draw(model,-16,-16,-16,sprite_get_texture(sprite0,0))
d3d_transform_set_identity()
xrot,yrot e zrot indicano i tre rispettivi angoli.
La questione è: posso applicare queste tre trasformazioni senza che si sovrappongano? mi spiego meglio. Quando ruoto il modello, anche gli assi ruotano con esso. credo di dover usare d3d_transform_stack_pop e d3d_transform_stack_push ma non so come

Avatar utente
Sla
GMI VIP
Messaggi: 3618
Iscritto il: 21/07/2008, 10:11
Specialità: Titanismo
Località: (gm) Italia
Contatta:

Re: ruotare un modello secondo angoli x, y e z

Messaggio da Sla »

no.
eppure mi sembra tutto giusto...

Avatar utente
Fake
Membro
Messaggi: 82
Iscritto il: 05/09/2012, 20:24
Specialità: Nulla
Contatta:

Re: ruotare un modello secondo angoli x, y e z

Messaggio da Fake »

quindi cosa devo fare?

Avatar utente
ReDevil
Newbie
Messaggi: 32
Iscritto il: 16/10/2012, 20:57
Specialità: Programmazione
Località: Avellino
Contatta:

Re: ruotare un modello secondo angoli x, y e z

Messaggio da ReDevil »

Codice: Seleziona tutto

d3d_transform_set_identity()
d3d_transform_add_rotation_x(rotazione_x)
d3d_transform_add_rotation_y(rotazione_y)
d3d_transform_add_rotation_z(rotazione_z)
d3d_transform_add_translation(x,y,z)
d3d_model_draw(model,0,0,0,sprite_get_texture(sprite0,0))
d3d_transform_set_identity()
Volendo, puoi fare anche:

Codice: Seleziona tutto

d3d_transform_set_identity()
d3d_transform_add_rotation_x(rotazione_x1)
d3d_transform_add_rotation_y(rotazione_y1)
d3d_transform_add_rotation_z(rotazione_z1)
d3d_transform_add_translation(x1,y1,z1)
d3d_transform_add_rotation_x(rotazione_x2)
d3d_transform_add_rotation_y(rotazione_y2)
d3d_transform_add_rotation_z(rotazione_z2)
d3d_transform_add_translation(x2,y2,z2)
d3d_model_draw(model,0,0,0,sprite_get_texture(sprite0,0))
d3d_transform_set_identity()
per animazioni più complesse, come quelle delle gambe, piedi, avambracci e mani :)
GIOCHI 3D INCOMPLETI
Spoiler
Immagine
Immagine
Immagine
I MIEI EROI
Spoiler
Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 36 ospiti