Materiale con livelli e alpha

Forum per: Modellazione, Texturing, Animazione, Composting e tutto quello che riguarda il normale utilizzo di Cinema4D.

Moderatori: Arkimed, natas, visualtricks, cappellaiomatto

  • Advertising
Avatar utente
MelazECProd
Messaggi: 26
Iscritto il: gio set 26, 2013 12:52 pm
Località: Torino

Materiale con livelli e alpha

Messaggio da MelazECProd »

Ciao a tutti
dovrei fare uno switch con Xpresso per animare delle texture. Però mi sono fermato all'inizio... mi spiego meglio.
Dovrei animare delle espressioni facciali tramite delle texture con occhi e bocca (stile Lego: Il Film).
Per non riempire di Materiali il progetto, volevo utilizzare un solo materiale e su Colore utilizzare i vari files delle espressioni facciali come Livelli, per poi switcharli tramite Xpresso.
Questi files li salvo in .png (o .PSD), quindi con informazioni alpha; su ogni Livello, cliccando col tasto destro mi da la voce "Usa Alpha", ma non cambia niente... mi si vede comunque il bianco.
Ho notato che se, per la stessa immagine, attivo il canale Alpha (del Materiale), il bianco sparisce (come ovvio che sia).
Allora, dato che non l'ho mai fatto, ho provato anche sul canale Alpha ad attivare la modalità Livelli, ma così non funziona più.

Volevo sapere se c'è un metodo per risolvere questo problema, o mi toccherà per forza creare un Materiale per ogni espressione facciale?

Grazie mille ;)
Hardware:
Intel Core 2 Quad Q9300 2.50Ghz
Asus P5K3 Deluxe Wi-Fi/AP Edition
Corsair XMS3 8GB DDR3 1333Mhz
Sapphire Radeon HD 7850 1Gb GDDR5
Avatar utente
visualtricks
Moderatore
Messaggi: 3565
Iscritto il: gio set 23, 2004 5:13 pm
Località: Pistoia

Re: Materiale con livelli e alpha

Messaggio da visualtricks »

Ciao, secondo me ti conviene avere gli alpha separati, eviti di incasinarti. Ad ogni modo l'alpha che gli stai facendo usare (tasto dx->use alpha) non è quello che ti serve, dovresti cliccare sull'anteprima dell'immagine ed entrare nel Layerset (che ti da la struttura del file psd) e da lì scegliere se e quale alpha usare. A prescindere da questo, tu l'alpha devi averlo nel canale alpha del materiale, non direttamente sul livello colore...se ho capito quello che vuoi fare dovresti avere nel Color uno shader livello con dentro Faccia1, Faccia2, Faccia3, ecc e conseguentemente nel canale Alpha un altro shader livello con dentro Alpha1, Alpha2, Alpha3, ecc.
Allegati
Untitled-2.jpg
Immagine
๏_www.visualtricks.it_๏ .:: COMPUTER SAYS NO ::.
Avatar utente
MelazECProd
Messaggi: 26
Iscritto il: gio set 26, 2013 12:52 pm
Località: Torino

Re: Materiale con livelli e alpha

Messaggio da MelazECProd »

Grazie visualtricks,
si, l'idea iniziale era di avere un Livello Alpha per ogni Livello Colore... quindi non è possibile?
Devo per forza utilizzare un Materiale per ogni espressione facciale?

Pongo una domanda sullo step successivo (magari riesci a darmi una dritta anche su questa, sennò apro un altro thread):
Per switchare tra un Materiale (o se è possibile un Livello) e l'altro... il modo più facile per animare tramite Xpresso qual è?
Io ho trovato un diagramma su un forum inglese, dove utilizza un blocco che si chiama Image Switcher, collegato con degli EQ (equazioni credo... conosco solo le basi di Xpresso non mi sono ancora addentrato in ogni singola funzione), dove il controllo negli attributi è un Pop Up... il problema è che non lo trovo tra le funzioni di Xpresso, quindi pure lì mi sono fermato :(

Il Pop Up sarebbe perfetto rispetto a uno Slide, o ancora meglio un tickbox con possibilità di impostare a fianco il nome dell'espressione, così è più facile da visualizzare.

Se posso, posto quell'immagine dell'altro Forum, sennò la mando in pvt
Hardware:
Intel Core 2 Quad Q9300 2.50Ghz
Asus P5K3 Deluxe Wi-Fi/AP Edition
Corsair XMS3 8GB DDR3 1333Mhz
Sapphire Radeon HD 7850 1Gb GDDR5
Avatar utente
visualtricks
Moderatore
Messaggi: 3565
Iscritto il: gio set 23, 2004 5:13 pm
Località: Pistoia

Re: Materiale con livelli e alpha

Messaggio da visualtricks »

No no, puoi farlo anche con un materiale solo, ma dovrai usare due shader Livello 'gemelli' diciamo, uno sarà nel canale Colore e l'altro nel canale Alpha. Con xpresso poi potrai controllare l'accensione dei vari strati contenuti nello shader Livello. Appena rientro ti posto un esempio!
Immagine
๏_www.visualtricks.it_๏ .:: COMPUTER SAYS NO ::.
Avatar utente
visualtricks
Moderatore
Messaggi: 3565
Iscritto il: gio set 23, 2004 5:13 pm
Località: Pistoia

Re: Materiale con livelli e alpha

Messaggio da visualtricks »

Ti ho fatto un esempio veloce. Per la parte di xpresso ho usato un nodo Python perchè è più veloce, ma volendo puoi raggiungere lo stesso risultato con svariati nodi Condition.
Per quanto riguarda l'interfaccia, puoi controllare tutto tramite un Userdata di tipo Integer, per il quale esistono varie configurazioni. Puoi accedere ai suoi parametri selezionando l'oggetto nullo ("omino") e dal pannello attributi cliccare su UserData -> Manage Userdata.
Allegati
facce.zip
(770.48 KiB) Scaricato 82 volte
Untitled-3.jpg
Immagine
๏_www.visualtricks.it_๏ .:: COMPUTER SAYS NO ::.
Avatar utente
MelazECProd
Messaggi: 26
Iscritto il: gio set 26, 2013 12:52 pm
Località: Torino

Re: Materiale con livelli e alpha

Messaggio da MelazECProd »

Perfetto!!!! Grazie \m/

Io adesso, per quanto riguarda Xpresso ho provato il metodo con Condizione. Ho anche risolto la storia del Pop Up con un tutorial, ma grazie comunque :)
Ho provato con Materiali differenti... però se ho capito bene, per fare la storia con Livelli e Alpha dovrei utilizzare tanti nodi Condizione? Perchè io per due Materiali ne ho utilizzato uno solo (aggiungendo il numero di Input che mi servono).

