1. ソフト・サービス
  2. Blender
  3. Blenderのインポートとエクスポート
  4. BlenderのOBJのエクスポートとインポート|書き出しと読み込みの設定

Blender

BlenderのOBJのエクスポートとインポート|書き出しと読み込みの設定

編集部 読了 約19分

  • OBJで書き出したい
  • OBJのテクスチャが反映されない
  • OBJを読み込めない・表示されない

Blender(ブレンダー)で作った建物のモデルは、OBJで書き出すと、多くの3Dのソフトに形を渡せます。

しかし、OBJは画像を中に入れられない形式で、最初の設定のまま書き出すと、画像は書き出したフォルダに入りません。

この記事では、OBJの書き出しと読み込みの手順と、画面にある設定の全部を解説します。建築のモデルを渡すときに見直す設定と、テクスチャが反映されないときの直し方も分かります。

画面:Blender 5.2.2 LTS(日本語の表示)

始める前に

画面の区画
①3Dビューポート ②モードのメニュー ③追加 ④アウトライナー

手順を始める前に知っておくことは、次の3つです。

  • 書き出しと読み込みは、①の3Dビューポート(形を見ながら作る、いちばん広い区画)で行う。②のメニューをオブジェクトモードにしておく
  • 書き出すオブジェクトは、①か④のアウトライナー(シーンの中身の一覧)で先に選んでおく。部屋の全部なら、①でAキーを押すと全部を選べる
  • この記事で確かめたのは、Blenderで書き出して読み込み直した結果。受け取る側のソフトで開いた結果は試していない

OBJとは

エクスポートのメニュー
ファイル→エクスポートのメニューのWavefront (.obj)(赤い枠)

OBJ(Wavefront OBJ)は、形とマテリアルの基本だけを持つテキストの形式です。マテリアル(面の色や質感の設定)は、OBJと同じ名前の.mtlという別のファイルに書かれます。

Twinmotion・Lumion・D5 Renderなど多くのソフトが読めるので、形を多くのソフトで開けるように渡したいときに向きます。

アーマチュア(骨組み)・ライト・カメラ・エンプティ(形の無い目印)・親子関係は持てません。

OBJには、オブジェクトの位置・回転・スケールを書く場所がありません。そのためBlenderは最初の設定で、置いた位置や向きを頂点1つ1つの座標に計算し直して書き出します(トランスフォームを適用)。

OBJを書き出す

書き出しの画面
OBJの書き出しの画面。ファイルの名前の欄と、Wavefront OBJ をエクスポートのボタン(赤い枠。画面では名前が途中で切れる)

建物を渡すときは、選んだオブジェクトだけを、画像も一緒に書き出す設定で書き出します。

OBJを書き出す手順は、次の4つです。

  1. ファイル→エクスポート→Wavefront (.obj)を押す
  2. 選択物のみにチェックを入れる
  3. パスモードをコピーにする
  4. 名前を付けてWavefront OBJ をエクスポートを押す

「ファイル」→「エクスポート」→「Wavefront (.obj)」を押す

書き出すオブジェクトを選んだまま、ファイルのメニューを押し、エクスポートにポインター(画面の矢印)を乗せて、Wavefront (.obj)を押します。

エクスポートのメニュー
Wavefront (.obj)(赤い枠)

OBJの書き出しの画面が開きました。ファイルの一覧と並んで、書き出しの設定が縦に並ぶ列があります。

「選択物のみ」にチェックを入れる

設定の列の全般の内容の行で、選択物のみにチェックを入れます。

選択物のみ
内容の選択物のみ(赤い枠)

選択物のみにチェックが入り、選んだオブジェクトだけが書き出される設定になりました。

「パスモード」を「コピー」にする

設定の列のマテリアルにあるパスモードのメニューを押し、コピーを選びます。

パスモード
マテリアルのパスモード(赤い枠)。最初は自動

パスモードの欄がコピーに変わり、画像がOBJと同じフォルダにコピーされる設定になりました。

名前を付けて「Wavefront OBJ をエクスポート」を押す

画面の上のフォルダの欄で書き出すフォルダを開き、ファイルの名前の欄に名前を打って、Wavefront OBJ をエクスポートを押します。

書き出しの画面
ファイルの名前の欄と、Wavefront OBJ をエクスポートのボタン(赤い枠)

OBJが書き出されました。同じフォルダに、.objと.mtlと画像ができています。

これで、OBJを書き出せました。渡すときは、.objと.mtlと画像の入ったフォルダをzipにまとめると、1つのファイルで送れます。

書き出しの設定

書き出しの設定の列
OBJの書き出しの画面の設定の列(赤い枠)

