メインコンテンツまでスキップ

Blenderでの3Dモデル合成・書き出し

4DKanKan Meta / Mega からエクスポートしたメッシュデータ(OBJ + MTL + テクスチャ)を Blender で複数読み込み、1つのデータに合成して書き出す手順をご紹介します。

手順

1. メッシュデータのダウンロード

  1. 4DKanKan Meta OBJ / Mega OBJ の対象シーンの編集画面を開きます。

  2. アップロード/ダウンロード」の「mesh.obj をダウンロード」ボタンを押します。

  3. ポップアップが表示されたら「確認」を押し、そのまま待ちます。

    処理が完了し、以下の表示が出たら、再度ダウンロードボタンを押します。

  4. ダウンロードした ZIP を任意のフォルダに展開します。

作業前に必ずバックアップを

ダウンロードした元データは、作業前に別のフォルダにコピーして保存しておいてください。 後述のアップロード(差し替え)を行うと元に戻せません。 または、編集前のシーン自体をコピーしておいてください。


2. フォルダ構成の確認

展開したデータは以下の構成になっています。

SG-jp-XXXXX_mesh/
├── mesh.json
└── floor_0/
└── lod_0/
├── mesh.obj
├── mesh.mtl
├── texture1.png
├── texture2.png
└── ...

複数のデータを合成する場合、どちらのデータも texture1.png, texture2.png... という同じファイル名のテクスチャを持っているため、次の手順でファイル名の衝突を防ぐ準備が必要です。


3. テクスチャファイルのリネーム

2つのデータは同じファイル名のテクスチャを持っているため、同じフォルダに置いたときに上書きされないよう、2つ目のデータのテクスチャファイル名を変更します。 それに合わせて mesh.mtl 内の参照先も更新します。

テクスチャファイルのリネーム例(2つ目のデータ)

ファイル名の先頭に識別子を付けるなど、1つ目と重複しない名前に変更します。

texture1.png  →  B_texture1.png
texture2.png → B_texture2.png
(以降同様)

mesh.mtl の修正例(2つ目のデータ)

マテリアル名(newmtl)はそのままで、参照しているテクスチャファイル名をリネーム後の名前に書き換えます。

newmtl texture1          ← そのまま
...
map_Kd B_texture1.png ← リネーム後のファイル名に変更
map_Ka B_texture1.png ← リネーム後のファイル名に変更

4. 1つ目のOBJをインポート

  1. Blender を起動します(初期のポイントライトと立方体は選択して Del キーで削除します)。

  2. File > Import > Wavefront (.obj) を選択します。

  3. 1つ目のデータの SG-jp-XXXXX_mesh/floor_0/lod_0/mesh.obj を選択して「OBJをインポート」をクリックします。


5. 2つ目のOBJをインポート

  1. 同様に File > Import > Wavefront (.obj) を選択します。
  2. 2つ目のデータ(テクスチャをリネーム済み)の mesh.obj を選択してインポートします。
  3. シーンに2つのメッシュが並びます。
3つ目・4つ目以降のデータも同様

3つ目・4つ目以降のデータも、手順3(テクスチャのリネーム)と同じ要領でファイル名を変更してからインポートしてください。

テクスチャが表示されない場合

インポート後にテクスチャが見えない場合は、以下を確認してください。

  1. 3D ビューポートのシェーディングを Material PreviewZ > Material Preview)に切り替えます。

6. トリミング(不要部分の削除)

スキャンデータには対象範囲外の床・壁・ノイズなどが含まれていることがあります。 結合前に各メッシュを個別にトリミングしておくと、作業しやすくなります。

  1. トリミングしたいオブジェクトを選択し、TabEdit Mode に入ります。

  2. 3 キーで Face Select モードにします。

  3. 削除したい面を選択します。

  4. X キー > Faces で削除します。

面が選択できない・削除できない場合

上面図(テンキー 7)から削除を行うと、手前の面だけが選択されて奥の面が残る場合があります。 テンキー 1(正面)やテンキー 3(側面)など別の視点に切り替えて試してみてください。 また、Edit Mode 右上の X線表示Alt + Z)をオンにすると、メッシュを透過して奥の面まで選択できるようになります。


7. オブジェクトの位置調整と結合

ビューポートの操作

大きなメッシュを扱うときは、まず見やすい視点に切り替えることが重要です。

操作内容
マウス中ボタンドラッグ視点を回転
マウス中ボタンスクロールズームイン/アウト
Shift + 中ボタンドラッグ視点をパン(平行移動)
テンキー 1正面ビュー
テンキー 3右側面ビュー
テンキー 7上面ビュー
テンキー 5透視投影 ↔ 平行投影の切り替え