Con Python (e programmazione in generale) sono un po' una schiappa xD Però da quel che vedo non mi sembra una roba troppo trascendentale, se mi basta che utilizzo il tuo script, semplicemente aggiungendo stringhe per il numero di facce che mi servono...

Un dubbio sui blocchi Color e Alpha: che tipo di espressione è?
Hardware:
Intel Core 2 Quad Q9300 2.50Ghz
Asus P5K3 Deluxe Wi-Fi/AP Edition
Corsair XMS3 8GB DDR3 1333Mhz
Sapphire Radeon HD 7850 1Gb GDDR5
Avatar utente
visualtricks
Moderatore
Messaggi: 3565
Iscritto il: gio set 23, 2004 5:13 pm
Località: Pistoia

Re: Materiale con livelli e alpha

Messaggio da visualtricks »

i nodi Condition partono di default con due 'stati' quindi per due materiali te ne bastano due, se inizi ad aumentare devi aggiungere stati e di conseguenza aggiungere altri nodi condition...è un bel po' più laborioso. Con python come hai intuito basta aggiungere tante righe (e tanti output) quante sono le espressioni. I nodi Espressioni_color e Espressioni_Alpha sono solo gli shader Livello che ho usato nel materiale.

Cmq ti conviene scaricare il file che ti ho postato (è lo zip sopra l'immagine), così vedi meglio.


Edit: ho detto na ca**ata, se usi materiali diversi puoi fare anche con un Condition solo. Il mio esempio si riferisce alla domanda originale per fare tutto con un solo materiale.
Immagine
๏_www.visualtricks.it_๏ .:: COMPUTER SAYS NO ::.
Avatar utente
MelazECProd
Messaggi: 26
Iscritto il: gio set 26, 2013 12:52 pm
Località: Torino

Re: Materiale con livelli e alpha

Messaggio da MelazECProd »

Me lo ero perso ahahahaha scusa, adesso ci dò un'occhiata e provo

Grazie mille ;)
Hardware:
Intel Core 2 Quad Q9300 2.50Ghz
Asus P5K3 Deluxe Wi-Fi/AP Edition
Corsair XMS3 8GB DDR3 1333Mhz
Sapphire Radeon HD 7850 1Gb GDDR5
Avatar utente
MelazECProd
Messaggi: 26
Iscritto il: gio set 26, 2013 12:52 pm
Località: Torino

Re: Materiale con livelli e alpha

Messaggio da MelazECProd »

Ok, sono riuscito a capire come creare un PSD, impostare i vari livelli sul Materiale ecc...
Ora stavo provando con Xpresso, però mi sono bloccato sul nodo Phyton... te hai impostato 3 output "Reali" (che poi hai rinominato come le costanti (?) nello script...). Il problema è che di default il nodo Phyton ha un solo output Reale, ma non riesco a metterne altri della stessa categoria, perchè nella lista non c'è "Reale" (o Real in inglese) e non riesce nemmeno a copiare l'output di default...
So che sarà una cavolata, ma ho cercato un po' in giro e non ho risolto niente :-((
Hardware:
Intel Core 2 Quad Q9300 2.50Ghz
Asus P5K3 Deluxe Wi-Fi/AP Edition
Corsair XMS3 8GB DDR3 1333Mhz
Sapphire Radeon HD 7850 1Gb GDDR5
Avatar utente
visualtricks
Moderatore
Messaggi: 3565
Iscritto il: gio set 23, 2004 5:13 pm
Località: Pistoia

Re: Materiale con livelli e alpha

Messaggio da visualtricks »

metti un output di tipo Float (non so com'è in italiano), potresti usare anche un Boole o Integer, basta che possa assumere i valori 0 e 1. Nello script ogni Output va dichiarato all'inizio come Variabile Globale (global output1, output2, ecc) altrimenti il nodo non funziona. I nomi delle porte ovviamente devono coincidere con quelli dichiarati nello script.
Immagine
๏_www.visualtricks.it_๏ .:: COMPUTER SAYS NO ::.
  • Advertising
Rispondi