イメージベースのライティングキューブマップテクスチャを使用する

画像ベースのライティングを使用して、周囲の環境を光源として扱い、3Dノードを照らします。

イメージベースのライティングキューブマップテクスチャは、環境からのライティングをシミュレートします。

  • 放射照度キューブマップテクスチャ は、環境照明の間接拡散部分を表します。

    完全に拡散する表面は粗く、入射する光線をランダムな方向に反射します。例えば、ゴムのような素材は拡散表面を持っています。

  • スペキュラーキューブマップテクスチャ は、環境照明の反射部分を表します。

    完全に反射する表面は滑らかで、鏡のように入射する光線を到着した角度と同じ角度で反射します。例えば、金属材料は反射する表面を持っています。

各イメージベースのライティングキューブマップテクスチャは、6 つの正方形画像を 1 つのテクスチャに結合して、環境ライティングを表現します。

環境キューブマップテクスチャを使用して、3Dコンテンツの周囲の環境をレンダリングします。環境テクスチャを使用する を参照してください。

3D ノードの表面に環境の動的な反射を作成したい場合は、Cubemap レンダーパスを使用します。キューブマップ反射の作成 を参照してください。

イメージベースのライティングキューブマップテクスチャを作成する

画像ベースのライティングキューブマップテクスチャを作成するには:

  1. Assets で Import Assets をクリックし、イメージベースのライティングキューブマップテクスチャを作成したい HDR 画像または EXR 画像を選択します。

    ../../_images/assets-import-assets.png

    ヒント

    すでに Kanzi Studio プロジェクトにインポートしたhdrまたはexr画像のイメージベースのライティングキューブマップテクスチャを作成するには、Library > Resource Files > Images でその画像を Alt を押しながら右クリック し、Image-Based Lighting Cubemap Textures を選択します。

    ../../_images/create-ibl-textures-context-menu.png
  2. Create Textures for HDR Images ダイアログで:

    1. Image-Based Lighting Cubemap Textures を選択します。

      ../../_images/create-ibl-textures-dialog.png

      ヒント

      画像の環境キューブマップテクスチャも作成するには、Environment Cubemap Texture を選択します。環境テクスチャを使用する を参照してください。

    2. (オプション) キューブマップフェイスのサイズを手動で設定するには、Automatic 設定を無効にして、Cubemap Face Resolution を設定します。

      例えば、各キューブマップフェイスのサイズが512x512ピクセルのキューブマップテクスチャを作成するには、Cubemap Face Resolution を 512 に設定します。

      Kanzi Studio はデフォルトで、各キューブマップ面の幅と高さが 256 ピクセルのキューブマップテクスチャを作成します。インポートする画像の幅が 1024 ピクセル未満の場合は、その幅の4分の1になります。

      キューブマップのフェイス解像度を上げると、キューブマップの計算時間が二次的に増加します。

    3. (オプション) Number of Samples を、Kanzi Studio が画像からサンプリングしてキューブマップを生成するために使用するピクセル数に設定します。

      サンプル数が多いほど、キューブマップは環境照明をより正確に近似します。サンプル数を増やすと、キューブマップの計算時間が線形に増加します。デフォルトで、1024サンプルの値はほとんどの状況で十分であると考えられます。しかし、明るい太陽のように非常に高周波の変化を含む画像の場合、サンプル数を増やすことで生成されたキューブマップのフェイス画像のノイズを減らすことができます。

    4. Create をクリックします。

    Kanzi Studio は画像をインポートし、その画像のためのイメージベースのライティングキューブマップテクスチャを Library > Materials and Textures > Textures に作成します。

    • <image_name>_irradiance は、環境照明の間接拡散部分を表します。

    • <image_name>_specular は反射光を表します。

    ../../_images/ibl-textures-in-library.png ../../_images/my_hdr_image_irradiance.png ../../_images/my_hdr_image_specular.png

    ヒント

    HDR画像から作成したテクスチャの強く照らされた領域の明るさを制限することができます。

    HDR画像から作成するキューブマップテクスチャの最大輝度レベルを設定するには、

    1. Library > Resource Files > Images で、画像を選択します。Properties で Clamp Pixels プロパティを追加し、その画像から作成するキューブマップ面画像の色の値を制限したい値に設定します。

    2. Library > Resource Files > Images で画像を Alt を押しながら右クリック し、作成したいキューブマップテクスチャを選択します。

    ../../_images/clamp-pixels.png ../../_images/recreate-env-cubemap-textures.png

