Shadow

Argomenti riguardanti il D3D di GameMaker e librerie esterne.
Rispondi
Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Shadow

Messaggio da doom13 »

In inglese fa figo e si lo so ultimamente non mi sto regolando con i topic :asd:
Ieri notte mentre cercavo di addormentarmi (momento della giornata in cui arrivano le illuminazioni) ho pensato questa cosa:
Uso il codice di cash (supponendo che funzioni) per crearmi uno sprite da un modello 3D,

Codice: Seleziona tutto

d3d_set_projection(blabla);//Metti la vista dall'alto che punta verso il basso
surface_set_target(surface);
d3d_draw_model(blabla);//Disegni il modello
surface_reset_target();
sprite_create_from_surface();
l'angolazione invece che dall'alto sarà quella di un ipotetico sole che colpisce il modello, a questo punto coloro di nero lo sprite, poi applico una trasparenza, il risultato lo disegno a terra.
Fino a qui mi sembra che il tutto ha un senso. Il problema però è proprio disegnare lo sprite a terra con una certa angolazione..
Come si può fare? Inoltre può funzionare il ragionamento che ho fatto?
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

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

Re: Shadow

Messaggio da Cash »

Penso si possa fare ma forse c'è qualche problema di velocità con il creare sprite ogni step. Per l'angolazione credo tu possa semplicemente modificare il d3d_set_projection, non dovrebbe darti problemi anche se usi proiezioni diverse in altri oggetti. Ora ci provo e poi edito il post se riesco a trovare qualcosa

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Shadow

Messaggio da aironenero »

Cash ha scritto:Penso si possa fare ma forse c'è qualche problema di velocità con il creare sprite ogni step. Per l'angolazione credo tu possa semplicemente modificare il d3d_set_projection, non dovrebbe darti problemi anche se usi proiezioni diverse in altri oggetti. Ora ci provo e poi edito il post se riesco a trovare qualcosa
dipende tutto da GM, l'idea di doom esiste veramente e si chiama shadow volume, e ironia della sorte è usata in doom 3! :asd:
Unity Developer
Immagine
Immagine

Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: Shadow

Messaggio da doom13 »

Cash ha scritto:Penso si possa fare ma forse c'è qualche problema di velocità con il creare sprite ogni step. Per l'angolazione credo tu possa semplicemente modificare il d3d_set_projection, non dovrebbe darti problemi anche se usi proiezioni diverse in altri oggetti. Ora ci provo e poi edito il post se riesco a trovare qualcosa
Grande cash, più tardi provo anche io.

PS
Quello che non saprei come fare però è disegnare una texture a terra ruotata in base alla direzione della luce che però parta sempre dagli estremi del modello. Non se si capisce.
aironenero ha scritto:
Cash ha scritto:Penso si possa fare ma forse c'è qualche problema di velocità con il creare sprite ogni step. Per l'angolazione credo tu possa semplicemente modificare il d3d_set_projection, non dovrebbe darti problemi anche se usi proiezioni diverse in altri oggetti. Ora ci provo e poi edito il post se riesco a trovare qualcosa
dipende tutto da GM, l'idea di doom esiste veramente e si chiama shadow volume, e ironia della sorte è usata in doom 3! :asd:
Ahahahah è tutto collegato, tutto collegato....
Peccato comunque che sto Frank Crow mi ha anticipato di appena 38 anni...
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

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

Re: Shadow

Messaggio da Cash »

doom13 ha scritto:
Cash ha scritto:Penso si possa fare ma forse c'è qualche problema di velocità con il creare sprite ogni step. Per l'angolazione credo tu possa semplicemente modificare il d3d_set_projection, non dovrebbe darti problemi anche se usi proiezioni diverse in altri oggetti. Ora ci provo e poi edito il post se riesco a trovare qualcosa
Grande cash, più tardi provo anche io.

PS
Quello che non saprei come fare però è disegnare una texture a terra ruotata in base alla direzione della luce che però parta sempre dagli estremi del modello. Non se si capisce.
Ci ho provato, è possibile ma ho 2 problemi:
1-Quello che dici te, far partire la texture sempre agli estremi del modello
2-Il creare continuamente background e convertirli in texture non fa neanche partire il gioco, ho provato mettendo il tutto in un alarm ogni 0.25 secondi e facendo poi disegnare nel draw e il gioco parte ma gli fps crollano ogni volta che si aggiorna la ombra. Inoltre ho notato che il consumo di RAM continua ad aumentare più il tempo passa, suppongo sia perchè GameMaker non svuta dalla memoria tutti i background che crea

Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: Shadow

Messaggio da doom13 »

Ho provato un po' ma mi blocco al primo punto :lol:
Poi stavo leggendo nel manuale (di gm8.1) che le surface non funzionano bene con il 3d...
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: Shadow

Messaggio da doom13 »

Cash ha scritto:
doom13 ha scritto:
Cash ha scritto:Penso si possa fare ma forse c'è qualche problema di velocità con il creare sprite ogni step. Per l'angolazione credo tu possa semplicemente modificare il d3d_set_projection, non dovrebbe darti problemi anche se usi proiezioni diverse in altri oggetti. Ora ci provo e poi edito il post se riesco a trovare qualcosa
Grande cash, più tardi provo anche io.

PS
Quello che non saprei come fare però è disegnare una texture a terra ruotata in base alla direzione della luce che però parta sempre dagli estremi del modello. Non se si capisce.
Ci ho provato, è possibile ma ho 2 problemi:
1-Quello che dici te, far partire la texture sempre agli estremi del modello
2-Il creare continuamente background e convertirli in texture non fa neanche partire il gioco, ho provato mettendo il tutto in un alarm ogni 0.25 secondi e facendo poi disegnare nel draw e il gioco parte ma gli fps crollano ogni volta che si aggiorna la ombra. Inoltre ho notato che il consumo di RAM continua ad aumentare più il tempo passa, suppongo sia perchè GameMaker non svuta dalla memoria tutti i background che crea
Mi sembra ci sia la funzione background_delete, inoltre prova a settare l'alarm ogni secondo.
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

Avatar utente
doom13
Moderatore
Messaggi: 2093
Iscritto il: 31/08/2012, 15:40
Specialità: Programmazione
Uso: GM:Studio 2
Contatta:

Re: Shadow

Messaggio da doom13 »

Ho trovato anche questo per le ombre però mi servirebbe una mano a capire quali siano le cose essenziali per le ombre.
https://www.mediafire.com/?lj4n9albb90qbtz
Stavo facendo un po' di prove eliminando alcuni oggetti o altro ma non riesco a eliminare il superfluo.
La versione linkata è quella originale fatta da non so chi con gm8.
Immagine
Spoiler
Maze [sospeso]
Isom (titolo provvisorio) (Windows & Android) [sospeso]
Keep Calm & Jump (Android) [In corso]
The Graywall (Windows) [Completo]
DTB (Windows & Android) [Completo]
The Last Spell (Windows) [Completo]
Dukenstein: Return to the house (Windows) [Completo]
DMSystem (Windows) [Completo]
"Things get hard sometimes guys... But remember, dicks get hard too, but they don't stay hard forever. Don't give up!"

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Shadow

Messaggio da aironenero »

allora, no aspetta, perchè devi far partire un immagine smepre dai piedi di un personaggio?
Non ne hai bisogno, se hai convertito il modello in immagine d'ombra devi solo proiettarla sull'asse della profondità verso il terreno.
Unity Developer
Immagine
Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti