Version: 2018.4
言語: 日本語
Texture コンポーネント
テクスチャのインポート

テクスチャ

テクスチャは、視覚的な効果を与えるためにゲームオブジェクトを覆ったり包んだりする画像やムービーファイルです。ここでは、テクスチャを管理するのに必要なプロパティを説明します。

Unity は 3D プロジェクトの Assets フォルダー内の画像やムービーファイルをすべてテクスチャとして認識します (2D プロジェクトの場合は、それらはスプライトとして保存されます)。画像が後述のサイズ要件を満たしている場合は、(オブジェクトに使用するシェーダーのすべてに、特定のテクスチャ要件があるとしても) ゲームに使用するためのインポートや最適化ができます。複数レイヤーの Photoshop や TIFF ファイルも使用できます。複数レイヤーはインポート時に自動的に統合されるので、ゲームの容量に関係ありません。統合化は PSD ファイル自体ではなく Unity 内部で行なわれ、必須でないため、レイヤーを損なわずに PSD ファイルの保存やインポートを継続することができます。

プロパティ

Texture Inspector ウィンドウ
Texture Inspector ウィンドウ

Inspector ウィンドウは、上部分の テクスチャインポーター と下部分の プレビュー の 2 つのセクションに分割されています。

テクスチャインポーター

テクスチャインポーターは、どのようにプロジェクトの Assets フォルダーから Unity に画像をインポートするかの方法を設定します。テクスチャインポーターにアクセスするには、Project ウィンドウで画像ファイルを選択すると、インスペクターウィンドウでテクスチャインポーターが開きます。

一般にあまり使用されないプロパティの中には、デフォルトで非表示のものもあります。インスペクターウィンドウの Advanced をクリックすると、それらを表示できます。

Texture Type

テクスチャインポーターの最初のプロパティは Texture Type です。これで、画像のソースファイルから作成したいテクスチャタイプを選択します。詳細はマニュアルの テクスチャタイプ を参照してください。

プロパティ 機能
Texture Type このテクスチャが何に使用されるのかを選択します。テクスチャインポーターの他のプロパティは、この選択によって変化します。
    Default すべてのテクスチャで使用されるもっとも一般的な設定です。テクスチャインポーターのほとんどのプロパティにアクセスすることができます。
    Normal Map カラーチャンネルをリアルタイム法線マッピングに合った形式に変えます。法線マッピングに関する詳細は、 テクスチャのインポート を参照してください。
    Editor GUI テクスチャを任意の HUD/GUI 制御で使用します。
    Sprite (2D and UI) テクスチャを 2D ゲームの スプライト として使用します。
    Cursor テクスチャを カスタムのカーソルとして使用します。
    Cookie テクスチャをシーンの ライトクッキー として使うために、基本パラメーターで設定します。
    Lightmap テクスチャを ライトマップ として使用する場合は、これを選択します。このオプションを使用すると、特定の形式 (プラットフォームに応じて RGBM または dLDR) へのエンコードと、テクスチャデータのポストプロセス処理 (プッシュ-プル拡張) が可能になります。
    Single Channel テクスチャでチャンネルが 1 つだけ必要な場合に選択します。

Texture Shape

テクスチャインポーターの 2 番目のプロパティは Texture Shape です。テクスチャの形状と構造を選択し定義します。

プロパティ 機能
Texture Shape テクスチャの形状を決定します。デフォルトでは 2D に設定されています。
    2D すべてのテクスチャに対し、もっとも一般的な設定です。画像ファイルを 2D テクスチャとして定義します。テクスチャを、他のプロジェクト要素の中の 3D メッシュや GUI エレメントにマップするのに使用されます。
    Cube テクスチャを、キューブマップとして定義します。この設定は、スカイボックスやリフレクションプローブなどに使用できます。Cube を選択すると異なるマッピングオプションが表示されます。
Mapping Texture ShapeCube に設定するときのみ表示されます。ゲームオブジェクト上にどのようにテクスチャを投影するかを Mapping で設定します。デフォルトでは Auto に設定されています。
    Auto Unity はテクスチャの情報をもとに自動的にレイアウトしようとします。
    6 Frames Layout (Cubic Environment) テクスチャには標準のキューブマップレイアウト (クロス、または、直列 (+x -x +y -y +z -z) ) のうち 1 つで用意された 6 つの画像が含まれています。画像は平行、または垂直、いずれかの方向になります。
    Latitude Longitude (Cylindrical) テクスチャを 2D の緯度経度の表現にマップします。
    Mirrored Ball (Sphere Mapped) テクスチャを球状のキューブマップにマップします。
