painting-3DWorld
原画の空間関係を、振り返って移動できる世界にします。原画は構図と造形の基準です。画外の部分は創作であり、画家の意図と主張することはできません。
完了条件は、一枚ごとに原画の構図、周囲空間、空/上方、主要オブジェクトの詳細、照明効果、そして巡回チェックを通過することです。照明は漏れがあってはならず、ユーザーから指摘されてから補うこともできません。 ウェブページが開ける、座標が有効、フレームレートが正常、オブジェクト数が多い、または shadowMap.enabled=true であることは、これらのチェックの代わりになりません。これらのいずれかが未通過の場合、そのワールドは needs-work のままとし、シリーズ全体を完了として報告してはいけません。
ステップ1: 追加3方向の観察画像を生成
まず実際の画像を確認し、作品名、制作年、所蔵機関、具体的なバージョンを特定します。同じテーマでも構図が異なることがよくあります。別の橋、駅、国会議事堂の色で現在のバージョンを置き換えてはいけません。検索は博物館のコレクションページとそのオープン画像APIを優先的に使用し、ソースリンク、ダウンロードURL、ライセンス情報を保存します。ソース画像に白い余白や説明文が含まれている場合は、明確なピクセル矩形またはCSSクロップで絵画自体を切り抜きます。いわゆる原画を再描画してはいけません。
モデリングと正式なオブジェクトリストの作成の前に、原画に基づいて左、右、背後からの実際の観察画像3枚を生成します。 原画を正面0°とします。デフォルトの固定観察位置、アイレベル、レンズスケールを使用し、それぞれ左に90°、右に90°、後ろに180°回転して、同じ世界の画外コンテンツを生成します。利用可能な画像生成/編集ツールを使用し、画風、時代、光、隣接オブジェクトの空間接続を保持します。一枚ずつ確認し、不整合を修正します。実行前に references/directional-concepts.md の生成制約とプロンプトテンプレートを読んでください。3方向のテキストアイデアを書くだけでは、このステップを完了したことになりません。
原画と3枚の生成画像を4方向参照セットとして保存し、方向と生成画像の性質を明記します。画外画像は空間デザインの参照であり、画家の原画や実際の3Dレンダリングの証拠ではありません。原画に存在するオブジェクトは、方向をまたいで露出する場合、その同一性、位置、造形を一貫させます。既存のワールドに3方向参照が不足している場合は、先にそれを補います。一貫性のある既存の参照は再利用できますが、空間デザインを変更する場合は、影響を受ける方向を同期して更新します。
ステップ2: 4方向分析、数量リスト、モジュール制作
モデリングの前に、前景、中景、背景、地平線、主要な輪郭、遮蔽関係、色ブロックの割合を書き出します。3~6個の識別可能なアンカーポイント(例:山頂、農家、橋のたもと、窓枠、人物グループ)を選び、原画上の正規化座標を記録します。まず原画と同じアスペクト比で初期視点を合わせ、その後スマートフォン画面用にデザインします。小画面では視野を適度に広げることができますが、それによって空や地面が露出したり、主要オブジェクトが中央の小さなモデルに縮小される場合は、スペースを補い、合理的なクロップ/観察角度を選択する必要があります。主要オブジェクトを移動したり、視野をさらに広げたりして解決してはいけません。
3方向の生成画像の確認が完了したら、各絵画ごとに統一空間計画を書きます。原画と左、右、背後からの3枚の画像を組み合わせて、各方向と上方に何があるか、主要オブジェクトの識別可能な部品、巡回ルートと境界を説明します。屋外の場合は、各水平方向について近景、中景、背景のつながりを説明します。屋内の場合は、対応する壁、ドアや窓、家具、隣接する空間を説明します。計画を立てる際は references/world-acceptance.md を読み、4枚の画像を同じワールドレイアウトに統合し、道路、岸線、建築物、植生の画像間の矛盾を解決してから、一括でモデリングを開始します。
モデリングの前に4方向オブジェクトリストを作成します。オブジェクトの種類ごとに、正面、左、右、背後で見える数または推定範囲をそれぞれカウントし、全シーンでの重複排除後の総数、オブジェクトID、画像根拠、位置と距離/サイズ、各方向のカバレッジ、主色と補色、主要部品を記録します。同じオブジェクトが複数の画像に出現する場合は1つだけモデル化します。シーン全体の総数は、4方向の可視数を単純に合計してはいけません。まず単一オブジェクトまたは代表的な部分グループを実際にレンダリングし、対応する方向の参照画像と照らし合わせて修正してから、リストに従って種類ごとに配置・組み合わせます。組み合わせた後は、方向ごとに実際の可視数、照明、遮蔽を再確認します。「ソースコードにはすでに多くの草/睡蓮がある」という理由で、実際の可視効果を代替してはいけません。具体的な統計表と単一オブジェクト、組み合わせのチェックポイントについては references/component-inventory.md を参照し、リストの作成や数量/密度/マテリアルカラーの修正時にも読み込んでください。
実際のシーンに基づいてエンティティモジュールを選択します:連続した地形と経路、水面と岸、建築物の完全な外殻または室内、植物のボリューム、家具、人物、空。基本的なジオメトリとバッチ処理機能を再利用します。各絵画の地形、建築物の輪郭、レイアウト、主視点は個別に設計する必要があります。シリーズ制作において、カラーパレットを変えたりタイトルを置き換えたりするだけではいけません。
世界を成立させる
正面以外の両側、背後、進入可能エリアに、同じ気候、時代、スケールの空間を補います。実際のボリューム、建築物の側面と背面、植物の幹とキャノピー、屋根、水辺は、周回に耐えられるものでなければなりません。原画は比較図やマテリアル詳細の参照として使用できますが、絵画全体を平面に貼り付けて空間再構築が完了したと見なしてはいけません。
背面には、巡回可能で識別可能な空間関係がなければなりません。遠くの木を何本か繰り返し配置したり、大きな草地や水面を敷き詰めたり、濃い霧で空白を隠したりすることは、補完とは見なされません。海面や野原は広々としていて構いませんが、岸線、地平線、植生、人間の居住痕跡が意図的に設計された奥行きを形成する必要があります。移動可能な境界はエンティティの地面と一致し、境界の外側には目に見える緩衝景観帯が必要で、振り返ったり端に近づいたりしたときにシーンの断絶が見えないようにします。
すべての屋外ワールドでは、空または樹冠の遮蔽計画を明示的に設定します。 原画に空が描かれていなくても、見上げたときや狭い画面で視野が広がったときに対処する必要があります。空の設定表が漏れてそのワールドがデフォルトの無地色に戻ることを許してはいけません。絵画の気候に合わせて、明暗、雲、光の階層がある空をデザインし、樹冠と接続します。はっきりとした晴天は簡潔に保つことができます。樹冠が密集した庭園では、枝、キャノピーの隙間、その後ろの空を補う必要があります。内容のない背景色を、完成した上方空間としてごまかしてはいけません。
地面グリッド、建築物の設置点、植物の根、歩行カメラは同じ高さのルールを共有します。橋の路面、水面、地面は独立したサーフェスとして区別し、コントローラーはエリアに応じて歩行可能レイヤーを選択し、橋のたもとのスロープや手すりを確認し、水面が橋のアーチに追従したりカメラが突然レイヤーをジャンプしたりしないようにします。壁、木の幹、家具、水辺には、形状に合った衝突判定または通行可能な境界を設定し、出現地点と主要経路は明確にします。高所を見下ろすような原画では、明確な自由飛行モードを使用するか、実際の展望台を構築します。カメラを空中に浮かせたままにして、地上を歩いている状態と見なしてはいけません。
まず主要な輪郭、構図、色ブロックを調整し、その後ブラシストロークや小さな装飾を追加します。ライト、トーンマッピング、フォグ、テクスチャは原画の色彩を変えるため、実際のレンダリングで判断する必要があり、マテリアルの16進数カラーをチェックするだけではいけません。幾何学的な表面には、ブラシストロークテクスチャ、面ごとの色のばらつき、インスタンス化された短いブラシストロークを使用できます。読み取り可能なエンティティ形状は維持します。
各シーンでは、制作計画内で照明を明示的に設定し、独立したビジュアルチェックポイントとして検収します。 原画に基づいて主光源の方向、環境光補充、影の受け面、接触部分の明暗を決定します。屋内では特に窓からの光、家具の下、壁の角をチェックします。単一オブジェクトのレンダリング段階から最終シーンに近いライティングを使用し、合成後は実際に見える光の階層、オブジェクトの影、接地感を確認します。グローバルな均一な明るさの調整、テクスチャに組み込まれた明暗、または強すぎる環境光でボリュームを消してはいけません。また、影を強調するために明るい原作を暗い部屋に変えてはいけません。曇りや拡散光は柔らかくてもよく、ハードエッジの日光スポットライトを強制してはいけません。実装とトラブルシューティングについては、光影参照の「屋内照明と最終シェーディングチェック」を参照してください。
マテリアルのベースカラー、受光による明暗、オブジェクトの影、水面の反射を区別します。頂点にベイクされた明暗は実際の影の代わりにはならず、水面の繰り返し波紋も橋、船、木の反射の代わりにはなりません。原画が白い壁を識別特徴としている場合、最終的な画像でも白い壁として読める必要があり、デフォルトの黄色がかった家屋であってはいけません。ハイライト部分、冷たい色の逆光面、周囲の林帯とのコントラストをチェックします。光影、水面、密林に関する修正が必要な場合は、references/light-water-vegetation.md を読み、絵画に基づいて実際のライト、影、反射の計画を選択します。
植生の密度は、遮蔽と色ブロックで判断し、木の総数では判断しません。原画が連続した密林である場合、不規則な樹冠、林床の低木、後方の林体を使用して、地面からキャノピーまでのボリュームを閉じ、木の幹の間から直接空が見えないかどうかをチェックします。疎林や意図的な余白は、原作の隙間を維持します。近景、中景、遠景に階層化し、主要オブジェクト、白壁、橋のアーチ、経路を維持し、等間隔の幹の一列だけにならないようにします。側方の水路の終わりが途切れて見える場合は、連続した林の岸、曲がりくねった岸線、低い丘で遠景を構成します。新しく追加する丘は、根拠があるかユーザーが承認した画外の延長としてのみ追加し、すべての平野や開けた水面に強制してはいけません。
主要オブジェクトは「輪郭、構造部品、表面マテリアル、環境との接続」の順に階層的に制作し、原画から現在のフレーミングに適した少なくとも3つの識別特徴を抽出します。近くで見ることになる橋、船、建築物、家具には、そのスケールと用途を裏付ける構造的詳細が必要です。橋のアーチ、ボリューム、灰色のマテリアルは粗いモデルの段階にすぎません。原作に基づいてアーチ/支持部、橋脚、橋の縁、手すり、石材の変化を処理し、橋のたもとの着地と橋の下の視界をチェックします。船は、船体、舷縁、甲板、対応するマストと索具を読み取れるようにし、目に見える構造の代わりに大きなブロックを使用してはいけません。具体的な部品は原作に応じて取捨選択し、すべての絵画に同じ装飾セットを強制してはいけません。詳細な例については、検収リファレンスの「主要オブジェクト詳細」を参照してください。
同じプロジェクトでユーザーがすでに承認した修正バージョンがある場合は、その主要オブジェクトの造形、詳細密度、空間の完全性を以降の品質基準とします。勝手にすべてのバッチを均一な最小限の粗いモデルにダウングレードし、「スタイライズされた」と説明して完了とすることは許されません。比較結果は、輪郭/遮蔽、主要オブジェクトの比率、主要な色ブロック、主要部品ごとに個別に記録し、全体的な類似度スコアをでっち上げてはいけません。
まず代表作を1つ完成させて視覚的に検収してから、シリーズを拡大します。共有ツールキットは再利用できますが、構図、周囲の拡張、主要オブジェクトの造形は各絵画ごとに設計する必要があります。共有の空、地形、レンダリング、カメラロジックを修正した後は、影響を受ける各絵画を再チェックします。
デフォルトでは控えめなインターフェースを使用します:タイトル、右上隅にデフォルトで展開され折りたたみ可能な原画、必要なタッチスクリーンジョイスティック。デスクトップではWASD/矢印キー移動、ドラッグで見回し、Rで元の視点に戻る。ユーザーの現在の選択に従い、新しいマップ、ガイド、レイヤー、全画面ツールを強制してはいけません。非表示にした後は再び展開可能でなければならず、タッチスクリーンコントロールはクリック可能なままにします。
動的要素が必要な場合
まずオブジェクトリストで、固定構造物、根付いた植物、固定エッジの布地、関節動作、経路に沿って移動する完全なオブジェクトを区別します。原画の静的な参照ポーズを維持します。動きは初期構図を継続的に破壊してはいけません。人物はまず衣服、立ち座りの姿勢、頭と体の比率、手に持っているものを確認し、その後どの関節を動かすかを決定し、すべての人物を同じモデルに一律に置き換えることを避けます。具体的な階層、固定点、影、ループ検収については references/living-worlds.md を参照し、風、人物、車、船、鳥の動きを追加する際に読み込んでください。
照合と納品
プロジェクトサーバー経由で実際に開き、ジオメトリとテクスチャの準備が整うのを待ちます。原画のアスペクト比とスマートフォンビューポートでスクリーンショットを撮影し、原画と並べてチェックします:主要オブジェクトのサイズと位置、天と地の比率、輪郭、遮蔽、前景・中景・背景の階層、カラーパレット、詳細密度。構図チェック時は原画パネルを非表示にし、パネルを展開した状態のインターフェーススクリーンショットも別途保存し、オーバーレイがアンカーポイントを隠さないようにします。原画自体でトリミングされている橋の端などは、そのままトリミングを続けて構いません。スマートフォン記録では主要オブジェクトのフレーミング戦略を維持し、すべてのアンカーポイントが同時にフレーム内に入ることを強制しません。まず目に見える大きなずれを修正します。木の数を増やすことで構図の修正を代替してはいけません。投影の定量化が必要な場合は scripts/project-landmarks.py を使用しますが、その誤差は選択されたアンカーポイントのみを測定し、全体的な視覚的類似性を表すものではありません。
正面の実際のレンダリングを原画と照合します。左、右、背面の実際のレンダリングは、それぞれステップ1で生成された対応する観察画像と照合し、4方向リストの実際の可視数/カバレッジと差異をフィードバックします。生成された観察画像と最終的なブラウザスクリーンショットはそれぞれ別々に保存し、前者を後者の完了証拠として使用してはいけません。
一枚ごとに以下の検収を実行し、サンプルチェックでバッチ全体の検収を代替してはいけません:
- 出現地点で、正面、左約90°回転、右約90°回転、背後約180°回転、少なくとも55°見上げた実際のレンダリングスクリーンショットをそれぞれ撮影します。これらの視点ではカメラ位置を一定に保ちます。屋外ではさらに少なくとも75°の天頂付近も撮影します。樹冠で遮蔽されたシーンでは、キャノピーの端/隙間と空との接続も撮影します。主視点は原画の構図照合のみに使用し、他の視点は空の空、空の背面、断絶、片面モデルを見つけるために使用します。
- 少なくとも2つの到達可能な経路に沿って、実際のキーボード/マウスまたはタッチ入力で連続移動した後にスクリーンショットを撮影します。経路には、原画の外側に向かう移動と、主要構造物の側面または背面への接近/周回を含める必要があります。地面、岸、橋のたもと、モデルの接続を確認します。屋内では、実際に到達可能なドアの端や家具の側面を選択します。橋のたもと、階段、岸線などレイヤーが切り替わる場所では、途中の証拠も別途保存し、レイヤージャンプや貫通があったかどうかを記録します。カメラ位置を直接設定したり、元の視点に戻るだけでは、経路の通過を証明できません。
- スクリーンショットを一枚ずつ開いて目視検査し、具体的な可視コンテンツと欠陥を記録します。空白、簡素すぎる、原作から明らかに逸脱している、または正面だけでしか成立していない場合は、先に修正してから再撮影します。スクリーンショットファイルが存在する、ファイル名に
rearと書いてあるという理由で、チェックを通過したとは見なせません。 - デスクトップとスマートフォンでの構図、原画の非表示/復元、移動/リセット、タッチ操作、ウィンドウサイズ変更、リソース読み込み、コンソールをチェックします。制限付き座標、インデックス範囲、出現地点、路面高さ、衝突経路をチェックします。実行時チェックと視覚チェックはそれぞれ別に記録します。
- 照明検収を独立して記録します:実際のスクリーンショットから、主光源の方向、明るい面と暗い面、代表的なオブジェクトの影と接触影を指摘し、移動後も安定していることを確認します。本来あるべき光影が見られない場合は、まず最終マテリアル/シェーダー、光源パスと遮蔽を調べます。光源オブジェクトが存在する、または影のスイッチがオンであることを、通過の根拠としてはいけません。上記の方向、経路、スマートフォンスクリーンショットを再利用すれば十分であり、別途形式的な証拠を集める必要はありません。
該当するコンテンツがある場合、上記のスクリーンショットと経路でさらに以下を確認します:白壁が黄色/灰色がかっていないか、遠景の林の下端から空が漏れていないか、側方の地平線が閉じているか、薄い面の傘/帆が影を落とし漏れていないか、反射がオブジェクトの水線と接続し、視点に応じて変化し、波紋で分散しているか。移動後は影の安定性をチェックします。スマートフォンでは反射のオーバーヘッドと実際のフレームレートをチェックし、デスクトップの結果を代用してはいけません。詳細な判断は光影と水景のリファレンスを参照してください。
検収リファレンスに従って、各絵画の計画、主要オブジェクトの特徴、スクリーンショットの証拠を保存します。python3 scripts/validate-world-evidence.py <manifest.json> --require-passed を実行して、項目漏れ、角度間違い、重複スクリーンショット、ファイル欠落、未通過項目をチェックできます。このスクリプトは証拠の構造のみをチェックし、画像内容は実際の目視検査が必要です。
シリーズのエントリーポイントでは、各ワールドの実際のカバー画像、作品と作者、カテゴリ、入場可能なリンクを表示します。納品時には「実行可能」「正面構図済み」「完全な空間検収済み」を区別し、未通過のワールドとその問題を正直に報告します。問題はそれぞれ、目視確認済みの欠陥、証拠不足、旧バージョンの証拠としてマークします。スクリーンショットがなくても、シーンが行われていないと推測したり、通過したと見なしたりしてはいけません。一枚ごとの証拠が揃い、視覚的問題が解決された場合にのみ、バッチ全体を完了としてマークできます。実行可能なローカルアドレスと具体的な完了内容を納品します。公開はユーザーの許可範囲に従って実行します。
輪郭、植生密度、カメラが常に原図からずれている場合は、references/fidelity-lessons.md を参照してください。そこには、サント=ヴィクトワール山とアルジャントゥイユの橋に関する実際の修正経験が記録されています。