テクスチャ付きマテリアルの作成

テクスチャ付きマテリアルを使用して、メッシュにテクスチャをレンダリングします。Kanzi では、次の方法でテクスチャ付きマテリアルを使用できます。

  • シングルテクスチャは、テクスチャに単一画像を使用します。

  • キューブマップテクスチャは、環境の反射を表現するために6つの正方形の画像を1つのテクスチャに結合します。各画像は、キューブマップされたオブジェクトの視点から見た場合のx、y、z軸に沿った6つの方向のうちの1つの風景を表します。

物理ベースのテクスチャードマテリアルは、マテリアルの外観を定義するために複数のテクスチャを使用します。物理ベースのテクスチャードマテリアルを作成する を参照してください。

テクスチャ付きマテリアルの作成

テクスチャ付きマテリアルを作成するには、以下のようにします。

  1. テクスチャを作成します。単一テクスチャの使用 を参照してください。

  2. Library > Materials and Textures > Materials で、テクスチャをサポートするマテリアルタイプを使用するマテリアルを選択します。例えば、以下の Kanzi マテリアルタイプはテクスチャのレンダリングをサポートしています。

    • Textured はテクスチャデータのみをレンダリングします。

    • ColorTexture は色付きのテクスチャデータのみをレンダリングします。

    • SmartVertexPhong は、頂点ベースの Phong シェーダーを使用する高パフォーマンスのマテリアルタイプです。

    • SmartFragmentPhong は、ピクセルベースの Phong シェーダーを使用する、高品質ですがパフォーマンスが低めのマテリアルタイプです。

    • SmartPhysicallyBased は物理ベースレンダリング (PBR) の原則を実装しています。物理ベースのテクスチャードマテリアルを作成する を参照してください。

    マテリアルタイプの使用 および スマートマテリアルを使用する を参照してください。

    例えば、TexturedMaterial を使用します。プロジェクトにそのマテリアルが含まれていない場合は、Library > Materials and Textures Alt を押しながら右クリック Material Types で、Textured を選択します。

    ../../_images/select-textured-material.png
  3. Properties で、Texture プロパティを使用したいマテリアルのテクスチャに設定します。

    ../../_images/set-texture-property.png
  4. Node Tree または Prefabs で、テクスチャドマテリアルを使用したいノードを選択します。Properties で、Material または Mesh Material プロパティをテクスチャドマテリアルに設定します。

    ../../_images/set-material-property.png ../../_images/preview-textured-material.png
  5. (オプション) テクスチャのタイリングを設定します。

    1. Library > Materials and Textures > Materials で、テクスチャドマテリアルを選択します。Properties で、Texture Tiling プロパティの X および Y プロパティフィールドを、x 軸および y 軸方向にテクスチャを表示したい回数に設定します。

      ../../_images/properties-texture-tiling.png ../../_images/preview-texture-tiling-clamp.png
    2. Texture Tiling プロパティフィールドを 1 より大きい値に設定した場合は、テクスチャドマテリアルを使用するノードに沿ってテクスチャが繰り返されるように設定します。

      Library > Materials and Textures > Textures で、テクスチャを選択します。Properties で、Wrap Mode プロパティを以下に設定します。

      • Repeat: テクスチャを繰り返します

      • Mirror: テクスチャを繰り返しますが、1 回おきに反転します

      ../../_images/properties-texture-wrap-mode.png ../../_images/preview-texture-tiling-repeat.png
  6. (オプション) Library > Materials and Textures > Materials で、テクスチャドマテリアルを選択します。Properties で、Texture Offset プロパティの X および Y プロパティフィールドを、テクスチャドマテリアルを使用するノードの表面でテクスチャをオフセットしたい量に設定します。

    ../../_images/properties-texture-offset.png ../../_images/preview-texture-offset.png

キューブマップテクスチャ付きマテリアルの作成

キューブマップテクスチャ付きマテリアルを作成するには、以下のようにします。

  1. キューブマップテクスチャを作成します。キューブマップテクスチャ (Cube-map Texture) を使用する を参照してください。

  2. Library > Materials and Textures > Materials で、キューブマップテクスチャをサポートするマテリアルタイプを使用するマテリアルを選択します。例えば、次の Kanzi マテリアルタイプはキューブマップテクスチャのレンダリングをサポートします。

    • SmartVertexPhong は、頂点ベースの Phong シェーダーを使用する高パフォーマンスのマテリアルタイプです。

    • SmartFragmentPhong は、ピクセルベースの Phong シェーダーを使用する、高品質ですがパフォーマンスが低めのマテリアルタイプです。

    • SmartPhysicallyBased は、物理ベースレンダリング (PBR) の原則を実装しています。

    マテリアルタイプの使用 および スマートマテリアルを使用する を参照してください。

    例えば、SmartVertexPhongMaterial を使用します。プロジェクトにこのマテリアルが含まれていない場合は、Library > Materials and Textures Alt を押しながら右クリック Material Types で、SmartVertexPhong を選択します。

    ../../_images/library-smart-vertex-phong-material.png
  3. Properties で、Material > TextureCube プロパティを追加し、マテリアルで使用したいキューブマップテクスチャに設定します。

    ../../_images/set-texturecube-property.png
  4. Node Tree または Prefabs で、キューブマップテクスチャを使用したマテリアルを適用したいノードを選択します。Properties で、Material または Mesh Material プロパティをキューブマップテクスチャを使用したマテリアルに設定します。

    ../../_images/set-material-property-cubemap.png
  5. (オプション) Library > Materials and Textures > Materials で、キューブマップテクスチャを使用したマテリアルを選択します。Properties で、Material > CubemapColor プロパティを追加し、キューブマップテクスチャの変調に使用したい色に設定します。

    ../../_images/library-smart-vertex-phong-material.png ../../_images/properties-cubemap-color.png

