Version: Unity 6.0 (6000.0)
言語 : 日本語
キューブマップの概要
キューブマップ配列を作成する

キューブマップの作成

テクスチャからキューブマップを作成する

キューブマップを作成する最も簡単な方法は、特別にレイアウトされた テクスチャ からそれらをインポートすることです。Project ウィンドウでテクスチャを選択し、Inspector ウィンドウで Import Settings を表示します。Import Settings で、Texture Type を Default、Normal Map、Single Channel のいずれかに設定します。そして、Texture Shape で Cube を選択します。すると、Unity は自動的にテクスチャをキューブマップに設定します。

キューブマップテクスチャのインポートの種類
キューブマップテクスチャのインポートの種類

いくつかのよく使用されるキューブマップレイアウトがサポートされています (大抵、Unity は自動的にそれらを検出します)。

垂直方向と水平方向のクロスレイアウトに加え、キューブマップ面が行状と列状になった形式も使用可能です。

LatLong (緯度経度、Cylindrical) レイアウトも頻繁に使用されます。パノラマ画像では、このレイアウトがよく使用されます。

SphereMap (球状の環境マップ) 画像も使用可能です。

デフォルトでは、Unity がインポートされたテクスチャのアスペクト比を判定し、上記の中からもっとも適切なレイアウトを選びます。インポートが行われるとキューブマップが作成され、それをスカイボックスや反射に使用することができます。

Glossy Reflection は、リフレクションプローブ によって使用されるキューブマップテクスチャに便利です。キューブマップのミップマップレベルを特殊な方法 (鏡面反射コンボリューション) で処理し、滑らかさの異なるいろいろな面からの反射をシミュレートするのにも使用できます。

滑らかさの異なる面のリフレクションプローブに使用されたキューブマップ
滑らかさの異なる面のリフレクションプローブに使用されたキューブマップ

その他のテクニック

この他に、スクリプトを使用して Unity のシーンのコンテンツからキューブマップを生成する方法もあります。関数 Camera.RenderToCubemap は、シーン内の好きな位置から 6 面の画像を記録することができます。この関数のスクリプトリファレンスにあるサンプルコードを使用すれば、メニューコマンドを追加できるので、タスクをより簡単にすることができます。

古いキューブマップアセット

Unity では、6つの個々の テクスチャ からキューブマップを作成することもできます。メニューから Assets > Create > Legacy > Cubemap を選択し、インスペクターの空のスロットに 6 つのテクスチャをドラッグしてください。

古いキューブマップのインスペクター
古いキューブマップのインスペクター
プロパティ: 機能:
Right..Back Slots 各キューブマップ面のテクスチャ
Face Size キューブマップの各面の幅と高さ (ピクセル単位)。このサイズに合うようにテクスチャのスケールが自動的に調節されます。
Mipmap ミップマップを作成するかどうか
Linear キューブマップがリニアカラーを使用するかどうか
Readable スクリプトがピクセルデータにアクセスできるようにキューブマップを設定するかどうか

キューブマップを作成するには、キューブマップテクスチャのインポートタイプ (上を参照) を使用することが望ましいと言えます。そのように設定すると、キューブマップのテクスチャデータが圧縮され、端の処理や光沢リフレクションのコンボリューションが実行でき、HDR キューブマップもサポートされます。

キューブマップの概要
キューブマップ配列を作成する