[U3D] - cambiare tonalità (hue) ad una texture
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
[U3D] - cambiare tonalità (hue) ad una texture
Salve gente! Sono stato abbastanza assente dal forum ultimamente e sono stato molto preso da un mio progetto.. Sto ricreando da capo un sistema di Color-Picking in U3D. Ho utilizzato gli script di homu (getpixel più veloce). In pratica ho un'immagine .bmp da "get_pixelare" e una .png che viene effettivamente mostrata al giocatore. Poi, con una barra laterale lascio scegliere al giocatore la tonalità (hue).
Ecco le immagini che ho utilizzato:
Questa è la .bmp dalla quale il get_pixel preleva solamente saturazione e luminosità (saturation e value).
Che sia verde in questo caso non è importante, tanto poi va cambiata la tonalità!
Questa è invece la barra laterale dalla quale prendo la tonalità.
La .png che viene mostrata è uguale alla .bmp solo che vorrei che cambiasse di tonalità quando scorro la barra laterale.. Ho provato con la funzione DrawTexEx che permette di inserire come parametri i valori RGB da sovrapporre alla texture originale.. Ma io vorrei che cambiasse solo la tonalità!
IL SISTEMA DI COLOR-PICKING FUNZIONA PERFETTAMENTE SOLTANTO CHE NON RIESCO A MODIFICARE LA TONALITA' DELLA TEXTURE.. Qualcuno saprebbe aiutarmi? Grazie!
Ecco le immagini che ho utilizzato:
Questa è la .bmp dalla quale il get_pixel preleva solamente saturazione e luminosità (saturation e value).
Che sia verde in questo caso non è importante, tanto poi va cambiata la tonalità!
Questa è invece la barra laterale dalla quale prendo la tonalità.
La .png che viene mostrata è uguale alla .bmp solo che vorrei che cambiasse di tonalità quando scorro la barra laterale.. Ho provato con la funzione DrawTexEx che permette di inserire come parametri i valori RGB da sovrapporre alla texture originale.. Ma io vorrei che cambiasse solo la tonalità!
IL SISTEMA DI COLOR-PICKING FUNZIONA PERFETTAMENTE SOLTANTO CHE NON RIESCO A MODIFICARE LA TONALITA' DELLA TEXTURE.. Qualcuno saprebbe aiutarmi? Grazie!
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
Uhm, avrei due metodi in testa ma non sono sicuro che il risultato sia perfetto.
Dici che così va bene?(usi 3 texture ed una la colori appositamente)
http://www.megaupload.com/?d=BBN0UISF
Chiaro che poi porti tutto questo esempio su U3D ma la logica è quella.
Dici che così va bene?(usi 3 texture ed una la colori appositamente)
http://www.megaupload.com/?d=BBN0UISF
Chiaro che poi porti tutto questo esempio su U3D ma la logica è quella.
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
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
HO CAPITO IL TUO RAGIONAMENTO.. LA COMBINAZIONE DI QUELLE 3 IMMAGINI DA COME RISULTATO QUELLA CHE ATTUALMENTE USO.. BENE! PROVO SUBITO! Grazie!!!
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
Non cè di che
L'altra soluzione purtroppo non è possibile con U3D. Praticamente avevo intenzione di usare due triangoli con i vertici appositamente colorati usando la matrice della telecamera ma dimenticavo che U3D non permette di usare colori per i vertici ma solo materiali per i triangoli.
L'altra soluzione purtroppo non è possibile con U3D. Praticamente avevo intenzione di usare due triangoli con i vertici appositamente colorati usando la matrice della telecamera ma dimenticavo che U3D non permette di usare colori per i vertici ma solo materiali per i triangoli.
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
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
Ok tranquillo va benissimo così! ora devo solo adattare il tutto in U3D.. mi manca pochissimo!
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
A cosa? Ricordati che sono appassionato dei giochi di corse quindi se uscirà a breve...fra3point ha scritto:mi manca pochissimo!
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
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
mi dispiace di dover annullare il tuo entusiasmo.. mi manca poco (ora è finito, pur se con qualche imperfezione) era riferito al sistema del colore.. Ora mi sto concentrando sui modelli dei pezzi che sono tantissimi da fare..
EDIT: No, nessuna imperfezione ora!
EDIT: No, nessuna imperfezione ora!
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
Cosa a cui non avevo pensato. Fondere direttamente le due immagini:
(anzi, 2 al posto di 3)
Spoiler
Così disegni una sola texture anzichè due
(anzi, 2 al posto di 3)
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
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
Beh sì!! in effetti risparmio una texture! Fondo la texture della saturazione con quella della luminosità.. E poi ci aggiungo ingame quella della tonalità! Ho quasi finito, mi manca solo da aggiustare l'immagine per lo scorrimento della barra della tonalità..
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
AHAH!! lo sapevo che sarebbe stato troppo semplice! Era tutto troppo perfetto.. in effetti il problema c'è.. Io sto gestendo 3 risoluzioni diverse ( ) e ho la seguente variabile:
La uso per scalare le varie texture e per le posizioni. Ma l'immagine di appoggio .bmp che carico nel gioco non può essere scalata perché non è una texture di U3D.. Allora ho pensato di crearne 3: una che è di dimensioni 256x256, una di 205x205 e una di 160x160.
Per caricare poi l'immagine corretta in base alla risoluzione scelta dal giocatore ho usato questo codice:
Però pare che a qualsiasi risoluzione riesca a prelevare colore solo da quella da 160x160!
Immagino che non ci avete capito niente vero?? Ditemelo in caso mi spiego meglio!
Codice: Seleziona tutto
global.rapporto=<larghezza_attuale>/<larghezza_max>
Per caricare poi l'immagine corretta in base alla risoluzione scelta dal giocatore ho usato questo codice:
Codice: Seleziona tutto
if (global.risoluzione_larghezza=800) gp_open_scr(working_directory+"\gfx\colors_1280.bmp",160,160);
else if (global.risoluzione_larghezza=1024) gp_open_scr(working_directory+"\gfx\colors_1024.bmp",205,205);
else if (global.risoluzione_larghezza=1280) gp_open_scr(working_directory+"\gfx\colors_1280.bmp",256,256);
//gp_open_scr è lo script per l'apertura dell'immagine del get-pixel
Immagino che non ci avete capito niente vero?? Ditemelo in caso mi spiego meglio!
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
Ho capito cosa vuoi dire ma come fai ad essere sicuro prelevi il colore solo da quella 160x160? Dopotutto è sempre la stessa immagine ma scalata manualmente no?
Penso che il problema stia nel codice del picking e non qui.
PS: quasi quasi faccio pure io il get pixel da file che però supporterà molto più formati
Penso che il problema stia nel codice del picking e non qui.
PS: quasi quasi faccio pure io il get pixel da file che però supporterà molto più formati
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
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
magari! così evito di sprecare 500 kb per una sola immagine! Comunque pare che ho sbagliato qualcosa quando faccio quegli if per vedere quale risoluzione è attualmente attiva.. entra sempre nel primo (ovvero quello dell'immagine 160x160)..
EDIT: Infatti la variabile global.risoluzione_lunghezza che dovrebbe avere la lunghezza effettiva della risoluzione ha sempre valore 800.. il minimo.. che corrisponde all'immagine 160x160.. mmm.. strano..
EDIT: Infatti la variabile global.risoluzione_lunghezza che dovrebbe avere la lunghezza effettiva della risoluzione ha sempre valore 800.. il minimo.. che corrisponde all'immagine 160x160.. mmm.. strano..
Ultima modifica di fra3point il 01/11/2011, 16:35, modificato 1 volta in totale.
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
Trovato un'errore(ma non credo risolva il tuo problema)
[quote="fra3point"]AHAH!! lo sapevo che sarebbe stato troppo semplice! Era tutto troppo perfetto.. in effetti il problema c'è.. Io sto gestendo 3 risoluzioni diverse ( ) e ho la seguente variabile:Usi la immagine da 1280 con risoluzione 800
[quote="fra3point"]AHAH!! lo sapevo che sarebbe stato troppo semplice! Era tutto troppo perfetto.. in effetti il problema c'è.. Io sto gestendo 3 risoluzioni diverse ( ) e ho la seguente variabile:
Codice: Seleziona tutto
[code]if (global.risoluzione_larghezza=800) gp_open_scr(working_directory+"\gfx\[b]colors_1280.bmp[/b]",160,160);
else if (global.risoluzione_larghezza=1024) gp_open_scr(working_directory+"\gfx\colors_1024.bmp",205,205);
else if (global.risoluzione_larghezza=1280) gp_open_scr(working_directory+"\gfx\colors_1280.bmp",256,256);
//gp_open_scr è lo script per l'apertura dell'immagine del get-pixel
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
- fra3point
- Membro attivo
- Messaggi: 388
- Iscritto il: 24/08/2010, 15:16
- Specialità: Prog. e 3D Modelling
- Località: L'Aquila
- Contatta:
Re: [U3D] - cambiare tonalità (hue) ad una texture
sì questo è un errore di battitura non ho fatto il copia incolla.. non è questo l'errore.. è una variabile che non ha il valore corretto..
EDIT: Vabbè userò display_get_width() così sto sicuro!
EDIT2: Ok ora per le risoluzioni 1280x960 e 1024x768 va tutto bene! Invece per quella bassa (800x600) ho ancora dei problemini..
EDIT: Vabbè userò display_get_width() così sto sicuro!
EDIT2: Ok ora per le risoluzioni 1280x960 e 1024x768 va tutto bene! Invece per quella bassa (800x600) ho ancora dei problemini..
draw_text(100,100,"fra3point");
Progetti in corso:
Progetti in corso:
Spoiler
Chi c’è in linea
Visitano il forum: Nessuno e 25 ospiti