3Dシミュレータが作れるシステムだれでも
シミュレータ

前回は、Blenderで3Dモデルを作るための基本的なオブジェクトや、他のソフトで作った3DデータをBlenderに読み込む方法をご紹介しました。
今回は、3Dモデルの色や質感を決める「マテリアル」についてご紹介します。

3Dシミュレータでは、形状だけでなく「何色なのか」「木材なのか」「金属なのか」といった見た目も重要です。
Blenderでは、マテリアルやテクスチャを設定することで、3Dモデルにさまざまな質感を付けることができます。
さらに、Web上で3Dシミュレータとして利用するためには、設定したマテリアルやテクスチャを、Webで扱える形にしておく必要があります。

マテリアルとは?

マテリアルは、3Dオブジェクトの見た目や質感を決めるための設定です。
例えば、

  • 赤や青などの色
  • 木材や金属などの質感
  • 光沢の有無
  • 表面の粗さ
  • 透明感

などを設定できます。

同じ形状の3Dモデルでも、マテリアルを変えることで見た目は大きく変わります。
例えば、同じテーブルの3Dモデルでも、

「木製のテーブル」
「白い天板のテーブル」
「金属製のテーブル」

のように、マテリアルを変えることで異なる商品として表現できます。
3Dシミュレータでは、このマテリアルを切り替えることで、商品の色や素材を変更するシミュレーションなどを実現できます。

テクスチャとは?

マテリアルの表現には、色などの設定だけでなく、テクスチャも使用します。
テクスチャとは、3Dオブジェクトの表面に貼り付ける画像のことです。

例えば、

  • 木目
  • コンクリート
  • 石材
  • タイル
  • 商品写真や柄

などを画像として用意し、3Dモデルの表面に貼り付けることで、より細かな表現ができます。
単純な色だけでは表現しにくい木目や細かな模様なども、テクスチャを利用することで表現できます。

ただし、Web上で3Dモデルを表示する場合は、テクスチャ画像のサイズや枚数もデータ容量や表示速度に影響します。
そのため、見た目を良くすることと、Webで軽く動かすことのバランスが重要になります。

UVマッピング

3Dモデルにテクスチャを貼るためには、「3Dモデルのどの部分に画像のどの部分を貼るのか」を指定する必要があります。
そのために使われるのがUVマッピングです。

3Dモデルは立体ですが、テクスチャ画像は平面です。
そのため、3Dモデルの表面を2Dの平面に展開し、テクスチャ画像のどの部分をどこに貼るのかを決めます。
この作業をUV展開と呼びます。

例えば、箱型の3Dモデルであれば、立体の各面を平面上に展開して、木目や柄の画像をどの面にどのように配置するかを設定できます。

UV展開の基本

Blenderでは、メッシュオブジェクトを選択して編集モードに入り、UV Editingなどの機能を使ってUVを調整できます。
UV展開には、

  • 自動的に展開する
  • シーム(切れ目)を指定して展開する
  • 展開後のUVを手動で調整する

といった方法があります。

単純な形状であれば自動展開でも対応できますが、製品などの複雑なモデルでは、テクスチャの見え方を確認しながらUVを調整することがあります。

ベイクという方法

3Dモデルの見た目をWeb上で再現する方法として、ベイクも重要です。

ベイクとは、3Dシーン上で計算された情報をテクスチャ画像などに書き出して、3Dモデルに利用する方法です。

例えば、

  • 陰影
  • 明るさ
  • AO(アンビエントオクルージョン)
  • 表面のディテール

などの情報をテクスチャとして記録できます。

通常は、3Dシーンを表示する際にライトや陰影などを計算します。
一方、あらかじめ必要な情報をテクスチャに焼き付けておけば、リアルな見た目を保ちながら、Web上での処理負荷を抑えられる場合があります。
特に、展示用の背景や家具など、ある程度見た目が固定されている3Dモデルでは有効な方法です。

ただし、ベイクした情報は基本的にテクスチャとして記録されるため、Web上で自由にライティングを変更する用途には向きません。

そのため、3Dシミュレータでは、
リアルな見た目を優先する部分はベイクする
ユーザーが色や素材を変更する部分はマテリアルとして設定する
といった使い分けが重要になります。

Webで使うためのマテリアル

Blenderには非常に多くのマテリアル表現があります。
しかし、Blender上で表示できるものが、すべてそのままWeb上で再現できるとは限りません。

「だれでもシミュレータ」で利用する場合も、Web上の3D表示で扱えるマテリアルやテクスチャを前提として、3Dデータを準備する必要があります。
そのため、

