2D図面からフォトリアルな3D住宅を生成(Dựng nhà 3D siêu chân thật từ bản vẽ 2D)
references/local.md が存在する場合は最初に読んでください。このマシンのフォルダとハウスルールが定義されています。
平面図ファイルから図面を読み取り、図面と照合し、実際の壁厚と実際のフレームで構築した後、スキャンしたマテリアルとモデルで仕上げ、Cyclesでレンダリングします。図面が判定基準です。構築されたフロアプランが元のインクの上に正しく重ならない限り、成果物はリリースされません。
作業順序
- シートとそのソースを見つける。 ライセンスが明確な図面と、同じ建物またはそのタイプ・時代の写真。
references/read-plan.mdを全文読む:ソース、キャリブレーション、読み取り順序、推測可能な項目のテーブル。 plan.jsonを書く。references/plan-format.mdにすべてのキーが定義されています。必要なセクションだけを読んでください。図面から読み取れなかったものはすべてprovenance.inferredに記録し、最終報告書でそのリストを繰り返します。- 構築前にチェックする。 失敗があれば停止して修正:
uv run --no-project --with pillow --with numpy --with scipy python scripts/plan_check.py check plan.json uv run --no-project --with pillow --with numpy --with scipy python scripts/plan_check.py overlay plan.json - 構築する。 Blenderを一度に一つ:
構築済みセクションをblendファイルの横に書き出します。blender -b --factory-startup -t 6 -P scripts/build_house.py -- plan.json out/house.blendplan_check.py asbuilt <section.json>でスコアリングします。 - 小さくプレビューする。
--samples 48 --scale 50で、すべてのショットを参照写真と並べて確認:blender -b out/house.blend -t 6 -P scripts/render_house.py -- plan.json out/preview --samples 48 --scale 50 - 偽物に見える箇所を探す。 判断する前に
references/realism-faults.mdを読むこと:このパイプラインが実際に生成した欠陥、それぞれの見え方と修正方法。新しい欠陥は同じターンでそこに追加します。 - 最終レンダリング。 約512サンプルで1920x1080。各静止画を実写写真とフルサイズで並べて確認。それぞれを見ます。
- フィルム。
--film <name>でアニメーション。build_upフィルムは壁をシート自体から立ち上げます。街並み:references/plan-format.mdの「Streets」を参照。
ハードルール
- ゲートチェック:壁面の少なくとも70%がインクから7cm以内に収まり、最適オフセットが最大16cm、50cmシフトしたコントロールに対して明確に優位であること。平面図と構築済みセクションの両方で検証。失敗は図面か構築に問題があることを意味します。絶対に緩めてはいけません。
- 寸法は測定または印刷された値を使用し、目測は禁止:壁厚、天井高、窓台高、窓枠高。図面にない高さはタイプと時代から推測し、推測と明記します。
- 立面図がない屋根とファサードは推測します。報告書にその旨を記載します。
- 実際のマテリアルのみ:Poly HavenまたはambientCGのスキャンデータを実際のタイルサイズで使用。可視面にフラットカラーは使用禁止。
- 家具は実際のPBRモデルを部屋の用途に合わせて配置し、歩行スペースを確保し、正面を部屋の内側に向けます。
scripts/fetch_assets.pyでCC0スキャンをダウンロード、scripts/find_objaverse.pyとscripts/fetch_objaverse.pyでCC BYモデルを検索・取得します。 - すべてのCC BYモデルとソースシートを
CREDITS.mdに図面と一緒に記載します。 - 新しいモデルを配置する前に、グリッド上で方向を確認します(
scripts/preview_assets.py)。Objaverseモデルは単位が変則的なため、本来のサイズも確認します。
速度
glTFのインポートが最も遅いステップなので、build_house.py は各モデルをリンクされた .blend ファイルとしてアセットライブラリ(HOUSE_ASSET_LIBRARY、デフォルト ~/house-assets)にキャッシュします。スキャンした松やモミは避けてください。インポートに数分かかります。草と木は同期に時間がかかるため、レンダリングはショット間で永続データを保持します。5分を超えるステップはプロファイリングして修正します。
完了条件
チェック、オーバーレイ、アズビルドの各ゲートが合格し、その数値が引用されていること。内部と外部の静止画が実写写真と並べてフルサイズで遜色ないこと。報告書に、ソースとしたもの、推測したもの、まだ弱い点が記載されていること。