書き出しの設定は、全般・ジオメトリ・グループ化・マテリアル・アニメーションの5つのまとまりです。この記事では、マテリアルとアニメーションを1つの欄にまとめて、次の4つの欄で見ます。

  • 全般
  • ジオメトリ
  • グループ化
  • マテリアルとアニメーション

全般

全般
全般(赤い枠)

全般では、書き出すオブジェクトと、大きさと向きを決めます。

設定最初の値中身
「内容」の「選択物のみ」オフ選んだオブジェクトだけを書き出す。オフでは、書き出せるオブジェクトを全部書き出す
「スケール」1.000書き出すときに、原点(赤い線と緑の線が交わる所)を中心に掛ける倍率
「前方の軸」「上向きの軸」-Z・Y軸の向きの変換。Blenderは上がZで、最初の値は上がYのソフトへ渡すための変換

相手のソフトの上の向きが分からないときは、最初の値のまま渡し、相手のソフトで寝ていないかを見てもらってください。

ジオメトリ

ジオメトリ
ジオメトリ(赤い枠)。「モディファイアー…」は「モディファイアーを適用」、「トランスフォーム…」は「トランスフォームを適用」

ジオメトリは、UV・法線・面・モディファイアー(形を変える機能)の扱いを決める設定です。

設定最初の値中身
「UV座標」オン今のUV(画像のどこを、面のどこに貼るかの情報)を書き出す
「ノーマル」オン法線(面に垂直な向き)を書き出す。平らな面は面ごと、滑らかな面は面の角ごと。多くのソフトは法線を自分で計算するが、Blenderの法線マップ(凹凸を描く画像)に合わせるには書き出す
「色」オフ頂点に付けた色を、OBJの拡張の書き方(xyzrgb)で書き出す
「カーブのNURBS化」オフカーブをメッシュにせず、NURBS(なめらかな曲線を数式で表す形)のカーブとして書き出す。NURBSの面・3Dテキスト・メタボール(くっつき合う球の形)は、メッシュに変えて書き出される
「メッシュの三角面化」オフ四角形以上の面を三角形にして書き出す(シーンのメッシュは変わらない)。三角形しか読めないソフトのための設定。立方体は12枚の三角形になった
「モディファイアーを適用」オンモディファイアーを計算したあとの形で書き出す
「トランスフォームを適用」オンオブジェクトの位置・回転・スケールを頂点に入れ、シーン全体の座標で書く。オフでは、オブジェクトごとの座標で書く
「プロパティ」ビューポート作業中の表示と最終のレンダーで設定が違うモディファイアー(サブディビジョンサーフェスなど)の、どちらの設定を使うか

位置を変えて45°回した1辺2mの立方体を、トランスフォームを適用をオフにして書き出しました。Blenderで読み込み直すと、立方体は原点に、回っていない向きで入りました。

グループ化

グループ化
グループ化(赤い枠)。「オブジェクトグル…」は「オブジェクトグループ」、「スムーズ…トフラグ」は「スムーズグループビットフラグ」

グループ化は、OBJの中のまとまりの分け方を決める設定です。OBJはメモ帳で開ける文字のファイルで、頭が「o」の行にオブジェクトの名前、「g」の行にグループの名前が書かれます。

最初の値では、Blenderのオブジェクトごとに「o」の行が書かれます。

設定最初の値中身
「オブジェクトグループ」オフ「o」の行の代わりに、オブジェクトの名前と「_」とメッシュの名前をつないだ「g」の行を書く。グループとオブジェクトを分けて扱うソフトのための設定
「マテリアルグループ」オフマテリアルが違う部分ごとに、グループを作る
「頂点グループ」オフ面ごとに、頂点グループ(頂点に付けた名前のまとまり)の名前を書く。面の頂点のうち、いちばん多くが入っている頂点グループを選ぶ
「スムーズグループ」オフ辺の「シャープ」の印(滑らかにしない境目)を、スムーズグループ(滑らかにつなぐ面のまとまり)として書く
「スムーズグループビットフラグ」オフスムーズグループを、番号の代わりに数の各桁で表す書き方で書く。「スムーズグループ」がオンのときだけ使える

マテリアルとアニメーション

マテリアルとアニメーション
マテリアルとアニメーション(赤い枠)。「PBRエクステンシ…」は「PBRエクステンション」。薄い設定は、見出しのチェックがオフのため使えない

マテリアルは.mtlと画像の書き出し方、アニメーションは番号付きのファイルの書き出し方を決める設定です。

