Files
AIGame/Doc/Design/Scene/Battlefield/battlefield_scene_manifest.json
T

197 lines
8.6 KiB
JSON

{
"schemaVersion": 1,
"sceneId": "Battlefield_Greenfield",
"selectedDesign": "A",
"requestedDesign": "A",
"designOptions": [
{
"id": "A",
"name": "?????",
"image": "Doc/Design/Scene/Battlefield/Battlefield_Design_A_GreenFork.png",
"summary": "?????????????????????",
"generation": {
"tool": "Tools/gpt_image_generate.py",
"model": "gpt-image-2.5",
"promptFile": "Doc/Design/Scene/Battlefield/battlefield_design_prompts.json",
"status": "generated",
"output": "Doc/Design/Scene/Battlefield/Battlefield_Design_A_GreenFork.png",
"statusFile": "Doc/Design/Scene/Battlefield/Battlefield_Design_A_GreenFork_gpt_image_status.json",
"generatedAtUtc": "2026-10-18T09:36:01Z"
}
},
{
"id": "B",
"name": "????",
"image": "Doc/Design/Scene/Battlefield/Battlefield_Design_B_StreamBridges.png",
"summary": "??????????????????",
"generation": {
"tool": "Tools/gpt_image_generate.py",
"model": "gpt-image-2.5",
"promptFile": "Doc/Design/Scene/Battlefield/battlefield_design_prompts.json",
"status": "pending_api_key"
}
},
{
"id": "C",
"name": "????",
"image": "Doc/Design/Scene/Battlefield/Battlefield_Design_C_OldGarden.png",
"summary": "???????????????????????",
"generation": {
"tool": "Tools/gpt_image_generate.py",
"model": "gpt-image-2.5",
"promptFile": "Doc/Design/Scene/Battlefield/battlefield_design_prompts.json",
"status": "pending_api_key"
}
}
],
"ground": {
"type": "ground",
"designImage": "Doc/Design/Scene/Battlefield/A/ground.png",
"highPoly": "Tools/output/battlefield/A/ground_model_ref/ground_model_ref.glb",
"gamePrefab": "Assets/Bundles/Scenes/Prototype/Battlefield/GreenfieldGround.prefab",
"targetTriangles": 1200,
"requirements": "Y-up??????????? -Z ?????? MeshCollider?Read/Write ???",
"designGenerationStatus": "generated",
"designStatusFile": "Doc/Design/Scene/Battlefield/A/ground_gpt_image_status.json",
"modelGenerationStatus": "baked",
"modelStatusFile": "Tools/output/battlefield/A/ground_model_ref_hunyuan_status.json",
"modelReferenceImage": "Doc/Design/Scene/Battlefield/A/ground_model_ref.png",
"modelReferenceStatusFile": "Doc/Design/Scene/Battlefield/A/ground_model_ref_gpt_image_status.json",
"modelInputNote": "布局审核图 ground.png保留;混元图生3D使用单一连续地形参考图 ground_model_ref.png,避免网页端主体不明确。",
"gameFbx": "Tools/output/battlefield/A/ground_game/ground_model_ref_xpbr/ground_model_ref.fbx",
"unityFbx": "AIClient/Assets/Bundles/Scenes/Prototype/Battlefield/A/Ground/ground.fbx",
"modelTriangles": 1200,
"modelFlow": "Hunyuan 3D 50k -> Blender 5.0 lowpoly 1200 tris -> XPbr",
"sourceReference": "Doc/Design/Scene/Battlefield/A/ground_model_ref.png"
},
"componentTypeLimit": 15,
"allowedComponentTypes": [
"tree",
"rock",
"bridge",
"sign",
"shrub",
"water",
"reeds",
"ruin_wall",
"arch",
"flower_patch",
"fountain",
"lamp",
"bench",
"gate"
],
"components": [
{
"type": "tree",
"designImage": "Doc/Design/Scene/Battlefield/A/parts/tree.png",
"targetTriangles": 700,
"generationStatus": "generated",
"statusFile": "Doc/Design/Scene/Battlefield/A/parts/tree_gpt_image_status.json",
"highPoly": "Tools/output/battlefield/A/tree/tree.glb",
"gameFbx": "Tools/output/battlefield/A/tree_game/tree_xpbr/tree.fbx",
"modelTriangles": 700,
"modelGenerationStatus": "baked",
"modelStatusFile": "Tools/output/battlefield/A/tree_hunyuan_status.json",
"prefab": "Assets/Bundles/Scenes/Prototype/Battlefield/A/Components/tree/tree.prefab",
"label": "tree",
"position": { "x": -8.0, "y": 0.0, "z": 9.0 },
"rotation": { "x": 0.0, "y": 15.0, "z": 0.0 },
"scale": { "x": 2.2, "y": 2.2, "z": 2.2 }
},
{
"type": "rock",
"designImage": "Doc/Design/Scene/Battlefield/A/parts/rock.png",
"targetTriangles": 450,
"generationStatus": "generated",
"statusFile": "Doc/Design/Scene/Battlefield/A/parts/rock_gpt_image_status.json",
"highPoly": "Tools/output/battlefield/A/rock/rock.glb",
"gameFbx": "Tools/output/battlefield/A/rock_game/rock_xpbr/rock.fbx",
"modelTriangles": 450,
"modelGenerationStatus": "baked",
"modelStatusFile": "Tools/output/battlefield/A/rock_hunyuan_status.json",
"prefab": "Assets/Bundles/Scenes/Prototype/Battlefield/A/Components/rock/rock.prefab",
"label": "rock",
"position": { "x": 7.2, "y": 0.0, "z": 5.5 },
"rotation": { "x": 0.0, "y": 20.0, "z": 0.0 },
"scale": { "x": 1.6, "y": 1.6, "z": 1.6 }
},
{
"type": "bridge",
"designImage": "Doc/Design/Scene/Battlefield/A/parts/bridge.png",
"targetTriangles": 1200,
"generationStatus": "generated",
"statusFile": "Doc/Design/Scene/Battlefield/A/parts/bridge_gpt_image_status.json",
"highPoly": "Tools/output/battlefield/A/bridge/bridge.glb",
"gameFbx": "Tools/output/battlefield/A/bridge_game/bridge_xpbr/bridge.fbx",
"modelTriangles": 1200,
"modelGenerationStatus": "baked",
"modelStatusFile": "Tools/output/battlefield/A/bridge_hunyuan_status.json",
"prefab": "Assets/Bundles/Scenes/Prototype/Battlefield/A/Components/bridge/bridge.prefab",
"label": "bridge",
"placeInScene": false
},
{
"type": "sign",
"designImage": "Doc/Design/Scene/Battlefield/A/parts/sign.png",
"targetTriangles": 450,
"generationStatus": "generated",
"statusFile": "Doc/Design/Scene/Battlefield/A/parts/sign_gpt_image_status.json",
"highPoly": "Tools/output/battlefield/A/sign/sign.glb",
"gameFbx": "Tools/output/battlefield/A/sign_game/sign_xpbr/sign.fbx",
"modelTriangles": 448,
"modelGenerationStatus": "baked",
"modelStatusFile": "Tools/output/battlefield/A/sign_hunyuan_status.json",
"prefab": "Assets/Bundles/Scenes/Prototype/Battlefield/A/Components/sign/sign.prefab",
"label": "sign",
"position": { "x": -6.2, "y": 0.0, "z": -2.2 },
"rotation": { "x": 0.0, "y": 180.0, "z": 0.0 },
"scale": { "x": 1.6, "y": 1.6, "z": 1.6 }
},
{
"type": "shrub",
"designImage": "Doc/Design/Scene/Battlefield/A/parts/shrub.png",
"targetTriangles": 450,
"generationStatus": "generated",
"statusFile": "Doc/Design/Scene/Battlefield/A/parts/shrub_gpt_image_status.json",
"highPoly": "Tools/output/battlefield/A/shrub/shrub.glb",
"gameFbx": "Tools/output/battlefield/A/shrub_game/shrub_xpbr/shrub.fbx",
"modelTriangles": 422,
"modelGenerationStatus": "baked",
"modelStatusFile": "Tools/output/battlefield/A/shrub_hunyuan_status.json",
"prefab": "Assets/Bundles/Scenes/Prototype/Battlefield/A/Components/shrub/shrub.prefab",
"label": "shrub",
"position": { "x": -7.2, "y": 0.0, "z": 0.5 },
"rotation": { "x": 0.0, "y": -15.0, "z": 0.0 },
"scale": { "x": 1.3, "y": 1.3, "z": 1.3 }
}
],
"assembly": {
"outputPrefab": "Assets/Bundles/Scenes/Prototype/Battlefield/Battlefield_Greenfield.prefab",
"materialsFolder": "Assets/Bundles/Scenes/Prototype/Battlefield/Materials",
"componentFolder": "Assets/Bundles/Scenes/Prototype/Battlefield/Components",
"markerFolder": "Assets/Bundles/Scenes/Prototype/Battlefield/Markers"
},
"notes": "A 方案地表与 5 类组件已由 Unity Pipeline 生成 Prefab 并拼入 Battlefield_Greenfield,再嵌进开战预制体 PrototypeArena 的 Greenfield 子节点。烘焙地表是朝向 Z 的薄板,场景实例绕 X 轴 -90 度放平,顶面贴 y=0,覆盖三条路线。桥的模型已做好,但场景里不摆桥;路牌在营地侧且 -Z 朝向出生点,树、岩石、灌木放在路线外侧。Greenfield 整棵子树为第 30 层,Play Mode 已验证开战可见。",
"designGeneration": {
"tool": "Tools/generate_battlefield_designs.py",
"imageTool": "Tools/gpt_image_generate.py",
"model": "gpt-image-2.5",
"promptFile": "Doc/Design/Scene/Battlefield/battlefield_design_prompts.json",
"status": "generated",
"generatedAtUtc": "2026-10-18T09:36:01Z",
"observedSize": "1254x1254",
"note": "A ??????????"
},
"componentDesignGeneration": {
"tool": "Tools/generate_battlefield_components.py",
"model": "gpt-image-2.5",
"styleReference": "prompt-described",
"overviewReference": "prompt-described",
"referenceUpload": "none",
"status": "generated",
"generatedAtUtc": "2026-10-18T08:12:13Z",
"observedSize": "1254x1254"
}
}