Nell'usare il 3D con game maker mi è spesso capitato di provare a cambiare negli eventi Draw la trasparenza del disegno con draw_set_alpha(x); Tuttavia spesso gli oggeti trasparenti non permettono di vedere ciò che c'è dietro ad essi, generando solo delle sagome del colore del background della room. Penso che ciò capiti per colpa del fatto che alcune istanze subiscano l'evento Draw prima di altre. Qualche consiglio?
Ecco qua un'immagine dimostrativa. Gli oggetti trasparenti sul pavimento sono trasparenti solo su alcune mattonelle, mentre su altre generano delle ombre nere.
Uploaded with ImageShack.us
Trasparenza nel 3D
- Homunculus
- Admin
- Messaggi: 6840
- Iscritto il: 25/11/2007, 20:36
- Contatta:
Re: Trasparenza nel 3D
Premetto che non ho mai lavorato molto col 3d di GM, ma so per certo che per vedere quello che sta dietro a qualcosa di trasparente, l'oggetto trasparente deve essere disegnato DOPO quello che ci sta dietro. È così in opengl, e directx non fa eccezione.
Re: Trasparenza nel 3D
Nel 2D cambiare depth sarebbe la cosa ovviamente più semplice, ma nel 3D cambiando il depth, a meno che non sia io che abbia fatto pasticci, le istanze non vengono più disegnate con d3d_set_projection, ma con una vista dall'alto.
Non c'è un sistema che permette di cambiare le id degli oggetti? Gli oggetti con la stessa depth eseguono gli eventi in ordine di id.
Non c'è un sistema che permette di cambiare le id degli oggetti? Gli oggetti con la stessa depth eseguono gli eventi in ordine di id.
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: Trasparenza nel 3D
Puoi anche fare il disegno da un'unico oggetto che legge le varie variabili dagli altri oggetti e così puoi disegnarli nell'ordine che vuoi tu. Con un with lo fai in'ordine di oggetto anzichè di id.
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
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
- BaronVsCorsar
- GMI VIP
- Messaggi: 4699
- Iscritto il: 14/02/2004, 12:05
- Specialità: Saccenza
- Uso: GameMaker 8.1
- Località: Ferrara
- Contatta:
Re: Trasparenza nel 3D
nel 3d interno non si segue più banalmente l'ordine del depth.LPworker ha scritto:Nel 2D cambiare depth sarebbe la cosa ovviamente più semplice, ma nel 3D cambiando il depth, a meno che non sia io che abbia fatto pasticci, le istanze non vengono più disegnate con d3d_set_projection, ma con una vista dall'alto.
Non c'è un sistema che permette di cambiare le id degli oggetti? Gli oggetti con la stessa depth eseguono gli eventi in ordine di id.
E' sicuro che la proiezione deve essere settata nell'oggetto a profondità maggiore (il primo ad essere eseguito), ma ovviamente la renderizzazione dell'immagine NON può essere fatta con un ordine statico di depth (nè dinamico).
Evidentemente gm analizzerà tutti gli eventi draw e renderizza alla fine (non vedo altro modo per gestire un'immagine creata in diversi pezzi di codice).
però nella tua immagine non capisco bene: le cose nere sono SOTTO a delle mattonelle di vetro? le cose nere le vedo, ma non vedo oggetti trasparenti SULLE mattonelle, ma tubi neri sotto mattonelle trasparenti.
Schiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?
Re: Trasparenza nel 3D
Gli oggetti trasparenti sono degli aculei che, caduti sul pavimento, diventano trasparenti. I tubi neri che vedi sono la porzione di cono superiore di ogni aculeo.BaronVsCorsar ha scritto: però nella tua immagine non capisco bene: le cose nere sono SOTTO a delle mattonelle di vetro? le cose nere le vedo, ma non vedo oggetti trasparenti SULLE mattonelle, ma tubi neri sotto mattonelle trasparenti.
- HenrikUp
- Membro super
- Messaggi: 584
- Iscritto il: 04/07/2011, 10:50
- Specialità: Programmatore
- Uso: GM:Studio 1.4 Standard
- Località: SudItalia
- Contatta:
Re: Trasparenza nel 3D
prova a fare una texture per quelle cose scegliendo l'opzione replace e cambiano l'opacita' a me cosi funziona sicuro
Chi c’è in linea
Visitano il forum: Nessuno e 18 ospiti