Un materiale interattivo reagisce su una mesh quando si interseca o si trova in prossimità di un'altra mesh. Questo effetto si ottiene utilizzando un campo Distanza.
Di seguito sono riportati tre modi per creare un materiale reattivo:
Utilizzo della distanza per creare una maschera che cambia il colore di una mesh,
Utilizzo di un'onda sinusoidale per generare increspature sulla superficie della mesh nei punti in cui le due mesh si intersecano, e
Utilizzo di una maschera vettoriale per far sì che la superficie della mesh tiri verso un'altra mesh in prossimità e si sovrapponga alla mesh che si interseca.
Il nodo DistancetoNearestSurface funziona solo su piattaforme in cui sono abilitati i campi di distanza. Pertanto, il materiale potrebbe non funzionare come previsto su PC e dispositivi mobili a basse prestazioni. Questo perché il calcolo del campo di distanza può rappresentare un limite per le prestazioni, specialmente con campi ad alta risoluzione, o può risultare estremamente difficile a causa di anomalie presenti nelle mesh di input.
Ti suggeriamo quindi di utilizzare ShadingPathSwitch per forzare il funzionamento degli shader in DistancetoNearestSurface configurato con piattaforme mobili e PC a basse prestazioni.
Per prima cosa, inizia creando un materiale che cambia colore quando si interseca con un'altra mesh:
Crea un nuovo materiale in Esplora contenuti e fai due volte clic sulla miniatura del materiale per aprire l'Editor materiale.
Crea i nodi seguenti:
Nodo DistancetoNearestSurface
Nodo ShadingPathSwitch
Nodo Divisione
Nodo Saturazione
Nodo OneMinus
Nodo Tempo
Nodo Seno
Nodo Aggiungi
Nodo VertexNormalWS
Nodo Maschera
3 Nodi Moltiplicazione
Trascina il nodo DistancetoNearestSurface e collegalo all'input Predefinito sul nodo ShadingPathSwitch.
Seleziona il nodo Divisione e modifica il valore Input ConstB su 50.0. Questo determina la distanza tra gli oggetti per la realizzazione degli effetti.
Trascina il nodo Divisione e collegalo all'input Mobile su ShadingPathSwitch. Ciò garantisce che la maschera di sfumatura funzioni correttamente su tutte le piattaforme.
Trascina il nodo ShadingPathSwitch e collegalo al nodo Saturazione. In questo modo viene saturato il colore sulla mesh.
Trascina il nodo Saturazione e collegalo al nodo OneMinus. In questo modo gli shader sulla mesh vengono invertiti.
Trascina il nodo OneMinus e collegalo all'input Colore base del nodo radice del materiale.
Questo crea la base per la configurazione del campo di distanza con una rappresentazione matematica della distanza tra gli oggetti. Gli shader creano un effetto di mascheramento sulla mesh. Prova questa operazione su una mesh intersecando la mesh stessa con un'altra mesh per vedere come reagisce il materiale.
Nota come il materiale crea una linea attorno alla forma dell'automobile man mano che si avvicina.
Effetto increspatura
Ora crea la seconda configurazione del materiale reattivo:
Trascina il nodo Tempo e collegalo all'input B del nodo Aggiungi.
Trascina il nodo Aggiungi e collegalo al nodo Seno.
Trascina il nodo Seno e collegalo all'input B del primo nodo Moltiplicazione.
Seleziona ed espandi il nodo Seno e modifica il valore Periodo in 0.2.
Trascina il nodo OneMinus e collegalo all'input A del primo nodo Moltiplicazione.
Trascina il primo nodo Moltiplicazione e collegalo all'input Colore base del nodo radice del materiale. In questo modo viene interrotto il collegamento tra il nodo OneMinus e il nodo radice del materiale.
Questa configurazione applica il colore alla mesh ora reattiva, utilizzando la configurazione precedente del campo di distanza. Il materiale interagisce con l'ambiente e si intreccia intorno. Quando la mesh si interseca con un'altra mesh, il materiale provoca increspature lungo la superficie.
Questa configurazione viene utilizzata di solito per creare acqua.
Effetto inviluppo
Ora crea la terza configurazione del materiale reattivo:
Trascina il nodo OneMinus e collegalo all'input Colore base del nodo radice del materiale. In questo modo viene interrotto il collegamento tra il primo nodo Moltiplicazione e il nodo radice del materiale.
Trascina il nodo VertextNormalWS e collegalo al nodo Maschera.
Trascina il nodo Maschera e collegalo all'input A del secondo nodo Moltiplicazione.
Seleziona ed espandi il secondo nodo Moltiplicazione e modifica il valore di input B in 50.0.
Trascina il secondo nodo Moltiplicazione e collegalo all'input B del terzo nodo Moltiplicazione.
Trascina il nodo OneMinus dalla prima configurazione e collegalo all'input A del terzo nodo Moltiplicazione.
Trascina il terzo nodo Moltiplicazione e collegalo all'input Offset coordinate spaziali del nodo radice del materiale.
Ecco come dovrebbe apparire la seconda configurazione.
Nota come cambia il materiale nella finestra di anteprima per apparire appuntito. Quando viene applicata alla mesh, cambia anche la forma della mesh. Quando la mesh viene spostata più vicino all'automobile, il materiale fa sì che la mesh avvolga il veicolo.