3Dのテクスチャとは?ゲームでの意味・ポリゴンとの違い・UVを解説

3DCG基礎情報

3Dのテクスチャとは?ゲームでの意味・ポリゴンとの違い・UVを解説

3DCGゲームを作るときによく出てくる言葉の1つが「テクスチャ」です。

テクスチャとは簡単にいうと、3Dモデルの表面に貼り付けて、色や模様、質感などを表現するための画像データです。

初心者向けにかなり簡単にいうなら、

ポリゴンが形を作り、テクスチャがその表面の見た目を作る

と考えると分かりやすいです。

以前ポリゴンについて説明したので、今回はゲーム制作で使われるテクスチャについて説明します。

3Dゲームで使われるテクスチャとは?

3Dモデルは、ポリゴンだけでは形があるだけの状態です。

例えば人間のキャラクターなら、ポリゴンによって、

顔の形。

腕の形。

体の形。

服の形。

などが作られています。

しかし、それだけでは肌の色や服の模様までは表現できません。

そこでモデルの表面にテクスチャを貼り、

肌。

服。

髪。

傷。

木目。

石の模様。

などを表現します。

そのため、ゲーム制作を始めたばかりの人であれば、まずは

「テクスチャ=3Dモデルの表面に貼る絵」

と覚えてしまって問題ありません。

ただし、現在の3DCGではテクスチャは単純な色の絵だけではありません。

表面の凹凸や光の反射などを表現するためにも、さまざまな種類のテクスチャが使われています。

ポリゴンとテクスチャの違い

検索でもよく見かけるのが、

「ポリゴンとテクスチャは何が違うの?」

という疑問です。

この2つは役割がまったく違います。

項目ポリゴンテクスチャ
主な役割3Dモデルの形を作る表面の見た目を作る
例顔の輪郭、腕、建物の形肌、服、木目、壁の模様
細かくすると形を滑らかにできる表面を細かく表現できる
主な負荷頂点・ポリゴン数など解像度・枚数・形式など

例えば岩を作る場合、

岩そのものの形を作っているのがポリゴン

で、

岩の表面にある色や模様を表現しているのがテクスチャ

です。

つまり、ポリゴンだけ細かくしても、表面の模様までは作れません。

逆に、非常に高精細なテクスチャを用意しても、モデル自体の形が四角ければ、シルエットまで丸くなるわけではありません。

両方を組み合わせて、最終的な3Dモデルの見た目を作ります。

テクスチャを3Dモデルに貼るUVとは?

テクスチャを用意しただけでは、3Dモデルのどこに画像のどの部分を貼ればいいのか分かりません。

そこで使われるのがUV座標です。

3D空間では一般的にX・Y・Zという座標を使いますが、テクスチャ上の位置を表すためにU・Vという座標を使います。

3Dモデルの頂点などに、

「テクスチャのこの位置を、この場所に表示する」

という情報を持たせることで、モデルの表面へ画像を貼り付けます。

検索すると、キャラクターの顔や体がアジの開きのように広げられた画像を見ることがあると思います。

あれは3Dモデルの表面を2D上に展開したものです。

この作業をUV展開と呼びます。

テクスチャは単なる色の画像だけではない

初心者には「テクスチャ=絵」と説明すると分かりやすいのですが、実際の3DCGでは複数のテクスチャを組み合わせて見た目を作ります。

代表的なものには、

  • ベースカラー・アルベド:表面の基本的な色
  • ノーマルマップ:細かな凹凸を表現する
  • ラフネス:表面の粗さ、光沢の出方を調整する
  • メタリック:金属らしさを表現する
  • AO:細かな陰影を補助する
  • マスク:特定部分だけに処理を適用する

などがあります。

例えばポリゴンそのものを細かく作らなくても、ノーマルマップを使うことで細かな凹凸があるように見せることができます。

ゲームでは処理負荷とのバランスを取るため、こうしたテクスチャを利用して見た目を作ることも重要になります。

ゲームではテクスチャサイズも重要

ゲーム制作では、テクスチャの解像度も重要です。

よく使われるサイズには、

256×256。

512×512。

1024×1024。

2048×2048。

4096×4096。

などがあります。

これらはすべて**2のべき乗(Power of Two)**になっています。

以前のゲーム機やGPUでは、2のべき乗サイズであることが強く求められていました。

現在では600×600など、2のべき乗ではないテクスチャも扱える環境が増えています。

ただし、ゲーム制作では現在でも2のべき乗を基本にすることが多いです。

理由としては、ミップマップ、テクスチャ圧縮、各プラットフォームへの対応などで扱いやすいためです。

そのため、

特別な理由がなければ256、512、1024、2048などで作る

という考え方は、現在でも覚えておいてよいと思います。

なぜ2のべき乗が使われるの?

コンピューターは2進数を基本に動いているため、2のべき乗のデータはコンピューターで扱いやすいという背景があります。

ただし、

「コンピューターが0と1で動くから、必ず2のべき乗でなければならない」

というほど単純な話ではありません。

GPU、ゲームエンジン、圧縮形式、ミップマップ、対応するゲーム機など、複数の要因があります。

ゲームプランナーであれば、

ゲーム用テクスチャでは2のべき乗サイズがよく使われる

ということを理解しておけば、まずは十分です。

