Version: 2022.2
言語: 日本語
テクスチャ
テクスチャのインポート設定

テクスチャのインポート

テクスチャ はビットマップ画像です。Photoshop などのデジタルコンテンツ作成アプリケーションでテクスチャを作成し、Unity にインポートできます。

3D プロジェクトでは、Unity はアセットフォルダーの画像と動画ファイルをテクスチャとしてインポートします。2D プロジェクトでは、Unity はアセットフォルダーの画像とムービーファイルをスプライトとしてインポートします。

画像が 指定されたサイズの要件 を満たしている限り、Unity はそれをインポートしてゲーム用に最適化します。これは、Photoshop のマルチレイヤー PSD または TIFF ファイル にも適用されます。

Unity で画像と動画ファイルをテクスチャとスプライトとしてインポートする方法は以下の通りです。

  1. Project ウィンドウで画像ファイルを選択します。
  2. インスペクターで テクスチャインポート設定 を設定します。
  3. Apply ボタンをクリックして変更を保存します。
  4. インポートしたアセットをプロジェクトで使用する方法は以下の通りです。

推奨事項と制限

以下のトピックでは、テクスチャのインポートに関する推奨事項と詳細について説明します。

HDR テクスチャ

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

テクスチャ寸法

理想的には、テクスチャの寸法は、各辺につき 2 の累乗 (2、4、8、16、32、64、128、256、512、1024、2048 ピクセなど) です。テクスチャは正方形である必要はありません。つまり、幅と高さが異なることがあります。

Unity でテクスチャサイズの NPOT (2 の累乗以外) を使用することは可能です。ただし、NPOT のテクスチャサイズは一般的にわずかに多くメモリを消費し、GPU がサンプリングするのが遅くなるため、パフォーマンスをよくするためには 2 の累乗を使用します。

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

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

ノート: あるプラットフォームでは最大テクスチャサイズが指定される場合があります。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

ノート:

  • The Texture Importer only allows you to choose dimension sizes up to 16384 (16384 × 16384 pixels).
  • ほとんどの Mail GPU は、キューブマップで最大 4K のテクスチャ寸法をサポートします。

法線マップ

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

アルファマップ

アルファマップはアルファ情報のみを含むテクスチャです。アルファマップを使用して、マテリアルにさまざまなレベルの透明度を適用できます。

アルファマップを作成するには、アルファチャンネルの情報でテクスチャを作成するか、Unity でグレースケールテクスチャを作成してグレースケール値をアルファに変換します。

See the documentation on Texture Import Settings for more information.

ディテールマップ

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

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

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

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

テクスチャを反射マップ (例えば リフレクションプローブ やキューブマップにした スカイボックス) に使用したい場合は、 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. Although, if a texture has its Aniso level set to 0 in Texture Import Settings, forced anisotropic filtering does not appear on this texture.

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

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

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

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

Unity では、マルチレイヤーの Photoshop PSD や TIFF ファイルをインポート時に自動的にフラット化し、ゲームのサイズペナルティが発生しないようにしています。このフラット化は、ファイル自体ではなく、Unity にインポートされたデータに対して行われます。そのため、PSD ファイルや TIFF ファイルをネイティブで使用して行った作業内容を失うことなくファイルの保存やインポートを続けることができます。これにより、Photoshop や 3D モデリングアプリケーション、そして Unity で使用する各テクスチャのコピーを 1 つずつ持つことができます。

テクスチャ
テクスチャのインポート設定