VertexElement — Aspose.3D Python API Reference

Csomag: aspose.threed.entities (aspose-3d-foss 26.1.0)

VertexElement az absztrakt alaposztály minden csúcsra vonatkozó adatréteghez, amely csatolható egy Geometry objektumhoz. Minden réteg egy adatértékek tömbjét tárolja, valamint mapping_mode és reference_mode metaadatok, amelyek leírják, hogyan térképeződik az adat az alapul szolgáló geometriára. Az alosztályok a normálokra, UV koordinátákra, csúcs színekre, tangensekre, binormálokra és simítási csoportokra specializálódnak.


Properties

from aspose.threed.entities import VertexElement

Properties

VertexElement

Properties

PropertiesPropertiesPropertiesProperties
vertex_element_typeVertexElementTypeReadEnnek a rétegnek a szemantikai típusa (pl., NORMAL, UV, VERTEX_COLOR).
namestrRead/WriteOpcionális név ehhez a réteghez.
mapping_modeMappingModeRead/WriteSzabályozza, hogy melyik geometriai primitívhez van társítva az egyes adatérték.
reference_modeReferenceModeRead/WriteSzabályozza, hogy az értékek közvetlenül vagy egy index tömbön keresztül legyenek elérhetők.
indiceslist[int]ReadIndex tömb, amely akkor használatos, amikor reference_mode van INDEX_TO_DIRECT.
datalist[FVector4]olvasNyers adatértékek tárolva mint FVector4 bejegyzések (elérhetők VertexElementFVector leszármazottak).

Properties

PropertiesPropertiesProperties
set_data(data)NoneCserélje le az adat tömböt. Elfogadja list[FVector2], list[FVector3], vagy list[FVector4]; az értékek normalizálva vannak FVector4 belsőleg.
set_indices(data)NoneCserélje le az index tömböt egy egész számok listájára.
clear()NoneTávolítsa el az összes adatértéket és indexet a rétegből.
copy_to(target)NoneMásolja az adatokat és indexeket egy másik VertexElementFVector példányra.

VertexElementNormal

Felszíni normálvektorokat tárol. A normál adatot a renderelők általában a megvilágítási számításokhoz használják.

from aspose.threed.entities import VertexElementNormal

Properties

VertexElementVertexElementFVectorVertexElementNormal

Properties

VertexElementNormal(name="", mapping_mode=None, reference_mode=None)

vertex_element_type rögzítve van VertexElementType.NORMAL.


Visszatér: VertexElementUV

UV textúra koordinátákat tárol. Egy háló több UV réteget is tartalmazhat különböző textúra csatornákhoz.

from aspose.threed.entities import VertexElementUV

Properties

VertexElementVertexElementFVectorVertexElementUV

Properties

VertexElementUV(texture_mapping=None, name="", mapping_mode=None, reference_mode=None)
PropertiesPropertiesProperties
texture_mappingTextureMappingAz a textúra csatorna, amelyet ez az UV réteg szolgál. Alapértelmezett: TextureMapping.DIFFUSE.

Csomag: aspose.threed.shading (aspose-3d-foss)

PropertiesPropertiesPropertiesProperties
texture_mappingTextureMappingolvasAz a textúra csatorna, amelyhez ez az UV réteg kapcsolódik.

add_data(data)

UV koordináta adat hozzáfűzése. Elfogadja list[Vector2], list[Vector3], list[FVector2], list[FVector3], vagy list[FVector4]. Az összes érték belsőleg tárolva van mint FVector4 a nem használt komponensek beállítva 0.0.


VertexElementVertexColor

Csúcspontonkénti RGBA színértékeket tárol 0–1 tartományban.

from aspose.threed.entities import VertexElementVertexColor

Properties

VertexElementVertexElementFVectorVertexElementVertexColor

Properties

VertexElementVertexColor(name="", mapping_mode=None, reference_mode=None)

vertex_element_type rögzítve van VertexElementType.VERTEX_COLOR.


VertexElementTangent

Csúcspontonkénti vagy sarkonkénti tangent vektorokat tárol, amelyeket a normál térkép rendereléshez használnak.

from aspose.threed.entities import VertexElementTangent

Properties

VertexElementVertexElementFVectorVertexElementTangent

vertex_element_type rögzítve van VertexElementType.TANGENT.


VertexElementBinormal

Tárolja a csúcsonkénti vagy sarokonkénti binormál (bitangent) vektorokat, kiegészítve VertexElementTangent a tangens-térbeli normálleképezéshez.

from aspose.threed.entities import VertexElementBinormal

Properties

VertexElementVertexElementFVectorVertexElementBinormal

vertex_element_type rögzítve van VertexElementType.BINORMAL.


VertexElementSmoothingGroup

