テクスチャ
テクスチャタイプ

テクスチャのインポート

ここでは、Unity エディターの テクスチャインポーター を使って テクスチャ をインポートする詳細とヒントを提供します。スクロールダウン、または、学習したいトピックをクリックしてを選択してください。

サポートするファイル形式

Unity は以下のファイル形式を読み込めます。

  • BMP
  • EXR
  • GIF
  • HDR
  • IFF
  • JPG
  • PICT
  • PNG
  • PSD
  • TGA
  • TIFF

Unity はマルチレイヤーの PSD ファイルと TIFF ファイルをインポートできます。それらはインポート時に自動的に平坦化されますが、レイヤーはアセット自体で維持されます。つまり、これらのファイル形式をネイティブで使用する場合、作成したデータを何も失うことはないということです。たった 1 つのテクスチャのコピーを Photoshop、3D モデリングアプリ、Unity という異なるアプリケーションで使用できるため、大変有用です。

HDR テクスチャ

HDR 情報を含む EXR または HDR ファイルからインポートする場合、テクスチャインポーター は自動的に出力テクスチャの正しい HDR フォーマットを選択します。 この形式は、どのプラットフォーム向けにビルドするかによって自動的に変わります。

テクスチャサイズ

理想的には、テクスチャの寸法は、各辺につき 2 の累乗 (2、4、8、16、32、64、128、256、512、1024、2048 ピクセル…) です。テクスチャは正方形である必要はありません。つまり、幅と高さが異なることがあります。 あるプラットフォームでは最大テクスチャサイズが指定される場合があります。DirectX の場合、さまざまな機能レベルの最大テクスチャサイズは以下のとおりです。

グラフィックス API/機能レベル 最大値 2D および、キューブマップのテクスチャサイズ (ピクセル)
DX9 Shader Model 2 (PC GPUs は 2004 年以前) / OpenGL ES 2.0 2048
DX9 Shader Model 3 (PC GPUs は 2006 年以前) / Windows Phone DX11 9.3 レベル / OpenGL ES 3.0 4096
DX9 Shader Model 4 (PC GPUs は 2007 年以前) / OpenGL ES 3.1 8192
DX11 Shader Model 5 / GL4 (PC GPUs は 2008 年以降) 16384

注意

  • テクスチャインポーターでは、最大 8K (8192 x 8192 ピクセル) のサイズまでしか選択することができません。
  • Mali-Txxx GPU (Wikipedia 参照) と OpenGL ES 3.1 (www.opengl.org) は、キューマップ用に最大 4096 ピクセルのテクスチャサイズまでしかサポートしません。

Unity でテクスチャサイズの NPOT (2 の累乗以外) を使用することは可能です。ただし、NPOT のテクスチャサイズは一般的にわずかに多くメモリを消費し、GPU がサンプリングするのが遅くなるため、パフォーマンスをよくするためには 2 の累乗を使用します。プラットフォームまたは GPU が NPOT テクスチャサイズをサポートしていない場合、Unity はテクスチャに対しスケーリングやパディングをして次に近い 2 の累乗にします。このプロセスは、より多くのメモリを使用し、読み込みを遅くします (特に古いモバイルデバイスでは)。一般的には、GUI 用にだけ NPOT サイズを使用します。

テクスチャインポーターの Advanced セクションの Non Power of 2 オプションを使用して、インポート時に NPOT テクスチャアセットを拡大することができます。

UV マッピング

2D テクスチャを 3D モデルにマッピングすると、3D モデリングアプリケーションは UV マッピングという一種のラッピングを行います。Unity 内では、マテリアル を使用してテクスチャをスケールしたり動かしたりできます。ノーマルマップとディテールマップのスケーリングは特に便利です。

ミップマップ

ミップマップは革新的に小さなバージョンの画像リストで、リアルタイム 3D エンジンのパフォーマンスを最適化するために使用されます。カメラから離れたオブジェクトは、小さなバージョンのテクスチャを使用します。ミップマップを使用すると、33% 多くメモリを使用しますが、使用しないとパフォーマンスが大幅に低下する可能性があります。ゲーム内 テクスチャ には常にミップマップを使用します。GUI テクスチャ、スカイボックス、カーソル、クッキーなどの元々小さく作成されているテクスチャだけは例外です。 ミップマップは、様々なテクスチャエイリアシングやちらつきを避けるためにも不可欠です。

法線マップ

法線マップは、ローポリゴンのモデルによりディテールがあるように見せるために法線マップシェーダーによって使用されます。Unity は RGB 画像としてエンコードされた法線マップを使用します。グレースケールの高低マップの画像から法線マップを生成する方法もあります。

ディテールマップ

テレインを作成するとき、一般的にはメインテクスチャを使用して草、岩、砂などのテレインを表示します。もしテレインが大きいと、非常にぼやけて見える場合があります。ディテールテクスチャはメインテクスチャがすぐ近くになるとこれを隠すように小さなディテールをフェードインして表示します。

ディテールテクスチャを描画するとき、中間のグレーが透明であり、白の場合はメインテクスチャを倍の明るさとし、黒の場合はメインテクスチャを完全な黒にします。

詳細は セカンダリマップ (詳細マップ) & 詳細マスク を参照してください。

リフレクション (キューブマップ)

テクスチャを反射マップ (例えば リフレクションプローブ やキューブマップにした スカイボックス) に使用したい場合は、 Texture ShapeCube に設定します。詳細は キューブマップ を参照してください。

異方性フィルタリング

Anisotropic filtering increases Texture quality when viewed from a grazing angle. This rendering is resource-intensive on the graphics card. Increasing the level of Anisotropy is usually a good idea for ground and floor Textures. Use Quality settings to force anisotropic filtering for all Textures or disable it completely.

異方性フィルタリングを使った地面のテクスチャ。異方性フィルタリング無し (左)、異方性フィルタリングを最大 (右)
異方性フィルタリングを使った地面のテクスチャ。異方性フィルタリング無し (左)、異方性フィルタリングを最大 (右)
テクスチャ
テクスチャタイプ