通常,メッシュジオメトリはオブジェクトの大雑把な形状を示しているのみで,細部の描写のほとんどはテクスチャによって表されます。テクスチャとは一般的なビットマップ画像で,メッシュの表面に張られています。例えるならば,テクスチャ画像とはゴムのシート上に印刷された物で,メッシュのおおよその位置に引き伸ばされ,ピン付けされた状態だと言えます。テクスチャの位置はメッシュの作成に使用した3Dモデリングソフトで指定されます。
Unityではほとんどの一般的なイメージファイルフォーマットのテクスチャを読み込むことができます。さらに,プロライセンス版では,動画ファイルをインポートして,動画テクスチャを作成し,オブジェクトの表面で再生させることができます。他にもプロライセンス版の機能として,レンダーテクスチャがあり,ゲーム内のカメラからの描写を使用して,生で動くテクスチャを作成することができます。
テクスチャはMaterialsを使用してオブジェクトに貼り付けることができます。マテリアルはShadersと呼ばれる特別なグラフィックプログラムを使用してメッシュ表面上のテクスチャを描画することができます。シェーダーはライティングとカラーリングのエフェクトを使用して,明るさや表面のおうとつをその他の物と一緒に再現することができます。また,一度に2枚以上のテクスチャを使用し,組み合わせることでさらなる柔軟性を持たせることができます。
2Dゲームでは,Spritesはオブジェクトの形とおおよそ同じ平坦なメッシュに使われるテクスチャです。
2Dゲーム内のオブジェクトはアニメーションフレームを表現するため,もしくはキャラクターの色々なステータスを再現するために,関連性のあるグラフィックイメージのセットを要求するでしょう。これらのグラフィックイメージのセットのデザインに使用でき,効率的なレンダリングを可能にするスペシャルテクニックがあります。詳細はマニュアルページの Sprite Editor を参照してください。
プロライセンス版であれば,Unityはスタティックテクスチャイメージを使えるほとんどの場所でビデオファイルを使用できます。デスクトッププラットフォームでは,Movie Texturesがシーン内のオブジェクト上でビデオを再生するのに使われます。つまり,ゲーム内でTVスクリーンに使ったり,抽象的なムービーを使ってオブジェクトの表面に“カメレオン”エフェクトを作ることができます。モバイルデバイスではフルスクリーンでのビデオ再生に限定され,オプションとして再生/ポーズと他のコントロールがあります。Unityでのビデオのインポート及び再生についての詳細はMovie Texturesのリファレンスページを参照してください。
テクスチャの最も一般的な使い方はシーンのオブジェクトの表面にディティールを追加することです。しかし,イメージはゲーム内で様々な使い道があります。下記ではより一般的な新しいイメージの使い方のうち,いくつかについて論じています。
ゲームの graphic user interface (GUI) とは,ゲームシーンに直接使用されない,プレイヤーが選択肢を選ぶ事や情報を見る事を可能にするグラフィックから成る物です。例えば,スコアの表示やオプションメニューが一般的なGUIの見本になります。これらのグラフィックはメッシュサーフェスのディティールに使うものとは明らかに違いますが,標準的なUnityのテクスチャを使用して処理されます。 UnityのGUIシステムについての詳細は,マニュアルのGUI Scripting Guide のチャプターを参照してください。
メッシュは立体のオブジェクトを表すのには理想的ですが,魔法に使われるような炎,煙,閃光などの表現にはあまり向いていません。このタイプのエフェクトをより良く表現するにはParticle Systemsが適しています。_particle_とは基本的に煙雲のように形が固まっていない,ガス状の小さな2Dグラフィックの集合体です。多くのパーティクルを同時に生成,その動きを設定,任意でランダムなバリエーションを追加することで利便性の高いエフェクトを生成できます。例えば,爆発を表現するには炎のテクスチャを持つパーティクルを中心点から高速で外側に送り出します。滝はシーンの高いところから水のパーティクルを下方向へ加速させることで再現できます。
Unityのパーティクルシステムは多くの種類の流動的なエフェクトを作るために豊富なオプションを持っています。詳細は マニュアル の項目を参照してください。
テクスチャは直接的にイメージが表示されないようなケースで用いられることもあります。グレースケール画像の各ピクセルの数値は,単に画像内のポイントとグレイの陰影を対応させた数値になります(0..1範囲内の値で, 0が黒で1が白になる)。各ピクセルの数値は他の用途にも使用でき,Terrain Heightmapsはまさにこのような形で制作されています。
terrain は地面の領域内の各ポイントにおいて,ベースラインからの高さを描画するためのメッシュになります。terrainに使う_heightmap_は,各ピクセルと地面の座標が一致している画像のグレースケール値を等間隔な高さのサンプルとして格納します。数値は画像としてシーンに表示されませんが,terrainメッシュを生成するために使用される座標へ変換されます。
興味深いことに,ハイトマップは画像として直接見ることはないにもかかわらず,一般的な画像処理技術とされ高さのデータを用いるのに使用されています。例えば,heightmapにノイズを加えることで岩場の印象を作成し,滲ませることでよりソフトな景観を作成します。
Unityのterrainについての詳細はマニュアルのTerrainを参照してください。