本文へ進む
attrip.知りたいを、つくって確かめる
メニュー

3Dモデルのテクスチャとは?ワイヤーフレームからThree.jsで見せるまで

公開日 · 更新日 · 9 MIN READ · 理解の記録

RECORD / 2026

3Dモデルを見ていると、形ができたあとに急に生き物らしくなる瞬間がある。

以前、ハリー・ポッター関連の展示で、ワイヤーフレームのモデルと「TEXTURING」「テクスチャ・マッピング」と書かれた画面を見た。左には線と面だけの生物がいて、右には色や表面の違う姿が並んでいる。

そこで気になった。

「テクスチャって、3Dモデルに色を塗ることなのか?」

答えは、半分正しい。

テクスチャは色だけではない。肌、毛、布、金属、汚れ、傷、つや、細かな凹凸まで、モデルの表面がどう見えるかを作るデータだ。

左にワイヤーフレームモデル、右にTEXTURINGと表示されたテクスチャマッピングの展示

モデリングは形、テクスチャは表面

まず、モデリングとテクスチャを分けて考えると分かりやすい。

| 工程 | 作るもの |
| — | — |
| モデリング | 頭、手足、服、爪などの立体的な形 |
| テクスチャ | 色、模様、傷、汚れ、肌や布の見た目 |
| マテリアル | 光が当たったときの反射や透け方 |
| ライティング | その表面をどう見せるかという光 |

同じ立体に形、表面の色、光への反応を重ねて見る3Dモデルの違い

同じ球体でも、白いテクスチャとつやのあるマテリアルを使えばボールに見える。灰色でざらついた表面にすれば石になる。透明な設定と反射を加えればガラスになる。

形が同じでも、表面の情報と光の反応が変わるだけで、別のものに見える。

ワイヤーフレームの次にテクスチャを作る

展示の左側にあるワイヤーフレームは、モデルの骨格ではなく、表面を構成するポリゴンの流れを見せるものだ。

この段階で確認するのは、たとえば次のようなことだ。

  • 頭や胴体の形が崩れていないか
  • 手足の太さや長さが自然か
  • 表面のポリゴンが細かすぎたり荒すぎたりしないか
  • 後で動かす場所に、曲がりやすい流れができているか

そのあと、形が決まったモデルに色や質感を重ねていく。

ただし、テクスチャを先に塗っても、鼻の高さや爪の長さは変わらない。立体の形を変えるのはモデリングで、表面の見え方を変えるのがテクスチャだ。

UV展開は、3Dの表面を紙に開く作業

3Dモデルに画像を貼るには、立体の表面を2Dの画像に対応させる必要がある。この作業がUV展開だ。

段ボール箱をハサミで切って、平らに開くところを想像すると近い。箱のどの面が、平面上のどこに来るかを決めてから、その上に絵を描く。

3Dでは、モデルの表面を「U」と「V」という2つの座標に開く。X・Y・Zで表していた立体の位置を、画像上の位置へ置き換えるわけだ。

UVの切れ目が悪いと、画像が伸びる。顔の模様が横に引っ張られたり、服の柄が途中でずれたりする。だから、テクスチャをきれいに塗る前に、UVの開き方を確認する必要がある。

3Dモデルの表面をUVに展開し、画像を描いてからモデルへ戻す流れ

BlenderのUVマッピングの説明では、UVを3Dメッシュと2D画像を対応させるための座標として説明している。

テクスチャは一枚の画像だけではない

実際の3D制作では、表面をいくつかの画像や数値に分けて作る。

ベースカラー

肌の色、髪の色、衣服の色など、基本となる色を指定する。

ラフネス

表面のざらつきや、光沢の少なさを指定する。

値が低いと鏡のように光を反射し、高いとマットで乾いた表面に見える。

同じ灰色でも、ラフネスが違えばプラスチック、濡れた皮膚、石のように見え方が変わる。

ノーマルマップ・バンプマップ

画像の明暗を使って、細かい凹凸があるように見せる。

ウロコや毛穴を一つずつ立体化しなくても、光の当たり方を変えて表現できる。見た目の凹凸なので、モデルの輪郭そのものは大きく変わらない。

ディスプレイスメント

表面を実際に押し出したり、へこませたりする。深いシワや大きなウロコなど、輪郭にも影響する凹凸に向いている。

このように、テクスチャは単なる「色の画像」ではなく、表面の性質を分担して持っている。

テクスチャを作る順番

キャラクターなら、ざっくり次の順番で進める。

  1. 立体の形をモデリングする
  2. 動かすなら、曲がる場所のポリゴンを整える
  3. UV展開して、表面を2Dに開く
  4. ベースカラーを塗る
  5. 傷、汚れ、模様、陰影を加える
  6. ラフネスやノーマルなどのマップを作る
  7. マテリアルに接続する
  8. 光を当てて、実際にどう見えるか確認する

