キューブマップテクスチャ (Cube-map Texture) を使用する¶
キューブマップテクスチャは、環境の反射を表現するために6つの正方形の画像を1つのテクスチャに結合します。各画像は、キューブマップされたオブジェクトの視点から見た場合のx、y、z軸に沿った6つの方向のうちの1つの風景を表します。
Kanzi Studio でキューブマップテクスチャを使用する前に、まずキューブマップの6つのキューブ面のテクスチャ画像を作成する必要があります。キューブマップテクスチャを使用したいメッシュオブジェクトを作成したツールで6つのテクスチャ画像を作成し、画像を Kanzi Studio にインポートします。画像のインポート を参照してください。
キューブマップテクスチャのすべての面で同じサイズ、同じ形式の画像を使用してください。キューブマップテクスチャ内の画像のサイズと形式が一致しない場合、Kanzi はデフォルトのキューブマップテクスチャを使用します。
たとえば、キューブマップテクスチャのすべての面で、サイズが 256 x 256 ピクセル、8 ビットグレースケールの画像を使用します。
キューブマップテクスチャの画像のサイズと形式が一致しない場合、Kanzi Studio はそのようなテクスチャを赤色でマークします。
dds画像からキューブマップテクスチャを作成する¶
DDS画像からキューブマップテクスチャを作成するには、Assets で Import Assets をクリックし、キューブマップテクスチャのすべての面の画像を含むDDS画像をインポートします。
Kanzi Studio はdds画像をインポートし、Cubemap Texture を作成し、テクスチャの面をdds画像内の対応する画像に設定します。
HDR画像からキューブマップテクスチャを作成する¶
hdr または exr 画像からキューブマップテクスチャを作成するには、次のいずれかを行います。
Assets で Import Assets をクリックし、画像を選択し、Create textures for HDR images ダイアログで作成したいテクスチャを選択します。
すでに画像をプロジェクトにインポートしている場合、Library > Resource Files > Images Alt を押しながら右クリック で画像を選択し、作成したいテクスチャのタイプを選択します。
環境テクスチャを使用する と イメージベースのライティングキューブマップテクスチャを使用する を参照してください。
キューブマップテクスチャの作成¶
キューブマップテクスチャを作成するには、以下のようにします。
Assets で、Import Assets をクリックし、キューブマップテクスチャの面として使用したい画像をインポートします。画像のインポート を参照してください。
Library で、Alt を押しながら右クリック Materials and Textures を選択し、Cubemap Texture を選択します。
キューブマップテクスチャを作成すると、Kanzi Studio は赤いタイプでマークします。これは、キューブマップの各面にテクスチャがまだ割り当てられていないためです。
Properties で、キューブマップテクスチャに使用したい画像に Cubemap Images プロパティを設定します。
NegZ Image をキューブマップの負のZ面(背面)に
PosZ Image をキューブマップの正のZ面(前面)に
NegX Image をキューブマップの負のX面(左面)に
PosX Image をキューブマップの正のX面(右面)に
NegY Image をキューブマップの負のY面(底面)に
PosY Image をキューブマップの正のY面(上面)に
JPEG テクスチャからはミップマップを作成しないでください。JPEG 画像形式ではミップマップの品質が低下します。
(オプション)
Properties で Texture Settings プロパティを設定します。
Texture Settings プロパティを使用してテクスチャフィルタリングを制御します。まず、Mipmap Mode プロパティを使用したいミップマップモードに設定します。次に、Minification Filter と Magnification Filter プロパティを Linear に設定します。ミップマップを使用するとメモリ使用量が増加することに注意してください。
通常、最初はテクスチャフィルタリングを以下のように設定するのが適切です。
Minification Filter から Linear へ
Magnification Filter から Linear へ
Mipmap Mode を Nearest に設定します。テクスチャが縮小されないことが確実な場合は Base を選択し、そうでない場合は Nearest から始めます。例えば、Render Target Texture のデフォルト値は Base です。この設定では、テクスチャにはミップマップレベルがなく、常にベースレベルがサンプリングされます。ミップマップ (Mipmap) の使用 を参照してください。
一部のテクスチャフォーマットは、OpenGL ES バージョン 2.0 より高いバージョンで利用可能です。OpenGL ES バージョンを設定するには、メインメニューで Project > Properties を選択し、Properties で Target Graphics API プロパティを設定します。
例えば、Target Graphics API プロパティを OpenGL ES 3.0 に設定し、HDR および浮動小数点画像を .dds 形式でインポートし、テクスチャのカラーフォーマットを設定します。Kanzi でOpenGL ES 3.0+を使用する を参照してください。
Mipmap Mode
Nearest サンプル
Linear サンプル
Base
サンプル数:1
テクスチャ内の最も近いピクセルを使用します。この組み合わせはポイントサンプルと等しいです。すべての組み合わせの中で最も粗い結果を返し、縮小されたときにエイリアシングを引き起こす可能性があります。
このコンビネーションを使用すると、テクスチャを拡大するときに非常にシャープな結果が得られます。
サンプル数:4
テクスチャ内の最も近い 4 ピクセルの間で補間します。
グラデーションを拡大するにはこのコンビネーションを使用します。一方、縮小には使用しないでください。
Nearest
サンプル数:1
テクスチャキャッシングを助け、エイリアシングを減少させます。しかし、テクスチャが平坦な表面で使用されるときに、鋭い遷移を生じることがあります。
良好なパフォーマンスを必要とするターゲットプラットフォームで、より高い品質を提供する余裕がない場合には、このコンビネーションを使用します。
このコンビネーションが通常、最も高速です。
サンプル数:4
2 つのミップマップレベルから 2 つのサンプルを取り、それらのサンプル間で補間します。
このコンビネーションは、新規作成時に使用します。
このコンビネーションは通常、品質とパフォーマンスのバランスが最も取れています。
縮小されないことがわかっている場合は、Mipmap Mode を Base に設定できます。
Linear
サンプル数:2
2 つのミップマップレベルから 1 つのサンプルを取り、それらのサンプル間で補間します。
このコンビネーションは特殊効果に使用します。例えば、リムライト効果を実装するために使用します。
サンプル数:8
2 つのミップマップレベルから 4 つのサンプルを取り、それらのサンプル間で補間します。
最高品質が必要な場合、結果を簡単にレンダリングできる能力がプラットフォームあれば、このコンビネーションを使用します。
このコンビネーションでは、パフォーマンス上の悪影響が最も大きくなります。
キューブマップテクスチャを使用する¶
キューブマップテクスチャを使用するには:
Library > Materials and Textures > Materials で、キューブマップテクスチャをサポートするマテリアルを選択します。Properties で、使用したいキューブマップテクスチャに TextureCube プロパティを設定します。キューブマップテクスチャの作成 と テクスチャ付きマテリアルの作成 を参照してください。
Node Tree で、キューブマップテクスチャを使用したい Model、Box、または Sphere ノードを選択します。Properties で、キューブマップテクスチャを使用するマテリアルに Material または Mesh Material プロパティを設定します。
キューブマップテクスチャをスカイボックスとして使用する¶
キューブマップテクスチャをスカイボックスとして使用するには:
Library > Materials and Textures で、Alt を押しながら右クリック Material Types を行い、CubemapSkybox を選択します。
Kanzi Studio は、Library > Materials and Textures に CubemapSkybox マテリアルタイプと CubemapSkyboxMaterial を作成し、キューブマップテクスチャをスカイボックスとして表示することをサポートします。
Library で、CubemapSkyboxMaterial マテリアルを選択します。Properties で、TextureCube プロパティを使用したいキューブマップテクスチャに設定して、スカイボックスをレンダリングします。
Box または Sphere ノードを作成し、スカイボックスをレンダリングするために使用します。Properties で、次を設定します。
Mesh Material から CubemapSkyboxMaterial へ
ノードのサイズは、内部に表示したいコンテンツが収まるように十分に大きくしてください。
Box の場合、Width、Height、および Depth プロパティを設定します。
Sphere の場合、Radius プロパティを設定します。
Generate Mesh Inside Out を有効にする
このプロパティが有効になると、Kanzi はメッシュ内にキューブマップテクスチャをレンダリングします。
Camera ノードを、作成したノードの中に配置します。
カメラを回転させると、Preview でキューブマップテクスチャがスカイボックスとしてレンダリングされているのが見えます。
キューブマップテクスチャプロパティタイプ¶
キューブマップテクスチャの利用可能なプロパティタイプのリストについては、キューブマップテクスチャ (Cubemap Texture) および テクスチャ (Texture) を参照してください。
関連項目¶
イメージベースのライティングキューブマップテクスチャを使用する