ページからポスターへ
あなたはアドベンチャーを読み、その場所を説明する5つの小さなファイルを書きます。このフォルダ内のコードがそれらをチェックし、ヘッドレスBlenderで3Dモデルを構築し、レンダリングしてポスターを構成します。
アドベンチャー (PDF/テキスト) + ガイドライン
-> brief.md テキストがその場所について述べていること (あなたが記述)
-> layout.json 部屋、通路、出入り口(メートル単位) (あなたが記述; `check` が検証・描画)
-> props.py 各部屋に何があるか (あなたが記述; `build` がモデル化)
-> poster.json タイトル、ラベル、コールアウト、テキストボックス (あなたが記述; `poster` がレンダリング・構成)
-> out/poster_gm.png, poster_player.png, poster_bare.png (+ .jpg)
p2p.py はこのフォルダにあります。ユーザーの作業ディレクトリからのフルパスで呼び出し、プロジェクトフォルダがここではなくそこに作成されるようにしてください。以下のコマンドでは簡略化のため python p2p.py と記述します。python がPython 3でない場合は python3 を使用してください。
常に守るべきルール
- 作成したすべての画像を確認すること。 各ステップで画像が書き出されます。先に進む前に、画像読み取りツールでその画像を開いて確認してください。手順ではファイル名を指定しています。ほとんどの間違いは数字ではなく画像を見れば明らかです。
- メートル単位、+xが東、+yが北、床はz=0。
props.py内の角度はラジアンです。 - 推定したことを明記すること。 アドベンチャーではサイズや正確な位置が示されることはほとんどありません。推定した場合は
brief.mdに「est.」と書き、報告時に推定値をリストアップしてください。本に書かれていない事実を、あたかも本の記述であるかのように提示しないでください。 - Blenderは
p2p.pyを通じてヘッドレスで実行されます。 Blenderのウィンドウは開けず、Blender MCPサーバーも使用しないでください。 - ドラフトは低コストで。 ドラフトポスターは
--dpi 100で作成し、ドラフトが適切になったら最終版を--dpi 200でレンダリングしてください。 - プロジェクトフォルダにはアドベンチャーのテキストとマップが含まれます。アドベンチャーを公開する権利がない限り、パブリックリポジトリには保管しないでください。
ステップ 0:マシンのチェック
python p2p.py doctor
Core pipeline: ready で終了する必要があります。Pythonパッケージがない場合:pip install -r requirements.txt。Blenderがない場合は、docs/setup.md に従ってください。GPUは不要です(レンダリングはCPUにフォールバックします)。ComfyUIはオプションです:ユーザーからURLが提供された場合のみ --comfy URL を渡してください(docs/comfyui.md)。
ステップ 1:プロジェクトを開始し、ソースを読む
python p2p.py new PROJECT --source adventure.pdf --pages 53-56
PROJECT はこのマップ用の新しいフォルダです。例えば、ユーザーの作業ディレクトリ内の maps/the-site-name です。--pages は、マッピングする場所のPDFのページ番号(最初のページは1)です。短いPDFの場合は省略できます。テキストまたはMarkdownソースはそのままコピーされます。このコマンドは5つのファイルのテンプレートを作成し、PDFの場合は source/page_NNN.txt と source/page_NNN.png も作成します。
テキストをすべて読んでください。次に、すべてのページ画像を確認してください:マップ、図、サイドバーは画像にしかありません。本にマップがある場合、そのマップが部屋の位置を決定し、テキストが部屋の中身を決定します。
ユーザーが要求した内容に基づいて guidelines.md を記入してください。ユーザーが言及しなかったことはデフォルトのままにします。どの場所をマッピングするか判断できない場合にのみ、ユーザーに確認してください。
brief.md を記入してください:部屋ごとに1行、接続ごとに1行、出入り口ごとに1行です。ページ番号を引用してください。このステップで、何が与えられた情報で何が推定かを決定します。
テキストにサイズが記載されていない場合の目安:ドアは1 m、廊下は2.5~3.5 m、独房やオフィスは4×5 m、通常の部屋は6×8 m、広間は15×25 m、洞窟や格納庫は30×50 m。天井の高さ:通常の部屋は3 m、広間は5~8 m。ファンタジーゲームでは、1マップマスは通常5フィート(1.5 m)です。「ペース」は約1メートルです。
ステップ 2:layout.json
テンプレートをサイトの部屋、通路、出入り口に置き換えます。docs/layout.md にすべてのキーが記載されています。学習用の完全なプロジェクト例:examples/brine-chapel/(テキストのみでマップなしの石のダンジョン)と examples/kestrel-9/(スケッチマップ付きPDFからのプレハブステーション)。基本事項:
- 部屋は軸に平行な長方形の明確な床です:`