さらに詳しい理由が必要になった場合は、グラフィックス担当のプログラマーやテクニカルアーティストに確認するのがいいでしょう。

ミップマップとは?

テクスチャでは、元画像より小さいサイズの画像をあらかじめ用意しておくことがあります。

これを**ミップマップ(Mipmap)**と呼びます。

例えば、

1024×1024
↓
512×512
↓
256×256
↓
128×128

というように、小さい画像を段階的に用意します。

遠くにある物体へ巨大なテクスチャをそのまま使用する必要はありません。

カメラから遠い場合には、小さいテクスチャを使うことで描画を効率化したり、表示のちらつきを抑えたりできます。

このような仕組みでも、2のべき乗サイズは扱いやすくなります。

キャラクターのテクスチャ

キャラクターでは、そのキャラクター専用のテクスチャを持つことがよくあります。

顔。

体。

服。

髪。

装備。

などのテクスチャをまとめたり、用途によって分けたりして管理します。

昔のゲーム開発では、メモリや読み込み速度の制約も大きかったため、可能な限り1枚のテクスチャへ効率よく詰め込むような作り方も多く使われていました。

キャラクターのUVを見ると、テクスチャの空いている場所をできるだけ使うように配置されていることがあります。

限られたテクスチャ領域を無駄なく使用するためです。

背景やオブジェクトのテクスチャ

背景の場合は、キャラクターとは違った考え方でテクスチャを使うこともあります。

例えばゲーム内に、

木の机。

木箱。

木の壁。

があるとします。

それぞれに別々の木目画像を持たせるのではなく、同じ木目のテクスチャを複数のオブジェクトで共有することができます。

こうすれば同じ画像データを使い回せます。

また、壁や地面のように広い場所では、同じテクスチャを繰り返し表示することもあります。

キャラクターのように1つのモデル専用で作る場合もあれば、複数の背景オブジェクトで共有する場合もあるわけです。

ゲームによって最適な作り方は変わります。

テクスチャは大きければいいわけではない

テクスチャの解像度を大きくすれば、細かな表現をしやすくなります。

しかし、大きくすればするほど良いわけではありません。

高解像度のテクスチャは、

データ容量。

メモリ使用量。

読み込み。

描画。

などにも影響します。

また、小さくしか表示されないオブジェクトへ4096×4096のテクスチャを使用しても、その細かさをプレイヤーが認識できない場合があります。

重要なのは、

実際に画面へどの程度の大きさで表示されるのか

を考えてサイズを決めることです。

低スペック機ではテクスチャの使い方がかなり重要だった

私はコンシューマーゲーム機や携帯ゲーム機の開発にも関わってきました。

特にスペックの低いハードでは、テクスチャやポリゴンの使い方をかなり工夫する必要がありました。

数ピクセル程度の画像をうまく使ったり、テクスチャの空いている部分へ別の画像を入れたり、

「この領域が空いているから、ここにも何か入れられる」

というレベルでデータを無駄にしない作り方が行われていました。

現在のゲーム機は昔と比べて性能も大幅に上がっています。

もちろん現在でも最適化は必要ですが、昔ほど数ピクセル単位でデータを詰め込まなければゲームが動かない、という状況は減っています。

そのため、昔のゲーム開発を経験していると、

「昔はここまで詰め込んでいたな」

と思うこともあります。

ゲームプランナーもテクスチャを知っておいた方がいい

ゲームプランナーがテクスチャそのものを作ることは基本的にありません。

しかしゲーム開発では、

「このテクスチャが大きい」

「UVがおかしい」

「ノーマルがおかしい」

「テクスチャを共有する」

「このデータはメモリを使いすぎている」

といった話が普通に出てきます。

すべてをデザイナーと同じレベルで理解する必要はありません。

ただ、

ポリゴンは形、テクスチャは表面

UVはテクスチャをどこへ貼るかを決める情報

くらいは理解しておくと、デザイナーやプログラマーとの会話がかなり分かりやすくなります。

まとめ

3Dゲームで使われるテクスチャとは、3Dモデルの表面の見た目を作るために使用する画像データです。

初心者向けに簡単に説明するなら、

ポリゴンが形を作り、テクスチャが表面を作る

と覚えると分かりやすいでしょう。

さらに3DCGでは、色だけでなく、凹凸、光沢、金属感なども複数のテクスチャを使って表現します。

ゲーム制作では見た目だけでなく、テクスチャサイズ、メモリ、データ容量、使い回しなども考える必要があります。

ゲームプランナーの場合、実際にテクスチャを制作しなくても、基本的な仕組みを知っておくことで、デザイナーやプログラマーとのやり取りがかなりしやすくなります。

実際にテクスチャやUVを触ってみたい人

テクスチャやUVの仕組みは、文章だけで読むより実際に3Dモデルへ設定してみると分かりやすくなります。

これから3DCGを触ってみたい人には、**『はじめての3Dモデリング Blender超入門 改訂3版』**のような初心者向けの本もおすすめです。

Blenderの基本操作からモデリング、UV展開、テクスチャ、マテリアル、ライティング、レンダリングまで一通り学べるため、3DCG制作の流れを実際に体験できます。


(Visited 795 times, 1 visits today)

コメント

タイトルとURLをコピーしました