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 VertexElementProperties
VertexElement
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
vertex_element_type | VertexElementType | Read | Ennek a rétegnek a szemantikai típusa (pl., NORMAL, UV, VERTEX_COLOR). |
name | str | Read/Write | Opcionális név ehhez a réteghez. |
mapping_mode | MappingMode | Read/Write | Szabályozza, hogy melyik geometriai primitívhez van társítva az egyes adatérték. |
reference_mode | ReferenceMode | Read/Write | Szabályozza, hogy az értékek közvetlenül vagy egy index tömbön keresztül legyenek elérhetők. |
indices | list[int] | Read | Index tömb, amely akkor használatos, amikor reference_mode van INDEX_TO_DIRECT. |
data | list[FVector4] | olvas | Nyers adatértékek tárolva mint FVector4 bejegyzések (elérhetők VertexElementFVector leszármazottak). |
Properties
| Properties | Properties | Properties |
|---|---|---|
set_data(data) | None | Cseré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) | None | Cserélje le az index tömböt egy egész számok listájára. |
clear() | None | Távolítsa el az összes adatértéket és indexet a rétegből. |
copy_to(target) | None | Má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 VertexElementNormalProperties
VertexElement → VertexElementFVector → VertexElementNormal
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 VertexElementUVProperties
VertexElement → VertexElementFVector → VertexElementUV
Properties
VertexElementUV(texture_mapping=None, name="", mapping_mode=None, reference_mode=None)| Properties | Properties | Properties |
|---|---|---|
texture_mapping | TextureMapping | Az a textúra csatorna, amelyet ez az UV réteg szolgál. Alapértelmezett: TextureMapping.DIFFUSE. |
Csomag: aspose.threed.shading (aspose-3d-foss)
| Properties | Properties | Properties | Properties |
|---|---|---|---|
texture_mapping | TextureMapping | olvas | Az 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 VertexElementVertexColorProperties
VertexElement → VertexElementFVector → VertexElementVertexColor
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 VertexElementTangentProperties
VertexElement → VertexElementFVector → VertexElementTangent
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 VertexElementBinormalProperties
VertexElement → VertexElementFVector → VertexElementBinormal
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 VertexElementSmoothingGroupProperties
VertexElement → VertexElementIntsTemplate → VertexElementSmoothingGroup
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| Properties | Properties |
|---|---|
NORMAL | Felületi normálvektorok. |
UV | Textúra UV koordináták. |
VERTEX_COLOR | Csúcsonkénti RGBA szín. |
TANGENT | Tangens vektorok a normálleképezéshez. |
BINORMAL | Binormál (bitangens) vektorok. |
SMOOTHING_GROUP | Polygontól függő simítási csoport egész azonosítók. |
MATERIAL | Polygontól függő anyag index. |
POLYGON_GROUP | Poligon csoportosítási index. |
VERTEX_CREASE | Alosztályozási csúcs redő súlyok. |
EDGE_CREASE | Alosztályozási él redő súlyok. |
USER_DATA | Tetszőleges felhasználó által definiált adatok. |
VISIBILITY | Elemekenkénti láthatósági jelzők. |
SPECULAR | Speculáris szín vagy intenzitás. |
WEIGHT | Keverési súlyok a skinninghez. |
HOLE | Poligon 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| Properties | Properties |
|---|---|
CONTROL_POINT | Egy érték minden vezérlőpont (csúcs) számára. |
POLYGON_VERTEX | Egy érték minden sokszög sarkához (felület-csúcs). |
POLYGON | Egy érték minden sokszöghez. |
EDGE | Egy érték minden élhez. |
ALL_SAME | Egyetlen é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| Properties | Properties |
|---|---|
DIRECT | Az adatot sorban érjük el külön index tömb nélkül. |
INDEX | Az adatot egy külön index tömbön keresztül érjük el. |
INDEX_TO_DIRECT | Az 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")