Ställ in normalvärden eller UV på kuben och Lägg till material till 3D Enheter

Skapa normala vektorer

För att ha en bra visuell utseende på belysning, måste vi specificera normaler information för varje vertex, att ha en bättre detaljer, vi kan också använda normal och diffus karta (säkra att du kan använda skugg/spekular karta) för att utföra per-pixel normal/färg. En pervertex-information som normal eller vertex färg uppnås av VertexElement. I Aspose. 3D kan vi kartlägga extra information till kontrollpunkter/polygon vertex/polygon/kant, ett prov för att definiera normaler för vertex:

De 8 normala vektorerna är mappade till 8 styrpunkter direkt, i nästa exempel, kommer vi att demonstrera lite mer komplext scenario.

Skapa UV- koordinater

Här har vi endast definierat 4 UV-koordinater, men tillämpade dem till 24 polygon hörn (6 face * 4 vertex per polygon) genom att använda index. Aspose.3D tillhandahåller 5 kartläggningslägen:

  • CONTROL_POINT - Varje data mappas till geometriens styrpunkt.
  • POLYGON_VERTEX - Uppgifterna är mappade till polygonens vertex.
  • POLYGON - Uppgifterna är mappade till polygonen.
  • EDGE - Uppgifterna är mappade till kanten.
  • ALL_SAME - en data mappad till hela geometrin.

Lägg till material till 3D Objekt

Aspose.3D for Python via .NET låter utvecklare använda skuggaalgoritm för exakt skuggning och markeringar. Phong har flera karta ingångar som vi kan använda för att dölja effekten till noden. Fysiskt baserad rendering (PBR) tar hänsyn till vissa fysiska egenskaper hos objekt, ett sådant tillvägagångssätt ger utseendet av material som i den verkliga världen.

Phong Material med textur för kub

När UV-koordinaterna är färdiga att använda, kan vi applicera en textur på ytan av nät med hjälp av material. Endast vertex färg kan inte beskriva ytans detaljer, det är vad material används för. Här är ett exempel för att bifoga ett Phong-material till kubennoden:

Vi specificerade den diffusa texturkartläggningen, och en spekulär färg med en lysande parameter.

Applicera fysiskt baserat renderingsmaterial (PBR) på en låd

PBR spelar en nyckelroll för spelmotorns visuella, med sin effektiva och realistiska återgivning av växelverkan mellan ljus och yta genom att dämpa ljusstyrkan och spridning av reflekterat ljus. .. Utvecklare kan använda Aspose.3D API för att applicera PBR-material på 3D-objekt i en scen. Detta kodexempel visar hur man skapar ett Box-objekt och sedan tillämpar PBR-materialet.

.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)