通常、メッシュジオメトリはオブジェクトの大雑把な形状を示しているのみで、細部の描写のほとんどは テクスチャ によって表されます。テクスチャとは一般的なビットマップ画像で、メッシュの表面に張られています。例えるならば、テクスチャ画像とはゴムのシート上に印刷された物で、メッシュのおおよその位置に引き伸ばされ、ピン付けされた状態だと言えます。テクスチャの位置はメッシュの作成に使用した 3D モデリングソフトで指定されます。
Unity は一般的な画像ファイルからテクスチャをインポートすることができます。
テクスチャは マテリアルを通してオブジェクトに適用されます。マテリアルは シェーダー と呼ばれるグラフィック用の特別なプログラムを使用して、メッシュ表面にテクスチャを描画します。シェーダーには、周囲の様々な影響を受ける物体表面の光沢や凹凸などをシミュレートするための、ライティングとカラーリングの効果を実装する事ができます。また、一度に 2 枚以上のテクスチャを使用し、組み合わせることでさらなる柔軟性を持たせることができます。
テクスチャを作成するときは、2 の累乗にあたる長さとすべきです(例えば 32x32、64x64、128x128、256x256、等)。プロジェクトの Assets フォルダーに配置するだけで十分で、それによりプロジェクトビューに表示されます。
インポートされたテクスチャはマテリアル に割り当てることができます。マテリアルは次にメッシュや パーティクルシステム 、または GUI テクスチャ などに適用することができます。 インポート設定 では、ゲームでの使用方法に応じて キューブマップ や 法線マップ などに設定する事もできます。テクスチャインポートの詳細については、テクスチャコンポーネント を参照してください。
2D ゲームでは、 スプライト は、オブジェクトの形に似せた平らなメッシュに適用されるテクスチャを使って実装されます。
2D ゲーム内のオブジェクトには、アニメーションフレームを表現するため、またはキャラクターのいろいろな状態を表現するために、関連性のあるグラフィックイメージのセットが必要です。これらのグラフィックイメージのセットを作成し、効率的にレンダリングすることを可能にする特別な技術があります。詳細は スプライトエディター を参照してください。
ゲームの graphic user interface (GUI) は、ゲームシーンに直接は使用されません。しかし、プレイヤーが選択を行ったり情報を見るためにあります。例えば、スコアの表示やオプションメニューが一般的な GUI の例です。これらのグラフィックスはメッシュサーフェスの詳細を設定するものとは明らかに違いますが、標準的な Unity のテクスチャを使用して処理されます。Unity の GUI システムについての詳細は、マニュアルの Immediate Mode GUI (IMGUI) のチャプターを参照してください。
メッシュは立体のオブジェクトを表すのには理想的ですが、魔法に使われるような炎、煙、閃光などの表現にはあまり向いていません。このタイプのエフェクトをより良く表現するには パーティクルシステム が適しています。パーティクル とは基本的に煙雲のように形が固まっていない、ガス状の小さな 2D グラフィックの集合体です。多くのパーティクルを同時に生成、その動きを設定、任意でランダムなバリエーションを追加することで利便性の高いエフェクトを生成できます。例えば、爆発を表現するには炎のテクスチャを持つパーティクルを中心点から高速で外側に送り出します。滝はシーンの高いところから水のパーティクルを下方向へ加速させることで表現できます。
Unity のパーティクルシステムは多くの種類の流動的なエフェクトを作るために豊富なオプションを持っています。詳細は パーティクルシステム の項目を参照してください。
テクスチャは、直接的には画像が表示されないようなケースに用いられることもあります。グレースケール画像の各ピクセルの数値は、単に画像内のポイントとグレイの陰影を対応させた数です (0..1 範囲内の値で、0 が黒で 1 が白です)。各ピクセルの数値は他の用途にも使用できます。Terrain のハイトマップ はまさにこれを使って作成されます。
Terrain は領域内の各ポイントで、ベースラインから特定の高さを描画するためのメッシュです。Terrain の ハイトマップ は、各ピクセルと地面のグリッド座標が対応する画像のグレースケール値を、等間隔な高さのサンプルとして格納します。数値は画像としてシーンに表示されませんが、Terrain メッシュを生成するために使用される座標へ変換されます。
興味深いことに、ハイトマップは画像として直接表示されることがないにもかかわらず、良く使用される画像処理技術で、高さのデータを用いるのに有用です。例えば、ハイトマップにノイズを加えることで岩場の印象を作成し、滲ませることでよりソフトな景観を作成します。
Unity の Terrain についての詳細は、マニュアルの Terrain Engineを参照してください。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.