キューブマップを作成する最も簡単な方法は、特別にレイアウトされた テクスチャ からそれらをインポートすることです。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 キューブマップもサポートされます。