車両から出る排気煙
イメージエフェクト概要

テクスチャとビデオ

通常、メッシュジオメトリはオブジェクトの大雑把な形状を示しているのみで、細部の描写のほとんどは テクスチャ によって表されます。テクスチャとは一般的なビットマップ画像で、メッシュの表面に張られています。例えるならば、テクスチャ画像とはゴムのシート上に印刷された物で、メッシュのおおよその位置に引き伸ばされ、ピン付けされた状態だと言えます。テクスチャの位置はメッシュの作成に使用した 3D モデリングソフトで指定されます。

木の樹皮のシリンダー
木の樹皮のシリンダー

Unity は一般的な画像ファイルからテクスチャをインポートすることができます。

3D モデルで使用するテクスチャ

テクスチャは マテリアルの作成と使用を使用してオブジェクトに貼り付けることができます。マテリアルは マテリアルとシェーダーとテクスチャと呼ばれる特別なグラフィックプログラムを使用してメッシュ表面上のテクスチャを描画することができます。シェーダーはライティングとカラーリングのエフェクトを使用して、明るさや表面の凹凸をその他の物と一緒に再現することができます。また、一度に 2 枚以上のテクスチャを使用し、組み合わせることでさらなる柔軟性を持たせることができます。

テクスチャを作成するときは、2 の累乗にあたる長さとすべきです(例えば 32x32、64x64、128x128、256x256、等)。プロジェクトの Assets フォルダーに配置するだけで十分で、それによりプロジェクトビューに表示されます。

テクスチャを一回インポートしたら、マテリアル にアサインできます。マテリアルは次にメッシュ、 Particle System 、または GUI Texture に適用することができます。 Import Settings を使用して、さらにゲームでの適用方法に応じて Cubemap または Normalmap に変換できます。テクスチャインポートの詳細については、Texture コンポーネント を参照してください。

2D グラフィック

2D ゲームでは、 Sprites はオブジェクトの形とおおよそ同じ平坦なメッシュに使われるテクスチャです。

3D 視点のスプライト
3D 視点のスプライト

2D ゲーム内のオブジェクトはアニメーションフレームを表現するため、もしくはキャラクターのいろいろなステータスを再現するために、関連性のあるグラフィックイメージのセットを要求するでしょう。これらのグラフィックイメージのセットのデザインに使用でき、効率的なレンダリングを可能にするスペシャルテクニックがあります。詳細はマニュアルページの スプライトエディター を参照してください。

ビデオ

Unity は静的なテクスチャイメージを使えるほとんどの場所でビデオファイルを使用できます。デスクトッププラットフォームでは、Movie Texture がシーン内のオブジェクト上でビデオを再生するのに使われます。つまり、ゲーム内で TV スクリーンに使ったり、抽象的なムービーを使ってオブジェクトの表面に“カメレオン”エフェクトを作ることができます。モバイルデバイスではフルスクリーンでのビデオ再生に限定され、オプションとして再生/ポーズなどの制御があります。Unity でのビデオのインポートと再生についての詳細は ムービーテクスチャのリファレンスページを参照してください。

GUI

ゲームの graphic user interface (GUI) とは、ゲームシーンに直接使用されない、プレイヤーが選択肢を選ぶ事や情報を見る事を可能にするグラフィックから成る物です。例えば、スコアの表示やオプションメニューが一般的な GUI の見本になります。これらのグラフィックはメッシュサーフェスのディティールに使うものとは明らかに違いますが、標準的な Unity のテクスチャを使用して処理されます。  Unity の GUI システムについての詳細は、マニュアルの Immediate Mode GUI (IMGUI) のチャプターを参照してください。

パーティクル

メッシュは立体のオブジェクトを表すのには理想的ですが、魔法に使われるような炎、煙、閃光などの表現にはあまり向いていません。このタイプのエフェクトをより良く表現するには Particle Systems が適しています。particle とは基本的に煙雲のように形が固まっていない、ガス状の小さな 2D グラフィックの集合体です。多くのパーティクルを同時に生成、その動きを設定、任意でランダムなバリエーションを追加することで利便性の高いエフェクトを生成できます。例えば、爆発を表現するには炎のテクスチャを持つパーティクルを中心点から高速で外側に送り出します。滝はシーンの高いところから水のパーティクルを下方向へ加速させることで再現できます。

Star のパーティクルシステム
Star のパーティクルシステム

Unity のパーティクルシステムは多くの種類の流動的なエフェクトを作るために豊富なオプションを持っています。詳細は パーティクルシステム の項目を参照してください。

Terrain ハイトマップ

テクスチャは直接的にイメージが表示されないようなケースで用いられることもあります。グレースケール画像の各ピクセルの数値は、単に画像内のポイントとグレイの陰影を対応させた数値になります(0..1 範囲内の値で、0 が黒で 1 が白になる)。各ピクセルの数値は他の用途にも使用でき、 Terrain Heightmaps はまさにこのような形で制作されています。

terrain は地面の領域内の各ポイントにおいて、ベースラインからの高さを描画するためのメッシュになります。terrain に使う heightmap は、各ピクセルと地面の座標が一致している画像のグレースケール値を等間隔な高さのサンプルとして格納します。数値は画像としてシーンに表示されませんが、terrain メッシュを生成するために使用される座標へ変換されます。

興味深いことに、ハイトマップは画像として直接見ることはないにもかかわらず、一般的な画像処理技術とされ高さのデータを用いるのに使用されています。例えば、heightmap にノイズを加えることで岩場の印象を作成し、滲ませることでよりソフトな景観を作成します。

Unity の Terrain についての詳細は、マニュアルの Terrain Engineを参照してください。

車両から出る排気煙
イメージエフェクト概要