注釈

Kanzi Studio は、生成したキューブマップ面とラフネスのミップマップを、通常はバージョンコントロールから除外するキャッシュディレクトリに保存します。新規にクローンした後や、それらを含まないアセットパッケージをインポートした後など、これらが存在しない場合、Kanzi Studio はソース画像からそれらを再生成します。そのため、ソースの hdr 画像または exr 画像はプロジェクト内とバージョンコントロールに保持してください。Kanzi でバージョン管理システムを使用する を参照してください。

Kanzi Studio がコンテンツを再生成できない場合は、その理由を Log ウィンドウに報告し、そのコンテンツが欠落したままの状態でプロジェクトを開きます。これは、たとえばソース画像がプロジェクトに存在しなくなった場合に発生します。その状態のキューブマップテクスチャは正しくレンダリングされません。ソース画像を復元するか、ソース画像からテクスチャを作成し直してください。

Kanzi 4.1.0 より前に作成したイメージベースドライティングのキューブマップテクスチャには、Kanzi Studio が再生成に必要とする情報が保存されていません。これらのテクスチャが正しく再生成されるように、作成し直してください。

イメージベースのライティングキューブマップテクスチャを使用する

イメージベースのライティングキューブマップテクスチャを使用するには:

  1. Library > Materials and Textures で、Alt を押しながら右クリック Material Types を行い、SmartPhysicallyBased を選択します。

    Kanzi Studio は SmartPhysicallyBased マテリアルタイプと SmartPhysicallyBasedMaterial マテリアルを作成します。

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

    ../../_images/library-smart-physically-based-material.png
  2. 周囲の環境を光源として扱ってライティングしたい 3D コンテンツを作成し、そのコンテンツが SmartPhysicallyBasedMaterial マテリアルを使用するように設定します。

    例えば、Node Tree で Sphere ノードを作成します。Properties で、Mesh Material プロパティを SmartPhysicallyBasedMaterial に設定します。

    ../../_images/sphere-in-node-tree.png ../../_images/sphere-properties-mesh-material.png
  3. Library > Materials and Textures > Materials で、SmartPhysicallyBasedMaterial を選択します。Properties で Configuration > Enable Image Based Lighting プロパティを追加し、次のように設定します:

    • 拡散照明に使用したい放射照度キューブマップテクスチャに Environment Ambient Texture を設定します。

    • Environment Reflection Texture を反射照明に使用したいスペキュラキューブマップテクスチャに設定します。

    イメージベースのライティングキューブマップテクスチャを作成する を参照してください。

    ../../_images/properties-add-enable-image-based-lighting.png ../../_images/physically-based-material-ibl-textures.png
  4. (オプション) Properties で、次のプロパティを追加して設定します:

    • Material > Environment Ambient Factor:放射照度キューブマップテクスチャの強度を設定します。

    • Material > Environment Reflection Factor で、スペキュラーキューブマップテクスチャの強度を設定します。

  5. マテリアルのプロパティを使用して、マテリアル表面の反射の強さを制御します。

    たとえば、メタリックラフネス素材の場合:

    • Roughness Factor は、マテリアルの粗さを設定します。

      マテリアルの粗さを増すと、マテリアル表面の反射がぼやけます。

    • Metallic Factor はマテリアルのメタルネスを設定します。

      マテリアルのメタルネスを増加させるとき:

      • マテリアル表面の拡散反射が弱くなります。

      • マテリアル表面のスペキュラ反射が強くなります。

    ../../_images/physically-based-material-ibl-properties.png ../../_images/ibl-in-preview-without-env.png

環境キューブマップテクスチャを使用して3Dコンテンツの周囲の環境をレンダリングする場合、画像ベースのライティングテクスチャが環境からのライティングをどのようにシミュレートするかを見ることができます。環境キューブマップテクスチャを使用する を参照してください。

../../_images/ibl-in-preview.png

関連項目

単一テクスチャの使用

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

環境テクスチャを使用する

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

イメージ (Images)

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

インポートしています

キューブマップ反射の作成