まちの部品メーカー Lite

起動：Start.vbs をダブルクリックします。
反応しない場合は Start.cmd をダブルクリックしてください。
必要なもの：Windows 64bit、Windows PowerShell 5.1、Blender 5.2.x。
Pythonの追加インストール、Codex、有料AI、ネット接続は不要です。
フォルダ全体を保存してください。worker.py等を移動・削除しないでください。
ZIPで受け取った場合は、全体を展開してから起動してください。
このリポジトリには実行に必要なソースと説明書のみを収録しています。
サンプルモデル・変換成果物・開発用のテスト生成物は含めていません。

使い方
1. Blender 5.2のblender.exeを選ぶ（検出できれば自動入力）。
2. 部品だけを入れた.blendファイルを選ぶ。
3. 部品名、1座標単位あたりのメートル数、正面を設定。
4. 保存先を選び「書き出す」。
5. 作られたフォルダ内のpart.jsonとmodel.glbを街で同時選択。
   validation.jsonは検証記録です。街には渡しません。

モデルの準備
・保存時に選ばれていたシーン内の全メッシュを対象にします。非表示も含みます。
・複数ウィンドウでは同じ対象シーンにするか、1つにして保存してください。
・撮影用の床・背景などは取り除いてください。カメラと照明は出力されません。
・ワールド原点をそのまま使います。最下点はZ=0に合わせてください。
・既定の正面は-Yです。1座標単位=1mが既定です。
・モディファイア・インスタンス・曲線などは事前にメッシュへ変換・適用。
・アニメーション、シェイプキー、制約、外部リンクは非対応です。
・材質は基本のPrincipled BSDFと画像に対応。ガラスや水面はアルファで半透明に。
  屈折・透過シェーダー、ベイク、自動材質修復は非対応です。
  材質出力へPrincipled BSDFを直接接続し、色・金属度・粗さ・アルファ・法線を使います。
  ノードグループ、色補正等の追加ノード、コート・発光・シーンのアニメーションも非対応です。
・画像はファイルへパックしてください。画像ノードは基本PBR入力へ接続します。

入口（任意、1か所）
実際の入口位置にEmptyを置き、entrance_mainと命名します。
ローカル-Yを外向きに合わせます。水平にし、負のスケールは使いません。
マーカーなしなら入口情報を省略します。入口位置を勝手に推定しません。

制限
入力50MiB、2000オブジェクト、20万頂点、10万三角形、32材質。
画像8枚・各辺2048px・合計16777216画素まで。
各寸法・敷地100m、GLB20MiB、変換メモリ2GiB、起動から120秒。
超過時は中止します。自動的に形状や品質を落としません。
他シーンの読み込みもメモリと時間の制限対象です。

元の.blendは変更しません。成功するごとに別IDの新規フォルダを作ります。
敷地は原点を中心に形状全体が収まる寸法で自動計算し、余白は追加しません。
Blenderの場所はsettings.jsonへ保存します（ソフトのフォルダが書き込み可能な場合）。
外観と街への配置は利用者が確認してください。

端末からの実行（任意）
powershell.exe -NoProfile -ExecutionPolicy Bypass -File App.ps1 -Cli -InputFile "入力.blend" -OutputDirectory "保存先フォルダ" -Blender "Blenderのblender.exe"

起動できない場合は、PowerShellから上のApp.ps1を-Cliなしで実行するとエラーを確認できます。