BlenderにはTexture Paintがあり、3Dビューポート上でモデルに直接色を塗ることもできる。塗った内容はUVに対応した画像へ反映される。BlenderのTexture Paint公式マニュアル

Blenderで作ったものを、Three.jsでブラウザに置く

ここで、Blenderだけに話を閉じなくてもいい。

Blenderは、立体の形、UV、テクスチャ、マテリアルを作る道具だ。そこからGLBやglTFのような形式で書き出したモデルを、Three.jsでブラウザへ持っていく。

役割を分けると、こうなる。

| 道具 | 役割 |
| — | — |
| Blender | 形、UV、テクスチャ、マテリアル、アニメーションを作る |
| Three.js | ブラウザにシーン、カメラ、光、モデル、操作を置く |
| Webブラウザ | 回転、ズーム、アニメーション、クリックなどを体験してもらう |

Three.jsでは、テクスチャの付いたモデルを置くだけでなく、カメラを動かしたり、ライトの方向を変えたり、マウスやタッチで回したりできる。

私が作っているTibo RESET BATTLEも、3Dモデルをブラウザの中に置き、パンチ、キック、構えを触って試せるようにしたものだ。

ここで大事なのは、「Blenderを使える人だけが3Dを作れる」と考えないことだ。Blenderで素材を作り、Three.jsで見せ方を作る。あるいは、簡単な形ならThree.jsのGeometryとMaterialだけで作る。目的に合わせて道具を分ければいい。

たとえば、今回の展示にあった生物モデルなら、次のようなページにできる。

  • 3Dモデルをマウスや指で回す
  • テクスチャを切り替えて、肌や毛の違いを見る
  • 光の向きを変えて、凹凸やラフネスを比べる
  • ワイヤーフレーム表示と完成表示を切り替える
  • 動物の動きや表情をブラウザで試す

説明文を読むだけでは分かりにくい「形と表面の違い」を、自分で触って確かめられる。これが、テクスチャをThree.jsへ持っていく面白さだ。

Three.jsの基本は、公式マニュアルのFundamentalsで、シーン、カメラ、レンダラーを用意して画面に描画する流れから確認できる。

Blenderで作ったモデルをGLBやglTFで書き出し、Three.jsとブラウザへ渡す流れ

「質感」は色より光で分かる

テクスチャを学ぶとき、色を細かく描くことに目が行きやすい。

でも、見た人が「これは布だ」「これは濡れた皮膚だ」「これは金属だ」と感じる決め手は、色だけではない。

  • 光がどれくらい広がるか
  • ハイライトが鋭いか、ぼやけているか
  • 表面が均一か、傷や汚れがあるか
  • 影がどこに残るか

この組み合わせで、触れたときの硬さや湿り気まで想像できる。

だから、テクスチャを作ったら、正面の明るい画面だけで終わらせないほうがいい。少し横から光を当てる。暗い場所にも置いてみる。近くで見る。遠くから見る。

そのときに、色だけでなく表面の違いが読めれば、テクスチャが機能している。

初めて試すなら、立方体で十分

いきなり人間や魔法生物を作らなくてもいい。

Blenderで立方体を作り、UV展開して、チェック柄の画像を貼る。面によって柄が伸びていないかを確認する。そのあと、同じ立方体に木、金属、石の表面を作ってみる。

この小さな練習で、次の違いが分かる。

  • 形を変えるのがモデリング
  • 画像を貼る場所を決めるのがUV展開
  • 色や凹凸を作るのがテクスチャ
  • 光への反応を決めるのがマテリアル

生物のモデルなら、肌、髪、服を別々に考えるとさらに分かりやすい。肌は少し柔らかく、髪は細かく光り、服は織り目としわがある。同じモデルの中でも、場所ごとに表面のルールが違うからだ。

形に命を入れるのがテクスチャ

ワイヤーフレームの生物は、まだ「形」しか持っていない。

そこへ色を置き、表面の粗さを変え、細かな凹凸や汚れを加える。最後に光を当てると、ただのポリゴンだったものが、皮膚や毛や衣服を持った存在に見えてくる。

モデリングが身体を作る工程だとしたら、テクスチャはその身体が何でできているのかを伝える工程だ。

展示で見た「TEXTURING」という言葉は、モデルに色を塗るだけの作業ではなかった。3Dの形に、触れたくなる表面と、そこにある理由を重ねる作業だった。

そして、そのモデルをThree.jsでブラウザに持っていけば、完成画像を見せるだけで終わらない。回して、光を変えて、動かして、触ってもらえる。

参考資料

コメントを残す