disegnare sprite nel 3d

Argomenti riguardanti il D3D di GameMaker e librerie esterne.
Rispondi
Avatar utente
manzopan
Membro
Messaggi: 117
Iscritto il: 23/12/2010, 13:49
Contatta:

disegnare sprite nel 3d

Messaggio da manzopan »

ciao a tutti, il mio problema è abbastanza facile e probabilmente reduce di una disattenzione,
fattostà che ho impostato una telecamera 3d, d3d_start() e d3d_end() definiti, nel draw event

d3d_set_projection(2400/2,1350/2,256,2400/2,1350/2,0,0,0,1)
draw_set_color(c_white)

e poi c' è l' oggeto da riprendere che se ne sta nel mezzo della stanza senza essere ripreso (la depth dell' oggetto camere è 1000000, tanto per stare sicuri)
solo che nn viene visualizzato....
e se la depth della camera è minore dell' oggetto da riprendere me lo fa vedere ma ovviamente al contrario....
è da un po che nn uso il 3d e quindi magari ho fatto qualche dimenticanza, help plox

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: disegnare sprite nel 3d

Messaggio da Jak »

Se lo sprite viene disegnato in automatico dall'oggetto mi pare che venga utilizzata la depth come valore di Z e quindi lo sta disegnando a Z=1000000
Prova ad usare d3d_set_depth(Z) per disegnare lo sprite nella Z corretta. (ad occhio direi che tu lo vuoi a 0)
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
gameplay_extreme
GMI VIP
Messaggi: 3824
Iscritto il: 13/11/2010, 16:23
Uso: GM:Studio 2
Contatta:

Re: disegnare sprite nel 3d

Messaggio da gameplay_extreme »

e poi c' è l' oggeto da riprendere che se ne sta nel mezzo della stanza senza essere ripreso (la depth dell' oggetto camere è 1000000, tanto per stare sicuri)
solo che nn viene visualizzato....
quale comando usi per visualizzare l' "oggetto da riprendere" ?
Immagine
clicca sul logo qui sopra per info e download riguardo ai miei software o per sapere come si crea un videogioco!

iscriviti qui gratuitamente a GMI !
Spoiler
- Una curiosità: come mai quell' ordine ?
- Perché formava una scaletta molto carina da vedere.


"ah ah...grazie alla annotazione scientifica ti ho fregato!"
(come disse la calcolatrice al display)

Avatar utente
manzopan
Membro
Messaggi: 117
Iscritto il: 23/12/2010, 13:49
Contatta:

Re: disegnare sprite nel 3d

Messaggio da manzopan »

l' oggetto era a 0 di depth (quello da riprendere) e ho usato d3d_set_depth.
usavo un oggetto camera e d3d_set_projection per inquadrare l' altro oggetto.
ma comunque ho risolto, è bastato mettere nelle yto della camera un "-1"

alice22
Newbie
Messaggi: 1
Iscritto il: 09/09/2014, 11:17
Uso: GM:Studio 1.4 Free
Contatta:

Re: disegnare sprite nel 3d

Messaggio da alice22 »

Sono riuscito a risolvere,stranamente sembra che GM tralasciasse tutto ciò che veniva disegnato dopo i cubi eppure non so perchè. Comunque ho trasformato tutti i cubi in un unico modello 3D ed ora disegno direttamente quello e stranamente funziona(e le prestazioni sono aumentate di molto). Il resto del codice è questo,però non l'ho toccato quindi boh.

Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: disegnare sprite nel 3d

Messaggio da Cash »

Come fai a disegnare l'oggetto da mostrare?se usi semplicemente draw_self() o draw_sprite allora lo vedresti disegnato sul pavimento(e magari disegni un tuo pavimento con d3d_draw_floor che copre lo sprite e quindi non lo vedi).
Se intendi disegnare billboards(sprite 2D in 3D che puntano sempre alla telecamera,guarda per esempio i nemici in Doom 1)hai 2 possibilità:
-Disegni un muro,gli applichi lo sprite come texture e poi usi le trasformazioni(manuale->transform) per girarlo
-Disegni direttamente lo sprite,lo fai girare su un asse(x o y,non ricordo mai) per metterlo in piedi e poi lo fai girare su un altro asse(Z) per farlo puntare verso la telecamera
alice22 ha scritto:Sono riuscito a risolvere,stranamente sembra che GM tralasciasse tutto ciò che veniva disegnato dopo i cubi eppure non so perchè. Comunque ho trasformato tutti i cubi in un unico modello 3D ed ora disegno direttamente quello e stranamente funziona(e le prestazioni sono aumentate di molto). Il resto del codice è questo,però non l'ho toccato quindi boh.
Non ho capito cosa centra (e mi sembra estremamente simile ad un post che avevo fatto in un mio topic sul perchè GM smettesse di disegnare sempre in questa sezione)
EDIT:ma che cavolo,ho scritto questo post e poi vedo che è stravecchio?pensavo che alice fosse l'OP e invece è solo uno spammer che copia i vecchi post

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 7 ospiti