Convolution Type テクスチャに使用したいプレコンボリューション (つまり、フィルタリング) のタイプを選択します。プレコンボリューションの結果はミップマップに格納されます。デフォルトでは None に設定されています。
    None テクスチャにプレコンボリューション (つまり、フィルタリング) を行いません。
    Specular (Glossy Reflection) キューブマップをリフレクションプローブとして使用します。テクスチャミップマップはエンジンの BRDF (双方向反射率分布関数) でプレコンボリューション (フィルタリング) されます。詳しくは、ウイキペディアの Bidirectional reflectance distribution function を参照してください。
    Diffuse (Irradiance) テクスチャはコンボリューション (フィルタリング) され照射します。これは、通常、キューブマップをライトプローブとして使用したいときに役立ちます。
Fixup Edge Seams この設定は、 NoneDiffuse コンボリューション (フィルタリング) でのみ可能です。これは、ローエンドのプラットフォームで、キューブマップの面が誤ってフィルタリングされるなどの、フィルタリングの制限の回避策として使用します。

Advanced settings

Advanced settings (詳細設定) では、Unity がテクスチャを処理する方法をより細かく調整することができます。これらの設定の表示順序と使用可能かどうかは、選択した Texture Type (テクスチャタイプ) によって若干異なる場合があります。

プロパティ 説明
Non Power of 2 テクスチャが 2 の累乗以外 (Non power of two) のテクスチャサイズを持つ場合、これによってインポート時のスケーリングの挙動が定義されます。2 の累乗以外のテクスチャサイズについては、テクスチャのインポート を参照してください。デフォルトでは None に設定されています。
    None テクスチャサイズは変更されません。
    To nearest テクスチャは、インポート時に最も近い 2 の累乗のテクスチャサイズにスケーリングされます。例えば、257x511 px のテクスチャは 256x512 px にスケーリングされます。PVRTC 形式ではテクスチャが正方形 (高さと幅が等しい) である必要があるため、最終には 512x512 px に拡大されます。
    To larger テクスチャは、インポート時に最も大きい 2 の累乗のテクスチャサイズにスケーリングされます。例えば、257x511 px のテクスチャは 512x512 px にスケーリングされます。
    To smaller テクスチャは、インポート時に最も小さい 2 の累乗のテクスチャサイズにスケーリングされます。例えば、257x511 px のテクスチャは 256x256 px にスケーリングされます。
Read/Write Enabled このボックスをチェックすると、スクリプト関数 (Texture2D.SetPixelsTexture2D.GetPixels、その他の Texture2D 関数など) からテクスチャデータにアクセスが可能になります。ただし、テクスチャデータのコピーが作成され、テクスチャアセットに必要なメモリ量が 2 倍になるため、絶対に必要な場合にのみこのプロパティを使用してください。この機能は非圧縮テクスチャと DXT 圧縮テクスチャに対してのみ有効です。他のタイプの圧縮テクスチャを読み込むことはできません。このボックスは、デフォルトでは無効になっています。
Streaming Mip Maps このボックスをチェックすると、このテクスチャで テクスチャストリーミング が使用可能になります。この設定は、Unity がメッシュレンダラーで表示する 3D 環境のすべてのテクスチャに有効です。ディフューズテクスチャ、法線マップ、ライトマップはすべて、テクスチャストリーミングを使用できます。
    Mip Map Priority ミップマップの優先順位を設定します。Unity はこれを使用して、リソースを割り当てるときにどのミップマップを優先するかを決定します。値が高いほど優先順位が高くなります (例えば、31 より優先度が高い)。この設定は、Streaming Mip Maps が有効になっている場合にのみ可能です。

Mip Map Priority の数字は Memory Budget (Texture Streaming が有効な場合に、Quality 設定 で設定できます) のミップマップオフセットでもあります。例えば、優先順位が 2 の場合、テクスチャストリーミングシステムは、優先順位が 0 の他のテクスチャよりミップレベルが 2 つ高いミップマップを使用しようとします。ミップレベルが 1 つ高い場合は、各軸で 2 倍、2 つ高い場合は、各軸で 4 倍です。 そのため、ミップレベルが 2 つ高いと、結果的に、テクスチャは 16 倍の大きさになります。これを行うことができない場合は、Memory Budget に合う低いミップレベルを使用します。負の値も有効です。詳細は テクスチャストリーミング API を参照してください。
Generate Mip Maps このボックスをチェックすると、ミップマップ生成が可能になります。ミップマップは縮小されたテクスチャで、画面上でとても小さくテクスチャを表示する場合に使います。ミップマップについて詳しくは Importing Textures を参照してください。
    Border Mip Maps このボックスをチェックすると、低 MIP レベルのエッジに色がしみ出ることを防ぐことができます。ライトのクッキーに使用します (後述)。このボックスは、デフォルトでは無効になっています。
    Mip Map Filtering 画像品質を最適化するために 2 種類のミップマップフィルタリングがあります。デフォルトは Box です。
        Box ミップマップをフェードアウトさせる最も簡単な方法です。MIP レベルは、テクスチャサイズが小さくなるにつれてより滑らかになります。
        Kaiser ミップマップ上では、テクスチャサイズが小さくなるにつれてシャープニングアルゴリズムが実行されます。テクスチャがあまりにもぼやけている場合は、このオプションを試してみてください。(アルゴリズムはカイザー窓 タイプです。詳細は Wikipedia を参照してください。)
    Mip Maps Preserve Coverage このボックスをチェックすると、生成されたミップマップのアルファチャンネルは、アルファテストの間、範囲を維持します。詳細はTextureImporterSettings.mipMapsPreserveCoverage を参照してください。
    Fadeout Mip Maps このボックスをチェックすると、MIP レベルが進行するにつれてミップマップがグレーにフェードアウトします。これは、詳細マップに使用されます。スクロールの左端はフェードアウト開始時点の MIP レベルです。スクロールの右端は、テクスチャが完全にグレーに表示される MIP レベルを定義します。
