イメージベースのライティングキューブマップテクスチャを使用する¶
画像ベースのライティングを使用して、周囲の環境を光源として扱い、3Dノードを照らします。
イメージベースのライティングキューブマップテクスチャは、環境からのライティングをシミュレートします。
放射照度キューブマップテクスチャ は、環境照明の間接拡散部分を表します。
完全に拡散する表面は粗く、入射する光線をランダムな方向に反射します。例えば、ゴムのような素材は拡散表面を持っています。
スペキュラーキューブマップテクスチャ は、環境照明の反射部分を表します。
完全に反射する表面は滑らかで、鏡のように入射する光線を到着した角度と同じ角度で反射します。例えば、金属材料は反射する表面を持っています。
各イメージベースのライティングキューブマップテクスチャは、6 つの正方形画像を 1 つのテクスチャに結合して、環境ライティングを表現します。
環境キューブマップテクスチャを使用して、3Dコンテンツの周囲の環境をレンダリングします。環境テクスチャを使用する を参照してください。
3Dノードの表面に環境の動的な反射を作成したい場合は、Cubemap Render Pass を使用します。キューブマップ反射の作成 を参照してください。
イメージベースのライティングキューブマップテクスチャを作成する¶
画像ベースのライティングキューブマップテクスチャを作成するには:
Assets で Import Assets をクリックし、イメージベースのライティングキューブマップテクスチャを作成したい HDR 画像または EXR 画像を選択します。
ヒント
すでに Kanzi Studio プロジェクトにインポートしたhdrまたはexr画像のイメージベースのライティングキューブマップテクスチャを作成するには、Library > Resource Files > Images でその画像を Alt を押しながら右クリック し、Image-Based Lighting Cubemap Textures を選択します。
Create Textures for HDR Images ダイアログで:
Image-Based Lighting Cubemap Textures を選択します。
Kanzi はデフォルトで GPU ベースのキューブマップ処理を使用します。より低速な CPU ベースのキューブマップ処理を使用するには、Kanzi Studio のメインメニューで エディット (Edit) > ユーザープリファレンス (User Preferences) を選択します。ユーザープリファレンス (User Preferences) ウィンドウの アドバンスト (Advanced) タブで、Use GPU-based cubemap filtering オプションを無効にします。
ヒント
画像の環境キューブマップテクスチャも作成するには、Environment Cubemap Texture を選択します。環境テクスチャを使用する を参照してください。
(オプション) キューブマップフェイスのサイズを手動で設定するには、Automatic 設定を無効にして、Cubemap Face Resolution を設定します。
例えば、各キューブマップフェイスのサイズが512x512ピクセルのキューブマップテクスチャを作成するには、Cubemap Face Resolution を 512 に設定します。
Kanzi Studio はデフォルトで、各キューブマップ面の幅と高さが 256 ピクセルのキューブマップテクスチャを作成します。インポートする画像の幅が 1024 ピクセル未満の場合は、その幅の4分の1になります。
キューブマップのフェイス解像度を上げると、キューブマップの計算時間が二次的に増加します。
(オプション) Number of Samples を、Kanzi Studio が画像からサンプリングしてキューブマップを生成するために使用するピクセル数に設定します。
サンプル数が多いほど、キューブマップは環境照明をより正確に近似します。サンプル数を増やすと、キューブマップの計算時間が線形に増加します。デフォルトで、1024サンプルの値はほとんどの状況で十分であると考えられます。しかし、明るい太陽のように非常に高周波の変化を含む画像の場合、サンプル数を増やすことで生成されたキューブマップのフェイス画像のノイズを減らすことができます。
Create をクリックします。
Kanzi Studio は画像をインポートし、その画像のためのイメージベースのライティングキューブマップテクスチャを Library > Materials and Textures > Textures に作成します。
<image_name>_irradiance は、環境照明の間接拡散部分を表します。
<image_name>_specular は反射光を表します。
各イメージベースのライティングキューブマップテクスチャでは、6つのキューブマップ面の画像が共通の画像プロパティを使用します。キューブマップ面の画像プロパティを設定するには、NegZ イメージ (NegZ Image) プロパティの横にある画像プロパティアイコンをクリックします。Kanzi Studio は、その設定をそのテクスチャの6つのキューブマップ面すべてに適用します。
イメージベースのライティングキューブマップテクスチャには ASTC 圧縮を使用できます。キューブマップテクスチャの ASTC 圧縮の設定方法については、ASTC によるキューブマップテクスチャの圧縮 を参照してください。
![]()
![]()
![]()
ヒント
HDR画像から作成したテクスチャの強く照らされた領域の明るさを制限することができます。
HDR画像から作成するキューブマップテクスチャの最大輝度レベルを設定するには、
Library > Resource Files > Images で、画像を選択します。Properties で Clamp Pixels プロパティを追加し、その画像から作成するキューブマップ面画像の色の値を制限したい値に設定します。
Library > Resource Files > Images で画像を Alt を押しながら右クリック し、作成したいキューブマップテクスチャを選択します。
![]()
![]()
イメージベースのライティングキューブマップテクスチャを使用する¶
イメージベースのライティングキューブマップテクスチャを使用するには:
Library > Materials and Textures で、Alt を押しながら右クリック Material Types を行い、SmartPhysicallyBased を選択します。
Kanzi Studio は SmartPhysicallyBased マテリアルタイプと SmartPhysicallyBasedMaterial マテリアルを作成します。
このマテリアルは、Kanzi のデフォルトの物理ベースシェーダーの機能の使用をサポートします。
周囲の環境を光源として扱ってライティングしたい 3D コンテンツを作成し、そのコンテンツが SmartPhysicallyBasedMaterial マテリアルを使用するように設定します。
例えば、Node Tree で Sphere ノードを作成します。Properties で、Mesh Material プロパティを SmartPhysicallyBasedMaterial に設定します。
Library > Materials and Textures > Materials で、SmartPhysicallyBasedMaterial を選択します。Properties で Configuration > Enable Image Based Lighting プロパティを追加し、次のように設定します:
拡散照明に使用したい放射照度キューブマップテクスチャに Environment Ambient Texture を設定します。
Environment Reflection Texture を反射照明に使用したいスペキュラキューブマップテクスチャに設定します。
イメージベースのライティングキューブマップテクスチャを作成する を参照してください。
(オプション) Properties で、次のプロパティを追加して設定します:
Material > Environment Ambient Factor:放射照度キューブマップテクスチャの強度を設定します。
Material > Environment Reflection Factor で、スペキュラーキューブマップテクスチャの強度を設定します。
マテリアルのプロパティを使用して、マテリアル表面の反射の強さを制御します。
たとえば、メタリックラフネス素材の場合:
Roughness Factor は、マテリアルの粗さを設定します。
マテリアルの粗さを増すと、マテリアル表面の反射がぼやけます。
Metallic Factor はマテリアルのメタルネスを設定します。
マテリアルのメタルネスを増加させるとき:
マテリアル表面の拡散反射が弱くなります。
マテリアル表面のスペキュラ反射が強くなります。
環境キューブマップテクスチャを使用して3Dコンテンツの周囲の環境をレンダリングする場合、画像ベースのライティングテクスチャが環境からのライティングをどのようにシミュレートするかを見ることができます。環境キューブマップテクスチャを使用する を参照してください。