2Dテクスチャ(Texture 2D)
Manual     Reference     Scripting   
Unity マニュアル > ユーザガイド > アセットの使用 > 2Dテクスチャ

このドキュメントは有志により翻訳されたもので、オフィシャルではありません。オリジナルのページはこちら
This document is unofficially translated by users.Please see the original document here.

翻訳に関する修正など、ご連絡はこちらまで。
Please send e-mail to here, when you have any question about the translation.

2Dテクスチャ(Texture 2D)

テクスチャ(Textures)メッシュ(Meshes)パーティクル(Particles)やインタフェースに命を与えます!テクスチャはオブジェクトに投影される画像や動画ファイルです。非常に重要であるため、多くの属性を持っています。この項を初めて読むのであれば、詳細(Details)を読み、必要に応じて実際の属性を参照すると良いでしょう。

オブジェクトに用いるシェーダでは、特定のテクスチャを要求します。しかし、基本的にプロジェクト中にある全ての画 像が使用できます。もし、サイズ調整が必要な場合(あとに記述)、インポートされ、ゲームあわせて調整されます。マルチレイヤのPhotoshopファイ ルやTIFFファイルは単一レイヤにまとめられてインポートされますので、ゲーム上でファイルサイズの問題はありません。

属性(Properties)

テクスチャインスペクタ(Texture Inspector) は他のインスペクタと少し異なります:

上段にいくつかの設定があり、下段にはインポート設定とテクスチャのプレビューがあります。



Aniso Level急な角度でテクスチャを見る場合にテクスチャの品質を向上します。床や地面のテクスチャに適しています。以下を参照してください。
Filter Mode3次元変換によって引き伸ばされた場合にテクスチャをフィルタする方法:
No Filteringテクスチャは近づくとブロック状になります。
Bilinearテクスチャは近づくとブラーがかかります
TrilinearBilinearに近いですが、ミップレベルに応じてブラーがかかります。
Wrap Modeテクスチャをどのようにタイル(繰り返す)か:
Repeatテクスチャをタイル状に繰り返す
Clampテクスチャの端を引き伸ばす

インポート設定(Import Settings)

テクスチャは全てプロジェクトフォルダ(Project Folder)の画像ファイルから作られます。どのようにインポートするかはテクスチャのインポート設定(Import Settings)で定義されます。プロジェクトビュー(Project View)でテクスチャファイルを選択しインスペクタ(Inspector)インポート設定で編集します。


テクスチャインポート設定ダイアログ