Wrap Mode タイルにするときのテクスチャの挙動を選択します。 デフォルトは Clamp です。
    Repeat テクスチャをタイル状に繰り返します。
    Clamp テクスチャのエッジを引き延ばします。
    Mirror テクスチャをすべての整数の境界でミラーし、繰り返しのパターンを作成します。
    Mirror Once テクスチャを 1 回ミラーし、エッジのピクセルに固定します。
    Per-axis U 軸と V 軸でテクスチャをラップする方法を個別に制御します。
Filter Mode 3D 変形で伸長される際に、テクスチャをどのようにフィルタリングするかを選択します。デフォルトは Point (no filter) です。
    Point (no filter) 拡大したテクスチャをブロック状にします。
    Bilinear 拡大したテクスチャをぼかします。
    Trilinear Bilinear に似ていますが、テクスチャを異なる MIP レベル間でもぼかします。
Aniso Level 急角度から見たときのテスクチャの品質を向上させます。床や地面のテクスチャに適しています。異方性フィルタリングに関して詳しくは テクスチャのインポート を参照してください。

プラットフォームに特化したオーバーライド

Texture Inspector ウィンドウには プラットフォームに特化したオーバーライド パネルがあります。

 プラットフォームに特化したオーバーライド パネル
プラットフォームに特化したオーバーライド パネル

さまざまなプラットフォーム向けにビルドするとき、それぞれのターゲットプラットフォームに対して、解像度、メモリサイズ要件に関連したファイルサイズ、ピクセル面積、テクスチャの品質を考慮する必要があります。プラットフォームに特化したオーバーライド パネルを使ってデフォルトのオプションを設定し (Default を使用)、次に、パネルの上部にあるボタンで特定のプラットフォームに設定をオーバーライドします。

プロパティ 機能
Max Size インポートされたテクスチャの最大サイズ (ピクセル)。アーティストは、巨大な面積のテクスチャでの作業を好むことがあります。Max Size で、テクスチャを適切なサイズに縮小します。
Compression テクスチャの圧縮タイプを選択します。このパラメーターによって、システムが、適切なテクスチャの圧縮形式を選択できます。プラットフォームや圧縮形式の使用可否によって、異なる設定でも、結果的に内部的に同じ形式になる場合があります (例えば、 Low Quality 圧縮 はモバイルプラットフォームに効果的ですが、デスクトッププラットフォームには効果がありません)。
    None テクスチャを圧縮しません。
    Low Quality テクスチャを低品質の形式で圧縮します。この結果、 Normal Quality に比べ、メモリ使用は少なくなります。
    Normal Quality テクスチャを標準品質の形式で圧縮します。
    High Quality テクスチャを高品質の形式で圧縮します。この結果、 Normal Quality に比べ、メモリ使用は多くなります。
Format これを使って、自動システムをバイパスして、テクスチャにどの内部形式を使用するかを特定します。使用できる形式のリストは、プラットフォームとテクスチャタイプによります。詳細は、 プラットフォーム別オーバーライドのためのテクスチャ圧縮形式 を参照してください。
注意 プラットフォームがオーバーライドされていないときでも、ここには自動的に選択された形式が表示されます。Format プロパティは、特定のプラットフォームをオーバーライドしたときにのみ選択可能で、デフォルト設定では使用できません。
Use crunch compression 使用可能な場合は、Crunch 圧縮を使用します。Crunch は DXT テクスチャや ETC テクスチャの圧縮に使用できる不可逆圧縮形式です。テクスチャは CPU で DXT か ETC に解凍され、ランタイムに GPU に読み込まれます。Crunch 圧縮は、ディスク上やダウンロード時に使用するスペース量をできるだけ少なくしたいときに役立ちます。Crunch テクスチャは、圧縮するのにかなり時間がかかりますが、ランタイムでの解凍は高速です。
Compressor Quality Crunch テクスチャ圧縮では、スライダーを使って品質を調整することができます。高品質な圧縮は、より大きなテクスチャや、より長い圧縮時間を意味します。

  • 2017–09–18 限られた 編集レビュー で修正されたページ

  • Crunch 圧縮形式 2017.3 で更新NewIn20173

Texture コンポーネント
テクスチャのインポート