Unity - Materiali e Shader
In questo capitolo impareremo brevemente i materiali e gli shader. Per capire meglio, creeremo un nuovo3D Projectinvece del nostro attuale 2D. Questo ci aiuterà a vedere i vari cambiamenti.
Dopo aver creato il nuovo progetto, vai alla Gerarchia e fai clic con il pulsante destro del mouse, quindi vai 3D Object → Cube. Questo creerà un nuovo cubo al centro della scena. Puoi guardarti intorno al cubo tenendo premuto il tasto destro e trascinando il mouse nella vista scena. È inoltre possibile ingrandire e rimpicciolire utilizzando la rotella di scorrimento.
Ora fai clic sul cubo e dai un'occhiata alle sue proprietà.
La proprietà più in basso sembra avere un materiale predefinito e un file Standard shader.
Cos'è un materiale?
In Unity (e in molti aspetti della modellazione 3D), a Materialè un file che contiene informazioni sull'illuminazione di un oggetto con quel materiale. Notare come una sfera grigia denota il materiale, con un po 'di luce proveniente dall'alto.
Ora, non confonderti con il nome; un materiale non ha nulla a che fare con la massa, le collisioni o anche la fisica in generale. Un materiale viene utilizzato per definire come l'illuminazione influisce su un oggetto con quel materiale.
Cerchiamo di creare il nostro materiale. Fare clic con il pulsante destro del mouse nella regione Risorse, andare aCreate → Material e dagli un nome, ad esempio "Il mio materiale".
Queste proprietà non assomigliano a nulla che abbiamo studiato finora. Questo perché si tratta di proprietà programmate inshader, non il materiale.
I materiali sono ciò che rende visibili i tuoi oggetti in primo luogo. Anche in 2D, infatti, utilizziamo un materiale speciale che non necessita anche di illuminazione. Ovviamente Unity lo genera e lo applica a tutto per noi, quindi non ci accorgiamo nemmeno che è lì.
Cos'è uno shader?
Uno shader è un programma che definisce come every single pixelviene disegnato sullo schermo. Gli shader non sono programmati in C # e nemmeno in un linguaggio OOPS. Sono programmati in un fileC-like linguaggio chiamato GLSL, che può dare istruzioni dirette alla GPU per un'elaborazione veloce.