VertexElement

VertexElement — Aspose.3D FOSS for Java

パッケージ: com.aspose.threed (aspose-3d-foss 26.1.0)

VertexElement は、頂点ごと(またはポリゴンごと、エッジごと)のデータレイヤーの抽象基底クラスで、~に付随します。 Mesh.各サブクラスは、法線、UV座標、頂点カラー、またはスムージンググループといった、特定の種類のジオメトリ属性を格納します。.


Example

Example

ExampleExampleExampleExampleExample
vertexElementTypeVertexElementTypegetVertexElementType()この要素のセマンティック型(読み取り専用)。.
mappingModeMappingModegetMappingMode()setMappingMode(MappingMode)各値がマッピングされるプリミティブを制御します。.
referenceModeReferenceModegetReferenceMode()setReferenceMode(ReferenceMode)値のインデックス方法を制御します。.
indicesList<Integer>getIndices()インデックス配列(参照モードが INDEX_TO_DIRECT).
nameStringgetName()setName(String)この頂点要素レイヤーのオプション名。.

VertexElementNormal

頂点ごとまたはポリゴンのコーナーごとに1つの法線ベクトルを格納します(…に応じて)。 getMappingMode().。 データ値は Vector4 インスタンスが w 未使用です。.

import com.aspose.threed.*;

VertexElement normals = mesh.createElement(
    VertexElementType.NORMAL,
    MappingMode.CONTROL_POINT,
    ReferenceMode.DIRECT
);

Example

ExampleExampleExampleExample
dataList<Vector4>getData()法線ベクトル。この w コンポーネントは未使用です(通常 0.0).

Returns: VertexElementUV

テクスチャ座標ペアを格納します(Vector2) 各頂点またはポリゴンのコーナーごとに。メッシュは異なるテクスチャチャンネル用に複数のUVレイヤーを持つことができます。.


VertexElementUV uv = mesh.createElementUV(
    TextureMapping.DIFFUSE,
    MappingMode.POLYGON_VERTEX,
    ReferenceMode.INDEX_TO_DIRECT
);

Example

ExampleExampleExampleExample
dataList<Vector2>getData()UV座標ペア。.

VertexElementVertexColor

各頂点またはコーナーごとのRGBAカラー データを次のように格納します Vector4 (r, g, b, a は 0〜1 の範囲です)。.

Example

ExampleExampleExampleExample
dataList<Vector4>getData()RGBAカラー値。.

VertexElementType 列挙体

頂点要素レイヤーの意味的役割を識別します。.

import com.aspose.threed.*;
ExampleExample
NORMAL表面法線ベクトル。.
UVテクスチャ UV座標。.
VERTEX_COLOR頂点ごとのRGBAカラー。.
TANGENT法線マッピング用タンジェントベクトル。.
BINORMALバイノーマル(ビタンジェント)ベクトル。.
MATERIALポリゴンごとのマテリアルインデックス。.
POLYGON_GROUPポリゴンのグループ化インデックス。.
VERTEX_CREASEサブディビジョン頂点クレース重み。.
EDGE_CREASEサブディビジョンエッジクレース重み。.
USER_DATA任意のユーザー定義データ。.
VISIBILITY要素ごとの可視性フラグ。.
SPECULARSpecularカラーまたは強度。.
WEIGHTスキニング用のブレンドウェイト。.
HOLEポリゴンの穴フラグ。.

MappingMode 列挙体

各頂点要素の値がどのジオメトリプリミティブに関連付けられるかを制御します。.

ExampleExample
CONTROL_POINT制御点(頂点)ごとに1つの値。.
POLYGON_VERTEXポリゴンのコーナー(フェイス頂点)ごとに1つの値。.
POLYGONポリゴンごとに1つの値。.

ReferenceMode 列挙体

頂点要素データ配列がどのようにインデックス付けされるかを制御します。.

ExampleExample
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());
        }
    }
}

参照

 日本語