物理ベースのテクスチャードマテリアルを作成する

物理ベースのテクスチャ付きマテリアルを作成するには:

  1. テクスチャをサポートする物理ベースのマテリアルタイプを使用するか、作成してください。

    例えば、SmartPhysicallyBasedMaterial を使用します。プロジェクトにこのマテリアルが含まれていない場合は、Library > Materials and Textures Alt を押しながら右クリック Material Types で、SmartPhysicallyBased を選択します。

    SmartPhysicallyBasedMaterial マテリアルは、Kanzi のデフォルトの物理ベースシェーダーの機能の使用をサポートします。

    ../../_images/library-smart-physically-based-material.png
  2. マテリアルのメインテクスチャを設定するには、Properties で以下を追加して設定します。

    • Material > Base Color Texture を、マテリアルのベースカラーマップを含むテクスチャに設定

    • Base Color Factor を、Base Color Texture から値をフィルタリングするために使用したい色に設定します。

    ../../_images/properties-add-base-color-texture.png ../../_images/physically-based-textured-base-color.png
  3. マテリアルの粗さを設定するには、Properties で以下を追加して設定します。

    • Material > Roughness Texture を、粗さマップを含むテクスチャに設定

      Kanzi は、テクスチャの緑色チャンネルからラフネスマップを読み取ります。この同じテクスチャを使用して、メタリックマップとオクルージョンマップも設定できます。

    • Roughness Texture によって提供される値をスケールするための Roughness Factor:

      • 粗い拡散面の場合、プロパティ値を1に設定します。

      • 滑らかで光沢のある表面にするには、プロパティ値を0に設定します。

    ../../_images/physically-based-textured-roughness.png
  4. マテリアルの金属度を設定するには、Properties で以下を追加して設定します。

    • Material > Metallic Texture を、メタリックマップを含むテクスチャに設定

      Kanzi はテクスチャの青色チャンネルからメタリックマップを読み取ります。この同じテクスチャを使用して、ラフネスおよびオクルージョンマップも設定できます。

    • Metallic Texture によって提供される値をスケールするための Metallic Factor:

      • 金属の反射特性を完全に再現するマテリアルの場合、プロパティ値を1に設定します。

      • 誘電体材料の場合、プロパティ値を0に設定します。

    ../../_images/physically-based-textured-metallic.png
  5. マテリアルの法線マップを設定するには、Properties で以下を追加して設定します。

    • Material > Normal Texture を、法線マップを含むテクスチャに設定

    • Normal Scale は Normal Texture の強度を設定します。

    ../../_images/physically-based-textured-normal.png
  6. マテリアルのオクルージョンマップを設定するには、Properties で以下を追加して設定します。

    • Material > Occlusion Texture を、オクルージョンマップを含むテクスチャに設定

      オクルージョンマップは、表面のどの領域が間接照明を受けるかの情報を提供します。Kanzi は、テクスチャの赤色チャンネルからオクルージョンマップを読み取ります。この同じテクスチャを使用して、ラフネスおよびメタリックマップも設定できます。

    • Occlusion Strength は Occlusion Texture の強度を設定します。

    ../../_images/physically-based-textured-occlusion.png
  7. マテリアルが光を放出する領域を設定するには、Properties で以下を追加して設定します。

    • Material > Emissive Texture を、サーフェスの発光する部分を記述するテクスチャに設定

    • Emissive Factor を、Emissive Texture から値をフィルタリングするために使用したい色に設定します。この色の露出を調整するには、Intensity (I) プロパティフィールドを使用できます。

  8. テクスチャのタイリングとオフセットを設定するには、Properties で以下を追加して設定します。

    • Material > Texture Tiling プロパティの X および Y プロパティフィールドを、x軸およびy軸に沿ってテクスチャを繰り返したい回数に設定

      ヒント

      Texture Tiling プロパティフィールドを1より大きい値に設定した場合は、マテリアルが使用する各テクスチャの Wrap Mode プロパティを Repeat に設定します。

    • Material > Texture Offset プロパティの X および Y プロパティフィールドを、マテリアルを使用するノードのサーフェス上でテクスチャをオフセットしたい量に設定

  9. ディテールテクスチャを使用するには、Properties でディテールテクスチャのプロパティを追加して設定します。

    たとえば、次を追加して設定します:

    • Material > Detail Base Color Texture を、マテリアルのベースカラーを含むディテールテクスチャに設定

    • Detail Base Color Factor を、Detail Base Color Texture から値をフィルタリングするために使用したい色に設定します。

      Kanzi は、この色を Base Color Factor プロパティで設定したベースカラーとアルファブレンドします。

    • (オプション) Material > Detail Texture Tiling プロパティの X および Y プロパティフィールドを、x軸およびy軸に沿ってディテールテクスチャを繰り返したい回数に設定

    • (オプション) Material > Detail Texture Offset プロパティの X および Y プロパティフィールドを、ディテールテクスチャをオフセットしたい量に設定

    ../../_images/properties-add-detail-base-color-texture.png
  10. テクスチャに使用するテクスチャ座標を kzTextureCoordinate0 と kzTextureCoordinate1 から選択するには、Properties でテクスチャUVプロパティを追加して設定します。

    例えば、Base Color Texture でセマンティックインデックスが1のテクスチャ座標を使用するには、Material > Base Color Texture UV プロパティを追加して1に設定します。

    ../../_images/properties-add-base-color-texture-uv.png

関連項目

マテリアルを使用する (Using materials)

スマートマテリアルを使用する

マテリアルタイプの使用

単一テクスチャの使用

キューブマップテクスチャ (Cube-map Texture) を使用する

物理ベースのマテリアルプロパティ

マテリアルタイプとマテリアル