まとまり設定最初の値中身
マテリアル見出しのチェックオン.mtlのファイルを書き出す。OBJを読める多くのソフトは.mtlも読む
マテリアル「PBRエクステンション」オフ粗さ・メタリック・シーン(Sheen)・コート・異方性・伝播(Transmission)の値も、.mtlに書く
マテリアル「パスモード」自動テクスチャ(面に貼る画像や模様)の画像の場所の書き方。自動・絶対・相対・マッチ・ストリップ・コピーの6つで、違いはFBX・OBJ・glTF・USDの選び方の記事で比べている
アニメーション見出しのチェックオフ開始から終了のフレーム(アニメーションのコマ)まで、コマごとに番号を付けたOBJを書き出す。時間がかかることがある
アニメーション「開始フレーム」「終了」1・250書き出すコマの範囲

画像を、OBJを書き出すフォルダとは別のフォルダに置いたまま試しました。自動では、.mtlにCドライブから始まる画像の場所が書かれ、画像はコピーされませんでした。

コピーでは、画像がOBJと同じフォルダにコピーされ、.mtlには画像のファイル名だけが書かれました。.mtlに画像を書くには、マテリアルにプリンシプルBSDF(新しいマテリアルに最初から入っている、質感を決めるノード)が要ります。

OBJを読み込む

読み込みの画面
OBJの読み込みの画面。読み込むボタン(赤い枠。画面では名前が途中で切れる)

受け取ったOBJは、Wavefront (.obj)で読み込んでください。.mtlと画像がOBJと同じフォルダにあれば、マテリアルと画像も一緒に入ります。

OBJを読み込む手順は、次の3つです。

  1. ファイル→インポート→Wavefront (.obj)を押す
  2. OBJのファイルを選ぶ
  3. Wavefront OBJ をインポートを押す

「ファイル」→「インポート」→「Wavefront (.obj)」を押す

ファイルのメニューを押し、インポートにポインターを乗せて、Wavefront (.obj)を押します。

インポートのメニュー
インポートのメニューのWavefront (.obj)(赤い枠)

OBJを選ぶ画面が開きました。

OBJのファイルを選ぶ

OBJのあるフォルダを開き、OBJのファイルを押して選びます。

ファイルの名前の欄に、選んだOBJの名前が入りました。

「Wavefront OBJ をインポート」を押す

Wavefront OBJ をインポートを押します。

OBJの中のオブジェクトが、3Dビューポートに読み込まれました。

これで、OBJを読み込めました。

読み込みの設定

読み込みの設定の列
OBJの読み込みの画面の設定の列(赤い枠)

読み込みの設定は、次の3つのまとまりに分かれます。

  • 全般
  • オプション
  • マテリアル

全般

読み込みの全般
全般(赤い枠)。「バウンディン…」は「バウンディングボックスで制限」

全般は、読み込む大きさと向きを決める設定です。

設定最初の値中身
「スケール」1.000読み込むときに、原点を中心に掛ける倍率
「バウンディングボックスで制限」0.000読み込んだものが、この大きさの箱に収まるように縮める(0で使わない。箱より小さいものは大きくしない)。OBJはファイルによって大きさがまちまちなので、決まった大きさにそろえて見るための設定。縮めると寸法は実寸でなくなる
「前方の軸」「上向きの軸」-Z・Y軸の向きの変換

1辺2mの立方体を2つ並べた全体で6m×2m×2mのOBJは、バウンディングボックスで制限を1.0にすると1m×0.333m×0.333mに縮み、10.0では6m×2m×2mのままでした。

BlenderからOBJを書き出して読み込み直すと、大きさと見た目の向きは変わらず、オブジェクトの回転のXが90°になりました。上がYのOBJを、上がZのBlenderに合わせる変換のためです。

オプション

読み込みのオプション
オプション(赤い枠)。「カーブのループを…」は「カーブのループを探知」

オプションは、読み込んだ形の分け方と、データの調べ方を決める設定です。

設定最初の値中身
「オブジェクトで分離」オンOBJの「o」ごとに、別のオブジェクトにする
「グループで分離」オフOBJの「g」ごとに、別のオブジェクトにする
「頂点グループ」オフOBJのグループを、頂点グループとして読み込む
「メッシュを検証」オン読み込んだメッシュの壊れたデータを調べて直す。オフのとき、壊れたデータがあると、表示や編集でBlenderが落ちることがある。遅くなってもオンが勧められている
「カーブのループを探知」オン重なった制御点(カーブの形を決める点)があれば、カーブの端をつないで閉じる。オフでは閉じたカーブにならない
「パスセパレータ」(空)オブジェクトの名前を、この文字で区切って、コレクション(オブジェクトをまとめる入れ物)の階層に分ける

2つの立方体のOBJは、最初の値で2つのオブジェクトに、オブジェクトで分離をオフにするとファイル名と同じ名前の1つのオブジェクトになりました。

「o」の行を「g」の行に書き換えたOBJは、最初の値で1つになり、グループで分離をオンにすると2つに分かれました。

マテリアル

読み込みのマテリアル
マテリアル(赤い枠)

マテリアルは、同じ名前のマテリアルがあるときの扱いを決める設定です。

