Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il Physically Based Rendering, o PBR, simula come i materiali reagirebbero a un comportamento realistico della luce. Alcune proprietà metalliche proietteranno riflessi e la luce si piegherà e rifrangerà attraverso diversi tipi di vetro.
In questa guida scoprirai alcuni dei flussi di lavoro di base per la progettazione di texture PBR in Minecraft: Bedrock Edition. Creerai una serie di texture che mostrano ogni nuovo tipo di mappa delle texture.
Alla fine di questa guida, avrai appreso:
- Quali sono le nuove mappe delle texture disponibili per le texture in Minecraft.
- Come creare un set di texture specchio usando mappe di ruvidità e metalliche.
Requisiti
Dovrai completare i seguenti tutorial:
- Introduzione ai pacchetti di risorse
- Un pacchetto di risorse con una configurazione della struttura di cartelle
textures/blocks.
Mentre le texture saranno fornite, dovrai disporre di un software di pittura digitale con dei livelli per creare le tue texture.
Che cosa rende tale una texture PBR?
Le texture utilizzano un metodo comune di rendering chiamato Mappatura delle texture. Le mappe di texture consentono ai creatori di stratificare più immagini per creare oggetti 3D altamente dettagliati. Le texture di Minecraft di base usano una singola mappa chiamata colore. Le mappe di colore sono composte da quattro canali di colore: Red, Blue, Green e Alpha (conosciuti collettivamente come RGBA). I primi tre canali controllano come la texture verrà renderizzata, mentre alpha controlla la trasparenza della texture.
Con l'introduzione del PBR in Minecraft, le texture possono ora utilizzare cinque mappe aggiuntive per aiutare i creatori a creare materiali realistici.
Ogni mappa sarà parte della texture impostata per il blocco, ognuna stratificata sopra l'altra per impostare diversi valori nella texture. Questo processo consente a un creatore di avere un forte controllo su come un blocco verrà renderizzato al momento del posizionamento nel mondo.
Importante
Non tutti i set di texture PBR richiedono tutte le mappe. Se le mappe vengono lasciate vuote, la texture impostata userà il valore predefinito.
Mappa metallica
Una mappa metallica è una texture in scala di grigi che determina quali aree di una mappa di texture hanno un aspetto metallico.
- Un pixel impostato sul nero è considerato un valore pari a
0e il pixel non è metallico. Erba, terra o corteccia d'albero sono esempi di oggetti non metallici. - Un pixel impostato sul bianco è considerato un valore pari a
1e tratterà il pixel come metallo al 100%. Ferro, oro o rame sono esempi di oggetti metallici.
L'immagine precedente utilizza il seguente mer:
Mappa emissiva
Una mappa emissiva è una texture in scala di grigi che determina quali aree di una mappa di texture emettono luce.
- Un pixel impostato sul nero è considerato un valore pari a
0e non è luminoso. - Un pixel impostato sul bianco è considerato un valore pari a
1e ha il massimo della luminosità. - Poiché la mappa è in scala di grigi, puoi impostare valori compresi tra
0e1.
L'immagine precedente utilizza il seguente mer:
Mappa di ruvidità
Una mappa di ruvidità è una texture in scala di grigi che determina quali aree di una mappa texture emettono luce.
- Un pixel impostato sul nero è considerato un valore pari a
0e tratterà il pixel come molto liscio. Oggetti come il marmo, il vetro o la plastica sono molto lisci. - Un pixel impostato sul bianco è considerato un valore pari a
1e tratterà il pixel come molto ruvido. Mattoni, corteccia d'albero o pietre sono molto ruvidi. - Poiché la mappa è in scala di grigi, puoi impostare valori compresi tra
0e1.
L'immagine precedente utilizza il seguente mer:
Mappa normale
Una mappa normale è una texture RGB che controlla la profondità e come si comporta la luce quando un raggio di luce colpisce la texture.
- Poiché le mappe normali utilizzano RGB, puoi creare dettagli di superficie che conferiscono alla texture l'aspetto di un oggetto 3D scolpito.
- Impostando i valori RGB rispettivamente su
128,128,255si otterrà un aspetto piatto del pixel.
Attenzione
A meno che tu non abbia avuto precedenti esperienze con la creazione di mappe normali, si raccomanda di non creare mappe normali a mano. Sono disponibili software di terze parti per assistere nella creazione di mappe normali.
Heightmap
Una heightmap è una texture in scala di grigi che controlla la profondità di una texture. Le heightmap sono un'alternativa alle mappe normali, ma non sono così efficienti e non possono rappresentare così tante texture.
- Un pixel impostato sul nero è considerato un valore pari a
0e causerà l'estrusione del pixel verso l'interno. - Un pixel impostato sul bianco è considerato un valore pari a
1e causerà l'estrusione del pixel verso l'esterno. - Un pixel impostato su
0.5è considerato l'altezza predefinita e non comporterà l'estrusione all'interno o all'esterno.
L'immagine precedente utilizza la seguente heightmap:
Creare uno specchio
Creiamo una texture specchio per un blocco di vetro base esistente creando un file JSON del set di texture e utilizzando un file texture fornito.
Creare un file JSON del set di texture
Affinché il set di texture funzioni correttamente, è necessario definire un file JSON per caricare le texture. Questo tutorial è un esempio di specchio che funziona con il blocco iron_block.
Suggerimento
Per saperne di più sui set di texture, fare riferimento a Documentazione sui set di texture - Introduzione ai set di texture.
- Nel tuo pacchetto dei comportamenti vai alla cartella
textures/blocks. - Crea una nuovo file .JSON e denominalo
iron_block.texture_set.json. - Fai doppio clic su
iron_block.texture_set.jsonper modificare i contenuti. - Copia il seguente esempio.
iron_block.texture_set.json
{
"format_version": "1.16.100",
"minecraft:texture_set": {
"color": "iron_block",
"metalness_emissive_roughness": "iron_block_mer",
}
- Salva e chiudi il file.
Con il file JSON configurato, puoi ora configurare le texture per il valore color e il valore metalness_emissive_roughness.
Aggiungere la funzionalità ray tracing
Il file manifest.json per il pacchetto richiede che il valore "raytraced" sia aggiunto in una sezione capabilities sotto le sezioni esistenti header e modules.
{
"format_version": 1,
"header": {
"name": "RTX Sample Resources",
"description": "",
"uuid": "58d4560c-106d-4b0c-9847-eee47417fb05",
"min_engine_version": [1, 12, 0],
"version": [1, 0, 0]
},
"modules": [
{
"description": "",
"type": "resources",
"uuid": "2d3df25b-856a-406d-9a57-c87b9a4d7af8",
"version": [0, 0, 1]
}
],
"capabilities" : [
"raytraced"
]
}
Aggiungere le texture
Per creare uno specchio in un flusso di lavoro PBR, è necessaria una mappa di ruvidità e una mappa di metallizzazione.
Una mappa di ruvidità con un valore di 0.0, o nero solido, creerà una superficie liscia su cui la luce si rifletterà.
Una mappa di metallizzazione configurata su un valore di 1.0, o bianco solido, renderà il blocco come metallo riflettente.
Con questo specchio configurato, il motore Render Dragon sarà in grado di eseguire il ray tracing in minor tempo per gestire i calcoli per questi oggetti.
Texture del colore principale: iron_block.png
Texture PBR: iron_block_mer.png
- Salva i file
iron_block.pngeiron_block_mer.png. - Copia e incolla entrambi i file .png nella cartella
textures/blocks.
Eseguire il pacchetto texture
Con il file JSON configurato correttamente ed entrambe le texture in posizione, ora puoi caricare il tuo pacchetto texture per testarlo in Minecraft.
E adesso?
Tutorial sul Physically Based Rendering
Hai creato uno specchio con mappe di ruvidità e metallizzazione. Ora puoi dare un'occhiata alla prossima parte di questa guida che illustra come creare texture personalizzate per creare il tuo set di texture.
Nebbia nelle risorse
Insieme al ray tracing, in Minecraft è stata aggiornata la nebbia per utilizzare una struttura JSON simile che ti permette di creare e controllarne l'aspetto nel gioco.