メッシュの使用¶
メッシュは、面が平面、辺が直線、頂点を結ぶ面が三角形である 3D 固体の形を定義する頂点、辺、面からなるコレクションです。
メッシュは、それぞれが独自のマテリアルを持つ三角形のクラスターを多数持つことができます。
プリミティブメッシュの使用¶
Kanzi Studio では、プリミティブメッシュを作成できます。Kanzi は一連のパラメータからプリミティブメッシュを作成し、インポートされたメッシュを頂点バッファに格納します。これらのプリミティブの主な目的は、プロトタイピングに使用することです。プリミティブメッシュは常に1つのクラスターしか持たず、したがって1つのマテリアルしか持ちません。
これらのプリミティブメッシュは Kanzi Studio で利用可能です。
Box は、その原点に中心を持つキューブメッシュです。
Plane は、原点に中心を持つ4つの頂点を持つ充填された平面メッシュです。
Sphere は原点に中心を持つ球体メッシュです。
Kanzi Engine APIを使用すると、コーンメッシュも作成できます。Kanzi Engine C++ APIリファレンスで、generateCone を参照してください。
球メッシュのテッセレーションタイプを設定する¶
これらの球体テッセレーションタイプは、Kanzi で利用可能です。
UV Sphere は、極に三角形のファンがあり、他の部分には四角形の面があります。これは Kanzi でのデフォルトの球体タイプです。
Icosphere は三角形で構成された多面体の球体です。イコスフィアはすべての方向において均一です。
Quad Sphere は、球体に投影された四角形で構成される分割ボックスです。
球体メッシュのテッセレーションタイプを設定するには、Sphere ノードを選択し、Properties で Sphere Type プロパティの値を設定します。
ヒント
メッシュのジオメトリを表示するには、Preview で:
をクリックして、Analyze モードに入ります。
を右クリックして、Wireframe を選択します。
プリミティブメッシュのテッセレーションレベルを設定する¶
テッセレーションは、オブジェクトを表す頂点セットを三角形または四角形に分割します。テッセレーションを使用すると、メッシュとカメラの距離などの要因に応じて、メッシュの詳細を追加または削除できます。たとえば、遠くにあるメッシュには低いテッセレーションレベルを使用できます。
Subdivisions プロパティを使用して、プリミティブメッシュのテッセレーションレベルを設定します。Subdivisions プロパティの値を増やすと、メッシュ内のジオメトリの量が二次的に増加します。
これらの画像は、UV Sphere タイプの Sphere ノードを、Subdivisions プロパティの異なる値でレンダリングした結果を示しています。デフォルトの値は6です。
これらの画像は、Plane ノードを示しており、VertexPhongMaterial マテリアルを使用し、赤と青のスポットライトで照らされています。Subdivisions プロパティの異なる値を持っています。各サブディビジョンは、平面のタイル数を二次的に増加させます: \(tiles = (subdivisions + 1)^2\)。
0 サブディビジョン、1 タイル: |
10サブディビジョン、121タイル: |
100サブディビジョン、10201タイル: |
|
|
|
プリミティブメッシュに法線マップテクスチャをレンダリングする¶
法線マップテクスチャを持つマテリアルをプリミティブメッシュで使用するには、プリミティブメッシュノードを選択し、Properties で Generate Tangents プロパティを有効にします。
インポートされたメッシュを使用する¶
Kanzi Studio に、サードパーティツールで作成したメッシュをインポートできます。
Kanzi アプリケーションにインポートされたメッシュを表示するには、Model ノードを使用します。
3Dアセットのインポート を参照してください。
メッシュを Kanzi Studio プロジェクトにインポートした後、Kanzi Studio はそれらのメッシュを Library > Meshes に保存します。Kanzi Studio は、メッシュを含むファイルを Library > Resource Files > 3D Assets に表示します。3D アセット (3D Assets) を参照してください。
Kanzi は、メッシュが必要なときにのみメッシュデータをメモリにロードします。ロードされたデータを変更すると、Kanzi はメッシュに加えた変更を保存します。
Kanzi Studio では、インポートしたメッシュのみのメッシュデータを確認できます。プリミティブメッシュのパラメータは、それぞれのメッシュのプロパティで指定されています。
Kanzi はメッシュで32ビットインデックスをサポートします。
属性マッピング¶
属性マッピングは、ジオメトリをレンダリングする際にメッシュの頂点バッファ内の属性がどのように処理されるかを指定するメッシュプロパティです。属性マッピングは、シェーダー属性を頂点バッファ属性にマッピングします。属性は通常、頂点属性のセマンティクスを使用して自動的に推測されます。例えば、頂点バッファの位置属性は、使用されるシェーダーの位置属性にマッピングされます。シェーダー属性 を参照してください。
1つのメッシュに複数のテクスチャを使用する場合、頂点バッファ内のどのテクスチャ座標属性がどのシェーダー属性にマップされるかを手動で設定する必要があります。
Mesh プロパティタイプ¶
メッシュに利用可能なプロパティタイプの一覧については、メッシュ (Mesh) を参照してください。
プリミティブメッシュプロパティタイプとメッセージ¶
使用可能なプロパティタイプとプリミティブメッシュノードのメッセージのリストについては、以下を参照してください:
関連項目¶
Kanzi Engine APIを使用してメッシュを作成する