Max Texture Sizeインポートするテクスチャの最大サイズ。多くのアーティストは高い解像度で作業をしますので、この設定に基づいて自動的にサイズを調節します。
Texture Formatテクスチャの内部データ形式。サイズと品質のトレードオフです。下記の例ではゲーム中での256x256ピクセルのテクスチャサイズを示しています:
RGB Compressed DXT1圧縮されたRGBテクスチャ。拡散テクスチャに使われる、最も一般的なフォーマット。4bit/1pixel (256x256のテクスチャで32KB)
RGBA Compressed DXT5圧縮されたRGBAテクスチャ。拡散と反射光制御テクスチャに使われる主なフォーマット。1 byte/pixel (256x256のテクスチャで64 KB)
RGB 16 bitアルファ無し65000色。圧縮DXTフォーマットはメモリ使用量が少なく、通常見栄えも良くなります。256x256のテクスチャで128KB。
RGB 24 bitアルファ無しトゥルーカラー。256x256のテクスチャで192KB。
Alpha 8 bit高品質アルファチャネル。色無し。256x256のテクスチャで64KB。
RGBA 16 bit低品質トゥルーカラー。16階調の赤、緑、青、アルファ。圧縮DXT5フォーマットはメモリ使用量が少なく、通常見栄えも良くなります。256x256のテクスチャで128KB。
RGBA 32 bitア ルファ有りトゥルーカラー。最高の品質です。256x256のテクスチャで256KBとなり、高負荷です。殆どの場合DXT5はもっと小さなサイズでも十 分な品質を提供します。このフォーマットを使う主な場所は、DXT圧縮が視覚的な品質の劣化を引き起こしやすいバンプマップです。
Build Alpha From Grayscale有効化すると、透明度アルファチャネルが画像の明暗から生成されます。
Non Power of 2 sizesテクスチャのサイズが2の累乗でなかった場合、インポート時の拡縮方式を設定します。(詳しくは、以下のテクスチャサイズ(Texture Sizes)の章を参照してください):
Keep originalテクスチャはGUITextureコンポネントで使用するために、2の累乗サイズに敷き詰めて拡大されます。
Scale to nearestテクスチャは最も近い2の累乗サイズに拡縮されます。例えば257x511のテクスチャは256x512となります。PVRTCフォーマットはテクスチャが正方形であることを必要としますので、512x512に拡大されます。
Scale to largerテクスチャは2の累乗サイズに拡大されます。例えば257x511のテクスチャは512x512となります。
Scale to smallerテクスチャは2の累乗サイズに縮小されます。例えば257x511のテクスチャは256x256となります。
Generate Cube Mapテクスチャからキューブマップを異なる生成手法に応じて生成します。
Is Readable選択すると、スクリプトからテクスチャデータにアクセスできます(GetPixels, SetPixelsやその他のTexture2D関数)。テクスチャデータをコピーするとアセットのメモリ使用率が倍増することに注意してください。ほんとうに必要な場合だけ有効にしてください。デフォルトでは無効です。
Generate Mip Mapsミップマップの生成を有効化します。ミップマップはテクスチャの小さいバージョンで、スクリーン上でテクスチャが非常に小さい場合に使用されます。詳細はミップマップ(Mip Maps)を参照してください。
Correct Gammaミップレベルに応じたガンマ修正を有効にします。
Border Mip Mapsみっプレベルが低い場合にエッヂ部から色が染み出すのを避けます。ライトクッキーに使用されます(以下を参照)
Mip Map Filteringミップマップフィルタは画像の品質を調整するために2つの方法が使えます:
Box最も単純にミップマップをフェードアウトします。サイズが小さくなるに連れて、ミップレベルはスムーズになります
Kaiserサイズが小さくなるに連れて、Kaiserアルゴリズムによるシャープ化が行われます。遠くから見た際にテクスチャがぼやけすぎている場合このオプションを試してみてください。
Fade Out Mips有効化するとミップマップはレベルによって灰色にフェードします。これは詳細マップに用いられます。
Fade Out startフェードアウトを開始するミップレベル。
Fade Out End完全にグレーアウトするミップレベル。
Generate Bump Map有効化すると、カラーチャネルをリアルタイムバンプマッピングに適したフォーマットに変換します。詳細はバンプマップ(Bump Maps)を参照してください。
Bumpinessバンプの強さをコントロールします。
Filteringバンプの計算方法を決定します:
Standard非常にスムーズな法線まぷを生成します。
SobelSobelフィルタはStandardよりシャープな法線マップを生成します。

詳細(Details)

サポートされているフォーマット(Supported Formats)

Unityでは次のファイルフォーマットを使用できます: PSD, TIFF, JPG, TGA, PNG, GIF, BMP, IFF, PICT。UnityがマルチレイヤのPSDとTIFFファイルをそのまま読めるわけではないので注意が必要です。それらはインポート時に自動的に1つの レイヤにされます。しかし、アセット自身は情報を保持していますので、ファイル自体として扱う場合はレイヤのデータは使用できます。これは Photoshopから3Dモデリングアプリケーションを通してUnityまで単一のファイルで扱える点で、重要な特徴です。

テクスチャのサイズ(Texture Sizes)

テクスチャサイズは基本的に2の累乗であるべきです。例えば 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 や 2048 ピクセルです。テクスチャは正方形である必要はありません。 つまり、幅と高さは違っている場合も有り得ます。

Unityではその他(2の累乗でない)のサイズを使うことも可能です。2の累乗でないサイズはGUI テクスチャ(GUI Textures)に おいて有効です。しかし、その他のものに使用すると非圧縮のRGBA32ビットフォーマットに変換されます。つまり(DXT圧縮テクスチャに比べて)多く のビデオメモリを占有してしまい、読み込みが遅くなるでしょう。通常2の累乗でないサイズはGUIの作成のみに用いられます。

2の累乗でないテクスチャアセットはインポート時に、インポート設定のNon Power of 2 sizesオプションを用いて拡縮出来ます。Unityはテクスチャコンテントを要求どおりに拡縮し、ゲーム中ではその他のテクスチャと同様に機能します。圧縮され非常に速く読み込むことが出来ます。

UVマッピング(UV Mapping)

2Dテクスチャを3Dモデルにマッピングする際、ある種の貼付けが行われます。これはUVマッピング(UV mapping)と呼ばれ、3Dモデリングアプリケーションで行われます。Unity中では、テクスチャをマテリアル(Materials)を利用してテクスチャを拡縮したり、移動したり出来ます。バンプと詳細マップの各祝は特に便利です。