設定最初の値中身
「名前の衝突時」ユニーク化同じ名前のマテリアルがあるとき、別のマテリアルにする(ユニーク化)か、今あるものを使う(既存を参照)か

建築のデータを渡すときに見直す設定

選択物のみ
書き出しの全般の選択物のみ(赤い枠)

建物のモデルをOBJで渡すときに、書き出しの画面で見直す設定は、次の4つです。

  • 選択物のみ:渡すオブジェクトを選んでチェックを入れる
  • パスモード:画像のある素材はコピーにする
  • トランスフォームを適用:最初のオンのままにする。オフでは、置いた位置と向きが渡らない
  • メッシュの三角面化:相手のソフトが三角形しか扱えないときだけオンにする

画像を渡す素材は、プリンシプルBSDFのノードで作っておきます。カメラ・ライト・親子関係も渡したいときは、OBJでなくFBXなどほかの形式を使います。

テクスチャが反映されない・読み込めないとき

パスモード
書き出しのマテリアルのパスモード(赤い枠)

OBJで起きやすいことは、次の5つです。

  • 渡した先でテクスチャが反映されない
  • 画像でない模様や色が渡らない
  • 読み込んだ形が、1つにまとまる・分かれすぎる
  • 読み込んだ形が、とても大きい・とても小さい
  • 読み込んだのに、何も表示されない

渡した先でテクスチャが反映されない

パスモードが最初の自動のままでは、画像はコピーされず、.mtlには自分のパソコンの中の画像の場所が書かれます。パスモードをコピーにして書き出し直し、.objと.mtlと画像をフォルダごと渡してください。

受け取った側では、.mtlと画像を.objと同じフォルダに置いたまま読み込みます。

ダウンロードしたOBJでは、.mtlと画像が別のフォルダに入っていることがあるので、同じフォルダに移してから読み込み直してください。

画像でない模様や色が渡らない

.mtlに画像が書かれるのは、マテリアルがプリンシプルBSDFのノードで作られ、画像のファイルを貼っているときです。

マテリアルを新しく作って画像を貼ったなら、プリンシプルBSDFで作られています。マテリアルのタブのサーフェスに「プリンシプルBSDF」と出ているかで確かめてください。

ノイズなどのノードで作った模様は画像のファイルが無いので、画像にしてから貼り直してください。

読み込んだ形が、1つにまとまる・分かれすぎる

OBJが「o」と「g」のどちらで分けているかは、OBJのファイルをメモ帳で開くと、行の頭の文字で分かります。

分かれすぎた形を1つにまとめたいときは、読み込みのオブジェクトで分離をオフにして読み込み直してください。

分かれるはずの形が1つにまとまったときは、OBJが「g」の行で分けていることがあります。グループで分離をオンにして読み込み直してください。

読み込んだ形が、とても大きい・とても小さい

OBJには長さの単位が無く、作ったソフトの数値がそのままBlenderのmとして読まれます。mmで作られたOBJは1000倍、cmで作られたOBJは100倍の大きさで入ります。

mmで作られたOBJは、読み込みのスケールを0.001に、cmなら0.01にして読み込み直してください。読み込んだあとでも、オブジェクトを全部選び、Sキーを押して倍率を打てば大きさを変えられます。

読み込んだのに、何も表示されない

読み込んだオブジェクトが大きすぎたり、原点から離れていたりすると、画面の外にあって見えません。アウトライナーに読み込んだオブジェクトが増えていれば、読み込めています。

3Dビューポートのビュー→すべて表示(Homeキー)を押すと、全体が見える所まで引けます。

大きさがまちまちなOBJを決まった大きさで確かめたいときは、バウンディングボックスで制限に大きさを入れて読み込んでください。

OBJの設定を決めて、建築のデータを渡そう

書き出しの設定の列
OBJの書き出しの画面の設定の列

OBJは、形とマテリアルの基本だけを持つテキストの形式で、画像は別のファイルで渡します。この記事で解説した手順と設定は、次の5つです。

  • 書き出す:選択物のみにチェックを入れ、パスモードをコピーにして書き出し、フォルダごと渡す
  • 書き出しの設定:トランスフォームを適用はオンのまま、メッシュの三角面化は相手に合わせる
  • 読み込む:.mtlと画像を同じフォルダに置いたままWavefront (.obj)で読み込む
  • 読み込みの設定:形の分け方はオブジェクトで分離とグループで分離
  • 反映されないとき:パスモードと、マテリアルがプリンシプルBSDFかを見る

まずは小さな箱を1つ書き出し、相手のソフトで画像と大きさを確かめてもらってから、建物のモデルを渡してください。

あわせて読みたい

Blenderで建築パースを作る方法は、建築3DCGコース(Blender)で学べます。

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。