オブジェクトの移動

2つのメッシュの位置がずれている場合は、結合前に位置を合わせます。

オブジェクトの移動は Object Mode で行います。 画面左上のモード切り替えメニューで Object Mode を選択してください。

  1. 移動したいオブジェクトをクリックして選択します。
  2. 以下のいずれかの方法で移動します。

方法A:矢印ギズモで移動

オブジェクトを選択すると X・Y・Z 方向の矢印(ギズモ)が表示されます。 移動したい方向の矢印をドラッグすると、その軸方向に沿って移動できます。

方法B:G キーで移動

  • G キーを押した後、マウスを動かすと自由に移動できます。
  • 軸を固定したい場合は続けてキーを押します。
    • GX:X 軸方向のみ
    • GY:Y 軸方向のみ
    • GZ:Z 軸方向のみ
  • 左クリックまたは Enter で確定、Esc または右クリックでキャンセルします。
ヒント

GX1.5Enter のように数値を入力すると、X 方向に正確に 1.5m 移動できます。

結合

  1. 1つ目のオブジェクトをクリックで選択します。
  2. Shift + クリックで2つ目のオブジェクトも選択します。
  1. Ctrl + J を押してメッシュを1つに結合します。

8. 書き出し

  1. 結合したオブジェクトを選択した状態で File > Export > Wavefront (.obj) を選択します。

  2. 保存先として、元の mesh.obj と同じフォルダfloor_0/lod_0/)を指定します。

  3. ファイル名は mesh.obj のまま(元ファイルを上書き)にします。

  4. 以下のオプションを確認してから「OBJをエクスポート」をクリックします。

オプション設定
Selection Only(内容 選択物のみ)オン(選択中のオブジェクトのみ書き出し)
Include UVs(UV座標)オン
Write Normals(ノーマル)オン
Write Materials(マテリアル)オン
Copy Textures(パスモード コピー)オン(テクスチャ画像を書き出し先にコピー)
上書きに注意

元の mesh.obj を上書きします。ダウンロードした元データを別フォルダに保存していない場合は、書き出し前に必ずコピーしてください。


9. mesh.json の修正

各データフォルダ直下の mesh.json には LOD(Level of Detail)の設定が含まれています。 lod_2 のエントリが残っていると対応するファイルが存在しない場合にエラーになるため、削除が必要です。

修正前:

{
"floors": [
{
"lods": [
{ "objPath": "mesh/floor_0/lod_0/mesh.obj", "name": "lod_0" },
{ "objPath": "mesh/floor_0/lod_2/mesh.obj", "name": "lod_2" }
],
"name": "floor_0"
}
],
"version": 2.0
}

修正後(lod_2 のエントリを削除):

{
"floors": [
{
"lods": [{ "objPath": "mesh/floor_0/lod_0/mesh.obj", "name": "lod_0" }],
"name": "floor_0"
}
],
"version": 2.0
}

メモ帳での編集手順

  1. mesh.json を右クリック →「プログラムから開く」→「メモ帳」を選択します。
  2. 以下の文字列(前のカンマを含む)をマウスで選択します。
    ,{"objPath":"mesh/floor_0/lod_2/mesh.obj","name":"lod_2"}
  3. Delete キーで削除します。
  4. Ctrl + S で上書き保存します。

10. データを ZIP にまとめる

アップロードに必要なファイルを ZIP にまとめます。 以下の2つを同じ階層で選択して圧縮します。

SG-jp-XXXXX_mesh/
├── mesh.json ← 選択
└── floor_0/ ← 選択
└── lod_0/
├── mesh.obj
├── mesh.mtl
└── texture*.png
  1. mesh.jsonfloor_0 フォルダを両方選択します(Ctrl + クリックで複数選択)。
  2. 右クリック →「ZIP ファイルに圧縮する」を選択します。
  3. ファイル名を mesh.zip にして保存します。
注意

SG-jp-XXXXX_mesh フォルダごと圧縮するのではなく、中身の mesh.jsonfloor_0 を選択して圧縮してください。


11. メッシュデータのアップロード

  1. 対象シーンの編集画面を開き、「アップロード/ダウンロード」を選択します。

  2. 3Dモデルの上矢印(アップロード)ボタンを押します。

  3. 手順10で作成した mesh.zip を選択します。

アップロード前の注意

差し替えを行うと、元のメッシュデータには戻せません。 アップロード前に、元データが別フォルダに保存してあることを必ず確認してください。