Tárolja polygontól függő egész simítási csoport azonosítókat. OBJ fájlokból töltve, amelyek tartalmazzák s deklarációkat.

from aspose.threed.entities import VertexElementSmoothingGroup

Properties

VertexElementVertexElementIntsTemplateVertexElementSmoothingGroup

vertex_element_type rögzítve van VertexElementType.SMOOTHING_GROUP.


VertexElementType felsorolás

Azonosítja egy csúcselem réteg szemantikai szerepét.

from aspose.threed.entities import VertexElementType
PropertiesProperties
NORMALFelületi normálvektorok.
UVTextúra UV koordináták.
VERTEX_COLORCsúcsonkénti RGBA szín.
TANGENTTangens vektorok a normálleképezéshez.
BINORMALBinormál (bitangens) vektorok.
SMOOTHING_GROUPPolygontól függő simítási csoport egész azonosítók.
MATERIALPolygontól függő anyag index.
POLYGON_GROUPPoligon csoportosítási index.
VERTEX_CREASEAlosztályozási csúcs redő súlyok.
EDGE_CREASEAlosztályozási él redő súlyok.
USER_DATATetszőleges felhasználó által definiált adatok.
VISIBILITYElemekenkénti láthatósági jelzők.
SPECULARSpeculáris szín vagy intenzitás.
WEIGHTKeverési súlyok a skinninghez.
HOLEPoligon lyuk jelzők.

MappingMode felsorolás

Megjegyzés: az OBJ export (canExport: false) nem teljesen támogatott ebben a könyvtárverzióban. Az OBJ formátumba való mentés megkísérlése hibát eredményezhet, amely nem támogatott műveletet jelez.

from aspose.threed.entities import MappingMode
PropertiesProperties
CONTROL_POINTEgy érték minden vezérlőpont (csúcs) számára.
POLYGON_VERTEXEgy érték minden sokszög sarkához (felület-csúcs).
POLYGONEgy érték minden sokszöghez.
EDGEEgy érték minden élhez.
ALL_SAMEEgyetlen érték vonatkozik az egész hálóra.

ReferenceMode felsorolás

Szabályozza, hogyan indexelik az adat tömböt.

from aspose.threed.entities import ReferenceMode
PropertiesProperties
DIRECTAz adatot sorban érjük el külön index tömb nélkül.
INDEXAz adatot egy külön index tömbön keresztül érjük el.
INDEX_TO_DIRECTAz index tömb minden leképező primitívet egy pozícióra térképez az adat tömbben.

Properties

Normál réteg csatolása a hálóhoz (DIRECT leképezés):

from aspose.threed import Scene
from aspose.threed.entities import Mesh, VertexElementType, MappingMode, ReferenceMode, VertexElementNormal
from aspose.threed.utilities import Vector4, FVector4

mesh = Mesh()
mesh.control_points.append(Vector4(0.0, 0.0, 0.0, 1.0))
mesh.control_points.append(Vector4(1.0, 0.0, 0.0, 1.0))
mesh.control_points.append(Vector4(0.5, 1.0, 0.0, 1.0))
mesh.create_polygon(0, 1, 2)

normals: VertexElementNormal = mesh.create_element(
    VertexElementType.NORMAL,
    MappingMode.CONTROL_POINT,
    ReferenceMode.DIRECT,
)
normals.set_data([
    FVector4(0.0, 0.0, 1.0, 0.0),
    FVector4(0.0, 0.0, 1.0, 0.0),
    FVector4(0.0, 0.0, 1.0, 0.0),
])

scene = Scene()
scene.root_node.create_child_node("tri", mesh)
scene.save("triangle_normals.glb")

UV koordináták csatolása (INDEX_TO_DIRECT leképezés):

from aspose.threed import Scene
from aspose.threed.entities import Mesh, TextureMapping, MappingMode, ReferenceMode
from aspose.threed.utilities import Vector4, FVector4

mesh = Mesh()
for x, z in [(0, 0), (1, 0), (1, 1), (0, 1)]:
    mesh.control_points.append(Vector4(float(x), 0.0, float(z), 1.0))
mesh.create_polygon(0, 1, 2, 3)

uv = mesh.create_element_uv(
    TextureMapping.DIFFUSE,
    MappingMode.POLYGON_VERTEX,
    ReferenceMode.INDEX_TO_DIRECT,
)
uv.set_data([
    FVector4(0.0, 0.0, 0.0, 0.0),
    FVector4(1.0, 0.0, 0.0, 0.0),
    FVector4(1.0, 1.0, 0.0, 0.0),
    FVector4(0.0, 1.0, 0.0, 0.0),
])
uv.set_indices([0, 1, 2, 3])

scene = Scene()
scene.root_node.create_child_node("quad", mesh)
scene.save("quad_uv.glb")

Lásd még

 Magyar