Imposta normali o UV sul cubo e aggiungi materiale a 3D entità
Mesh
viene utilizzato nel codice. Possiamo Creare un oggetto di classe Mesh
come narrato lì e quindi puntare il nodo alla geometria Mesh di Creazione di una scena 3D.
Creare vettori normali
Per avere un buon aspetto visivo sull’illuminazione, dobbiamo specificare le informazioni normali per ogni vertice, per avere dettagli migliori, possiamo anche usare la mappa normale e diffusa (certo che puoi usare la mappa ombra/speculare) per eseguire per pixel normale/colore. Un’informazione per vertice come il colore normale o del vertice viene ottenuta da VertexElement
. In Aspose.3D possiamo mappare informazioni extra per controllare punti/vertice poligono/poligono/bordo, un campione per definire normali per vertice:
Gli 8 vettori normali sono mappati direttamente a 8 punti di controllo, nell’esempio successivo, dimostreremo uno scenario un po ‘più complesso.
Creare coordinate UV
Qui, abbiamo definito solo 4 coordinate UV, ma le abbiamo applicate a 24 vertici poligonali (6 vertici faccia * 4 per poligono) utilizzando indici. Aspose.3D fornisce 5 modalità di mappatura:
CONTROL_POINT
-ogni dato viene mappato al punto di controllo della geometria.POLYGON_VERTEX
-i dati sono mappati al vertice del poligono.POLYGON
-i dati sono mappati al poligono.EDGE
-i dati sono mappati al bordo.ALL_SAME
-un dato mappato all’intera geometria.
Aggiungi materiali agli oggetti 3D
Aspose.3D for Python via .NET consente agli sviluppatori di utilizzare l’algoritmo di ombreggiatura per ombreggiature e luci accurate. Il Phong ha diversi input di mappa che possiamo usare per mascherare l’effetto al nodo. Il rendering basato sulla fisica (PBR) tiene conto di alcune proprietà fisiche degli oggetti, un tale approccio fornisce l’aspetto dei materiali come nel mondo reale.
Materiale Phong con texture per il cubo
Quando le coordinate UV sono pronte per l’uso, possiamo applicare una texture sulla superficie della mesh utilizzando il materiale. Solo il colore dei vertici non può descrivere i dettagli della superficie, questo è ciò per cui i materiali utilizzati. Ecco un esempio per allegare un materiale Phong al nodo cubo:
Abbiamo specificato la mappatura della trama diffusa e un colore speculare con un parametro di lucentezza.
Applicare materiale di rendering basato sulla fisica (PBR) a una scatola
PBR gioca un ruolo chiave per le immagini del motore di gioco, con il suo rendering efficiente e realistico delle interazioni tra luce e superficie tramite l’attenuazione della luminosità e della dispersione della luce riflessa. Gli sviluppatori possono utilizzare Aspose.3D API per applicare materiale PBR a 3D oggetti in una scena. Questo esempio di codice mostra come creare un oggetto Box e quindi applicare il materiale PBR.
.NET, C#
import aspose.threed as a3d
# initialize a scene
scene = a3d.Scene()
# initialize PBR material object
mat = a3d.shading.PbrMaterial()
# an almost metal material
mat.metallic_factor = 0.9
# material surface is very rough
mat.roughness_factor = 0.9;
# create a box to which the material will be applied
boxNode = scene.root_node.create_child_node("box", a3d.entities.Box())
boxNode.material = mat
# save 3d scene into STL format
scene.save("PBR_Material_Box_Out.stl", a3d.FileFormat.STLASCII)