ミップマップ(Mip Maps)

ミップマップは徐々に小さくなる画像バージョンのリストです。実時間3Dエンジンにおいてパフォーマンス最適化に用いられます。オブジェクトがカメ ラから遠い場合は、小さなテクスチャバージョンを使用します。ミップマップを使うと33%のメモリを余分に使用しますが、使用しない場合は非常に大きなパ フォーマンスの劣化を引き起こします。ゲーム中のテクスチャにおいて、ミップマップは常に使用するべきです。唯一の例外は絶対に小さくならないもの(つま りGUIテクスチャ)には使わないということです。

バンプマップ(Bump Maps)

バンプマップ(Bump maps)はバンプマップシェーダによって使用され、低ポリゴンモデルがUnity中でより詳細にモデリングされているかのように表示します。Unity は法線マップをRGB画像にエンコードして使用します。また、グレースケールの高さマップ画像から法線マップを生成するオプションもあります。

詳細マップ(Detail Maps)

地形(terrain)を使う場合、通常メインのテクスチャを使用して、どこが草地で岩場で砂場であるということを示します。地形が適切なサイズであれば、とてもぼやけた地形になってしまうでしょう。詳細テクスチャ(Detail textures)はテクスチャが近づくに連れて詳細にフェードすることで、ぼやけてしまうことを回避します。

詳細テクスチャを描く場合、中間値のグレーは不可視です。白はメインのテクスチャを2倍明るくし、黒はメインのテクスチャを完全に黒くします。

キューブマップ(Cube Maps)

テクスチャを反射マップに使用したい(例えばReflectiveビルトインシェーダをつかう)場合、キューブマップテクスチャ(Cubemap Textures)を使う必要があります。

異方性フィルタ(Anisotropic filtering)

異方性フィルタ(Anisotropic filtering)は浅い角度から見た時のテクスチャの質を、多少高負荷なレンダリングコスト(コストはグラフィックカードのもの)によって向上します。異方性レベルを増加すると、通常、地面や床のテクスチャの質が向上します。品質設定(Quality Settings) で異方性フィルタを全てのテクスチャについて強制したり、完全に無効化することが出来ます。


異方性を使用しない場合の地面テクスチャ

異方性を最大化した場合の地面テクスチャ

ライトクッキー(Light Cookies)

シーンに多くの視覚的詳細を追加する興味部位会方法はクッキー(Cookies)を使用することです。ゲーム中のライティングをコントロールするグレースケールのテクスチャにより行ないます。これは、流れる雲や群葉を非常に素晴らしく作成できます。
 - greyscale textures you use to control the precise look of in-game lighting. This is fantastic for making moving clouds and giving an impression of dense foilage. The ライト(Light) のページに詳細が記述されていますが、重要なことは、クッキーに使用できるテクスチャでは次に示す属性が設定されなければならないということです:

スポットライトクッキー(Spotlight Cookies)では、次の設定を使用します:



Texture Formatアルファチャネルを持つどれかを設定: Alpha 8 bit (推奨)、 DXT5 RGBARGBA 16 bitRGBA 32 bit.
Build Alpha from RGB Grayscale有効化
Generate Mip Maps有効化
Border Mip Maps有効化

正しい効果を得るためにはクッキーテクスチャの端部はソリッドな黒でなければなりません。テクスチャインスペクタでEdge ModeをClampに設定してください。

ディレクショナルライト(Directional Lights)では、次の設定を使用します:



Texture Formatアルファチャンネルを持つどれかを設定: Alpha 8 bit (推奨)、DXT5 RGBARGBA 16 bitRGBA 32 bit.
Build Alpha from RGB Grayscale有効化
Generate Mip Maps有効化
Border Mip Maps無効化

このテクスチャはタイル化されますので、テクスチャインスペクタでEdge ModeをRepeatに設定する必要があります。

ポイントライト(Point Lights)では、キューブマップ(Cube Maps)を使わなければなりません。生成するには6枚のテクスチャを作りキューブマップテクスチャ(Cubemap Textures)で説明されているように割り当てるか、次の設定によって生成します:



Texture Formatアルファチャンネルを持つどれかを設定: Alpha 8 bit (推奨)、DXT5 RGBARGBA 16 bitRGBA 32 bit.
Generate Cube MapNone以外の設定ならどれでも
Build Alpha from RGB Grayscale有効化
Generate Mip Maps有効化
Border Mip Maps無効化