Quando volete simulare l'effetto dell'ombra di solito si usa semplicemente uno sprite nero leggermente alfato però come molti si saranno accorti quando le varie ombre vengono disegnate una sopra l'altra avviene che l'intensità dell'ombra aumenta nei pixel in cui si sono intersecate.
Ogni volta vi sarete detti che quell'effetto è decisamente brutto.
Ebbene io ho fatto un semplice editabile il quale, utilizzando una semplice surface, elimina questo fastidioso problema.
http://www.megaupload.com/?d=MLUE4AIO
Il suo funzionamento è molto semplice, disegna gli sprite completamente neri su una surface(gli sprite possono essere anche colorati, basta usare il colore nero per renderli neri al momento del disegno) e dopo disegna la surface con un certo valore di alfa.
Se ad esempio disegnate con il sistema degli sprite le ombre completamente nere il risultato è perfetto, non cè alcuna somma della loro alfa questo perchè ha raggiunto il massimo valore di alfa quindi disegnando le ombre su una surface raggiungeranno il massimo valore di alfa e solo poi verrà applicata l'alfa a tutta la surface.
Con questo semplicissimo sistema le ombre verranno perfette, vari dettagli sui tasti utilizzati nell'esempio ed il suo funzionamento nello specifico li trovate sotto forma di commenti direttamente nell'editabile
Come noterete se alfate uno dei due sprite non ci sarà alcuna somma delle due ombre ma bensì lo sprite opaco avrà un'ombra che coprirà l'altra.
Se alfate tutti e due gli sprite noterete ancora quell'effetto ma... non è una semplice somma, l'alfa viene comunque diminuita inoltre se ci pensate bene è proprio ciò che vorrete.
Immaginate un foglio di carta che proietta la sua ombra, se ci mettete un'altro foglio sopra noterete che nelle zone che i due fogli hanno in comune l'ombra è più intensa perchè i due fogli messi assieme valgono come uno più opaco.
Ecco uno screen della differenza tra i due metodi:
Spero vi sia utile
[botta & risposta]Disegnare ombre con le surface
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
[botta & risposta]Disegnare ombre con le surface
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
- nightwish88
- GMI Advanced
- Messaggi: 1739
- Iscritto il: 18/01/2009, 13:41
- Contatta:
Re: [botta & risposta]Disegnare ombre con le surface
esempio basilare ma allo stesso tempo utile. bravo jak
- maz85
- Admin
- Messaggi: 8287
- Iscritto il: 07/02/2004, 15:57
- Specialità: Nientologo
- Località: Oblio
- Contatta:
Re: [botta & risposta]Disegnare ombre con le surface
Bello jak, ma non si poteva fare col blend? Ora non posso provare però...
Votate GmItalia nella classifica!
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
Ultime dal fronte.... notizie e altro sul sito di GmItalia
°Pagina personale: % di sviluppo giochi e altro°
-
- Membro attivo
- Messaggi: 468
- Iscritto il: 28/05/2010, 23:49
- Specialità: Grafica
- Contatta:
Re: [botta & risposta]Disegnare ombre con le surface
Se creo delle nuove case con ombre voglio provarci
direi che è molto utile bravo JAK.
direi che è molto utile bravo JAK.
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [botta & risposta]Disegnare ombre con le surface
forse con un blending tipo max...maz85 ha scritto:Bello jak, ma non si poteva fare col blend? Ora non posso provare però...
Non ho provato ma personalmente non credo che si possa evitare una cosa simile se non con questo metodo poichè usando i bm cambia non solo il modo in cui le ombre interagiscono tra loro ma anche tra ombre e mondo esterno. Alla fine è un semplice bm normal solo che l'alfa "vera" dell'ombra la usa in un'altro momento. Farò qualche tentativo.
Grazie night, lo so, non era niente di difficile anzi ma cè sempre gente che domanda quindi non si sa mai )
Gladiatore, fai pure, sei libero di usare questo esempio come più di aggrada. Ovviamente non sono ombre realistiche tipo quelle del 3d però se stai attento a certi criteri è meglio di niente
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
Chi c’è in linea
Visitano il forum: Nessuno e 34 ospiti