VertexElement — Aspose.3D FOSS for Java
패키지: com.aspose.threed (aspose-3d-foss 26.1.0)
VertexElement 은(는) 정점당(또는 폴리곤당, 엣지당) 데이터 레이어가 부착되는 추상 기본 클래스입니다 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());
}
}
}