本文へ移動
仕事実践ラボ
, ,

CodexとBlenderで店舗空間を3D化した実録|GLB・10秒動画・PNG3枚を出力

CodexとBlenderで店舗空間を3D化した実録|GLB・10秒動画・PNG3枚を出力の内容を表すアイキャッチ画像

店舗写真から案内用の3D空間を作るため、CodexでBlender用Pythonを作成しました。左右関係の誤認、PNG未保存、動画レンダリングの長時間化が発生。

配置を作り直し、用途を動線確認に絞ることで、GLB・10秒動画・PNG3枚まで出力しました。

出力できたもの

  • GLB:出力済み
  • 確認用動画:10秒
  • PNG:3枚
  • 寸法精度・素材表現・Webビューア:未完成

写真と配置図から完成用途を決めた

最初に店舗内の主要な場所を撮影し、入口、左右の壁、中央の什器、奥の空間など、位置関係が分かる名前で整理しました。

写真だけでは奥行きや向きの解釈がずれるため、簡単な平面図も作りました。

目的は実物を寸分違わず再現することではなく、来店前の案内や将来の配置検討に使える編集可能な3Dデータを残すことです。

この完成条件を先に決めたことで、細部に時間を使いすぎずに済みました。

床、壁、入口、棚、中央什器、照明、カメラを自動生成するPythonをCodexに依頼しました。

構文チェックは通りましたが、作業環境ではBlender自体を実行できなかったため、実際の表示と出力は自分のパソコンで確認しました。

ここで分かったのは、Pythonの構文が正しいことと、Blenderで期待どおりにレンダリングできることは別だという点です。コード生成の完了報告だけでは完成にしませんでした。

Blender用Pythonを動かすとPNGが保存されなかった

初回実行では3Dオブジェクトは生成されたものの、予定したPNGが保存されませんでした。保存先を明示し、カメラを順番に切り替え、画像を書き出す処理を追加しました。

修正版をBlenderで開き直して実行し、入口側、中央、上からの配置という3枚のPNGを出力できました。

外部で更新したPythonはBlender内に自動反映されないため、古いコードを開いたまま実行しない確認も必要でした。

左右の誤認と一括反転をやめて作り直した

最初のモデルは、入口から見た左右の奥行きを逆に解釈していました。全体を一括反転すれば早いと考えましたが、間取りだけでなく、カウンターや棚の向きまで反転しました。

そこで一括ミラーをやめ、床、壁、主要什器を個別の座標で置く方針へ変更しました。写真と平面図を照合し、どの面が通路側を向くかまで指定しました。

旧スクリプトにはミラー処理と個別修正が重なり、次の変更結果を予測しにくくなっていました。そこで最新の配置図を基準に、新しいスクリプトを作りました。

やり直しは後退ではありません。誤った前提を残したまま継ぎ足すより、正しい配置を直接定義する方が安全で、今後の再生成もしやすくなりました。

10秒動画とGLBを用途別に出力した

入口から中央を通り、奥へ進むカメラ移動を作りました。動画は10秒、240フレームの設定でしたが、すべてを高品質で本レンダリングすると時間がかかりすぎました。

そこでカメラとキーフレームはBlender内に残しつつ、確認用には高速なプレビュー方式を使ってMP4を出力しました。用途を「完成映像」ではなく「動線確認」に絞った判断です。

静止画と動画だけでは、見る方向が固定されます。そこで編集データに加え、回転、拡大縮小、平行移動ができるGLBも書き出しました。

最初は通常のファイルとして開こうとして形式エラーになりましたが、Blenderのインポート機能から読み込み、視点移動と什器選択ができることを確認しました。

確認できた成果と未完成を分けた

確認できた成果は、3枚のPNG、10秒のMP4、編集データ、GLBです。主要な配置とカメラ動線は確認できました。

一方、建築設計に使える寸法精度、細かな素材表現、Web上で誰でも操作できるビューアは未完成です。今回のモデルは、店舗案内と検討用の土台として扱います。

店舗3D化をやり直す前に確認すること

  • 写真だけでなく入口から見た配置図を用意する
  • 構文確認とBlenderでの実行確認を分ける
  • 外部更新したPythonをBlenderで開き直す
  • 一括反転より主要物の座標を個別に確認する
  • 出力用途に合わせてレンダリング方法を選ぶ
前の記事
次の記事