通常、メッシュジオメトリはオブジェクトの大雑把な形状を示しているのみで、細部の描写のほとんどは__テクスチャ__によって表されます。テクスチャとは一般的なビットマップ画像で、メッシュの表面に張られています。例えるならば、テクスチャ画像とはゴムのシート上に印刷された物で、メッシュの適切な位置に引き伸ばされ、ピン付けされた状態だと言えます。テクスチャの位置はメッシュの作成に使用した 3D モデリングソフトウェアで指定されます。
Unity は一般的な画像ファイルからテクスチャをインポートすることができます。
このページでは、以下の用語を使用しています。
テクスチャは マテリアル を通してオブジェクトに適用されます。マテリアルは シェーダー と呼ばれるグラフィック用の特別なプログラムを使用して、メッシュ表面にテクスチャを描画します。シェーダーは、物体表面の光沢や凹凸などをシミュレートするための、ライティングとカラーリングの効果を実装することができます。また、一度に 2 枚以上のテクスチャを使用し、組み合わせることでさらなる柔軟性を持たせることができます。
テクスチャを作成するときは、2 の累乗にあたる長さとすべきです (例えば 32x32、64x64、128x128、256x256、等)。プロジェクトの Assets フォルダーに配置するだけで十分で、それにより Project ウィンドウに表示されます。
インポートされたテクスチャは マテリアル に割り当てることができます。マテリアルは次にメッシュや__パーティクルシステム、または GUI テクスチャ__などに適用することができます。__インポート設定__では、ゲームでの使用方法に応じて__キューブマップ__や__法線マップ__などに設定する事もできます。テクスチャインポートの詳細については、テクスチャコンポーネント を参照してください。
2D ゲームでは、__スプライト__は、オブジェクトの形に似せた平らなメッシュに適用されるテクスチャを使って実装されます。
2D ゲーム内のオブジェクトには、アニメーションフレームを表現するため、またはキャラクターのいろいろな状態を表現するために、関連性のあるグラフィックイメージのセットが必要です。これらのグラフィックイメージのセットを作成し、効率的にレンダリングすることを可能にする特別な技術があります。詳細は スプライトエディター を参照してください。
ゲームの_グラフィックスユーザーインターフェース_ (GUI) は、ゲームシーンで直接使用されないグラフィックスで構成されますが、プレイヤーが選択したり情報を見たりできるようにするためのものです。例えば、スコア表示やオプションメニューはゲームの GUI の典型例です。これらのグラフィックスは、メッシュサーフェスのディテールに使用されるものとは明らかに異なりますが、標準の Unity テクスチャを使用してハンドルされます。Unity の GUI システムの詳細については、GUI スクリプティングガイド のマニュアルの章を参照してください。
メッシュは立体のオブジェクトを表すのには理想的ですが、魔法に使われるような炎、煙、閃光などの表現にはあまり向いていません。このタイプのエフェクトをより良く表現するには__パーティクルシステム__が適しています。_パーティクル_とは基本的に煙雲のように形が固まっていない、ガス状の小さな 2D グラフィックの集合体です。多くのパーティクルを同時に生成、その動きを設定、任意でランダムなバリエーションを追加することで利便性の高いエフェクトを生成できます。例えば、爆発を表現するには炎のテクスチャを持つパーティクルを中心点から高速で外側に送り出します。滝はシーンの高いところから水のパーティクルを下方向へ加速させることで表現できます。
Unity のパーティクルシステムは多くの種類の流動的なエフェクトを作るために豊富なオプションを持っています。詳細は パーティクルシステム の項目を参照してください。
異方性フィルタリングは、グレージング角から表示されたときに、テクスチャの品質を向上させます。このレンダリングはグラフィックスカードのリソースに負荷をかけます。異方性のレベルを上げると、通常、地面と床のテクスチャの画質を向上させます。Quality 設定では、異方性フィルタリングをすべてのテクスチャに強制的に実行するか、完全に無効に設定します。ただし、テクスチャの Aniso level が Texture Import Settings で 0 に設定されている場合は、強制された異方性フィルタリングはこのテクスチャには表示されません。
