VertexElement — Aspose.3D FOSS for Java
包:: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement 是用于附加到 a 的每顶点(或每多边形、每边)数据层的抽象基类 Mesh.每个子类存储一种特定的几何属性——法线、UV 坐标、顶点颜色或平滑组。.
Example
Example
| Example | Example | Example | Example | Example |
|---|---|---|---|---|
vertexElementType | VertexElementType | getVertexElementType() | – | 此元素的语义类型(只读)。. |
mappingMode | MappingMode | getMappingMode() | setMappingMode(MappingMode) | 控制每个值映射到哪个基元。. |
referenceMode | ReferenceMode | getReferenceMode() | setReferenceMode(ReferenceMode) | 控制值的索引方式。. |
indices | List<Integer> | getIndices() | – | 索引数组(在引用模式为 INDEX_TO_DIRECT). |
name | String | getName() | setName(String) | 此顶点元素层的可选名称。. |
VertexElementNormal
根据, 为每个顶点或每个多边形角存储一个法向量。 getMappingMode(). 数据值为 Vector4 实例具有 w 未使用。.
import com.aspose.threed.*;
VertexElement normals = mesh.createElement(
VertexElementType.NORMAL,
MappingMode.CONTROL_POINT,
ReferenceMode.DIRECT
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | 法线向量。该 w 组件未使用(通常 0.0). |
返回:VertexElementUV
存储纹理坐标对(Vector2)每个顶点或每个多边形角。网格可以携带多个 UV 层以用于不同的纹理通道。.
VertexElementUV uv = mesh.createElementUV(
TextureMapping.DIFFUSE,
MappingMode.POLYGON_VERTEX,
ReferenceMode.INDEX_TO_DIRECT
);Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector2> | getData() | UV 坐标对。. |
VertexElementVertexColor
存储每顶点或每角的 RGBA 颜色数据,形式为 Vector4 (r、g、b、a 的范围在 0–1 之间)。.
Example
| Example | Example | Example | Example |
|---|---|---|---|
data | List<Vector4> | getData() | RGBA 颜色值。. |
VertexElementType 枚举
标识顶点元素层的语义角色。.
import com.aspose.threed.*;| Example | Example |
|---|---|
NORMAL | 表面法线向量。. |
UV | 纹理 UV 坐标。. |
VERTEX_COLOR | 每顶点 RGBA 颜色。. |
TANGENT | 用于法线贴图的切线向量。. |
BINORMAL | 副法线(双切线)向量。. |
MATERIAL | 每多边形材质索引。. |
POLYGON_GROUP | 多边形分组索引。. |
VERTEX_CREASE | 细分顶点折痕权重。. |
EDGE_CREASE | 细分边缘折痕权重。. |
USER_DATA | 任意用户自定义数据。. |
VISIBILITY | 每元素可见性标志。. |
SPECULAR | 镜面颜色或强度。. |
WEIGHT | 用于蒙皮的混合权重。. |
HOLE | 多边形孔标志。. |
MappingMode 枚举
控制每个顶点元素值关联的几何基元。.
| Example | Example |
|---|---|
CONTROL_POINT | 每个控制点(顶点)一个值。. |
POLYGON_VERTEX | 每个多边形角(面-顶点)一个值。. |
POLYGON | 每个多边形一个值。. |
ReferenceMode 枚举
控制顶点元素数据数组的索引方式。.
| Example | Example |
|---|---|
DIRECT | 数据按顺序访问,无需单独的索引数组。. |
INDEX | 数据通过单独的索引数组访问。. |
INDEX_TO_DIRECT | 索引数组将每个映射基元映射到数据数组中的位置。. |
Example
import com.aspose.threed.Scene;
import com.aspose.threed.*;
Scene scene = Scene.fromFile("model.obj");
for (Node node : scene.getRootNode().getChildNodes()) {
if (node.getEntity() instanceof Mesh) {
Mesh mesh = (Mesh) node.getEntity();
for (VertexElement ve : mesh.getVertexElements()) {
System.out.println(" Element: " + ve.getVertexElementType()
+ " mapping=" + ve.getMappingMode()
+ " ref=" + ve.getReferenceMode());
}
}
}