Blenderで見た目を作る

Webで利用できる形に整える

だれでもシミュレータに登録する

という考え方が重要になります。
特に、複雑なシェーダーや特殊なエフェクトなどは、Blender上ではきれいに見えても、そのままWeb上で同じ表現ができるとは限りません。

3Dシミュレータ用のモデルを作る場合は、最初から「Webで表示すること」を意識してマテリアルを設定することをおすすめします。

3Dデータを書き出す

3Dモデルとマテリアルの準備ができたら、次はデータを書き出します。
Blenderでは、作成した3Dモデルをさまざまな形式でエクスポートできます。

代表的な形式として、

  • OBJ
  • FBX
  • DAE(Collada)
  • glTF / GLB

などがあります。
ただし、形式によって保存できる情報が異なります。

形状だけを扱う形式もあれば、マテリアルやテクスチャ、アニメーションなどを扱える形式もあります。
そのため、何をWeb上で利用したいのかに合わせて形式を選ぶことが重要です。

OBJ形式

OBJは、3Dモデルの形状を扱う代表的な形式です。
Blenderでは、必要なオブジェクトを選択した状態で、

「ファイル」

「エクスポート」

「OBJ」

から書き出すことができます。
選択したオブジェクトだけを書き出すことも、シーン内のオブジェクトをまとめて書き出すこともできます。
OBJを利用する場合は、マテリアル情報などが別ファイルとして扱われる場合があるため、関連するファイルも含めて管理する必要があります。

DAE(Collada)形式

DAE(Collada)は、3Dデータを交換するための形式のひとつです。
形状だけでなく、マテリアルやアニメーションなど、複数の情報を扱うことができます。
複数の3Dソフト間でデータを受け渡す場合などに利用されます。

glTF / GLB形式

Web上で3Dモデルを利用する場合、glTF / GLBは特に重要な形式です。
glTFは、Webやリアルタイム3Dで利用することを考慮して設計された3Dデータ形式です。
3Dモデルの形状だけでなく、マテリアルやテクスチャ、アニメーションなどの情報も扱うことができます。

特にGLBは、モデルやマテリアル、テクスチャなどをひとつのファイルにまとめて扱えるため、Webで3Dモデルを利用する際にも扱いやすい形式です。
「だれでもシミュレータ」で利用する3Dモデルを準備する場合も、用途に応じてglTF / GLBを利用できます。

テクスチャを書き出す

テクスチャを使用している場合は、3Dモデルだけでなくテクスチャ画像も適切に管理する必要があります。

テクスチャには、

  • ベースカラー
  • ノーマル
  • ラフネス
  • メタリック
  • その他の各種マップ

などがあります。
どのテクスチャを使用するかによって、3Dモデルの見た目とデータ容量が変わります。
また、テクスチャ画像は解像度が高いほどきれいになりますが、その分データ容量も大きくなります。

Web上で動く3Dシミュレータでは、必要以上に大きなテクスチャを使用しないことも重要です。

3Dシミュレータ用のデータを作る

ここまでの内容を整理すると、Blenderで3Dシミュレータ用の3Dモデルを準備する流れは次のようになります。

① 形状を作る

プリミティブやポリゴン編集などを使って3Dモデルを作ります。

② マテリアルを設定する

色や質感を設定します。

③ テクスチャを設定する

木目や柄など、画像を使った表現を追加します。

④ UVを調整する

テクスチャを3Dモデルのどこに貼るかを設定します。

⑤ 必要に応じてベイクする

陰影やディテールなどをテクスチャに焼き付けます。

⑥ Webで利用できる形式に書き出す

用途に応じてglTF / GLBなどの形式で3Dデータを書き出します。

⑦ だれでもシミュレータに登録する

準備した3Dモデルを使って、Web上で操作できる3Dシミュレータを作ります。

Blenderと「だれでもシミュレータ」の役割

3回の記事で紹介した内容をまとめると、Blenderと「だれでもシミュレータ」の役割はシンプルです。

Blender

3Dモデルを作る・編集する・Web用に整える

だれでもシミュレータ

その3DモデルをWeb上で操作できるシミュレータにする

つまり、Blenderは3Dモデルを作るためのソフトで、「だれでもシミュレータ」はその3Dモデルをシミュレータとして使うためのシステムです。

Blenderで3Dデータを用意できれば、そこからWeb上の3Dシミュレータを作ることができます。

関連記事

ランキング

機能アップデート

もっと見る

3D見積もりシミュレーターの作り方

もっと見る

おすすめの使い方

もっと見る

TOPへ戻る