chore(tools): 更新搭建指南和level-builder输出/解析器

This commit is contained in:
2026-06-09 19:12:36 +08:00
parent 5367d82407
commit 7bbcd9696e
4 changed files with 299 additions and 284 deletions
+127 -127
View File
@@ -2365,7 +2365,7 @@
"zone_id": "Z1",
"location": [
200.0,
0.0,
-200.0,
0.0
],
"rotation": [
@@ -2396,7 +2396,7 @@
"zone_id": "Z1",
"location": [
600.0,
0.0,
-200.0,
0.0
],
"rotation": [
@@ -2417,6 +2417,68 @@
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_SouthWall_03",
"status": "ok",
"actor_name": "LVL_Z1_STR_SouthWall_03",
"asset_key": "Wall_200x300",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
900.0,
-200.0,
0.0
],
"rotation": [
0.0,
0.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevRed",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_WestWall_00",
"status": "ok",
"actor_name": "LVL_Z1_STR_WestWall_00",
"asset_key": "Wall_200x300",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
0.0,
-100.0,
0.0
],
"rotation": [
0.0,
90.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevRed",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_WestWall_01",
"status": "ok",
@@ -2479,6 +2541,37 @@
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_EastWall_00",
"status": "ok",
"actor_name": "LVL_Z1_STR_EastWall_00",
"asset_key": "Wall_200x300",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
980.0,
-100.0,
0.0
],
"rotation": [
0.0,
90.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevRed",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_EastWall_01",
"status": "ok",
@@ -2634,42 +2727,11 @@
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_GateDoor",
"status": "ok",
"actor_name": "LVL_Z1_STR_GateDoor",
"asset_key": "RotativeDoor_01",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
500.0,
780.0,
0.0
],
"rotation": [
0.0,
0.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevGreen",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_HouseSouthWall",
"status": "ok",
"actor_name": "LVL_Z1_STR_HouseSouthWall",
"asset_key": "WallWindow_400x300",
"asset_key": "Wall_400x300",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
@@ -2705,7 +2767,7 @@
"category": "STR",
"zone_id": "Z1",
"location": [
600.0,
700.0,
30.0,
0.0
],
@@ -2758,37 +2820,6 @@
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_HouseWestTop",
"status": "ok",
"actor_name": "LVL_Z1_STR_HouseWestTop",
"asset_key": "Wall_400x100",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
200.0,
220.0,
300.0
],
"rotation": [
0.0,
90.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevWhite",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_HouseEastWall",
"status": "ok",
@@ -2820,37 +2851,6 @@
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_HouseEastTop",
"status": "ok",
"actor_name": "LVL_Z1_STR_HouseEastTop",
"asset_key": "Wall_400x100",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
780.0,
220.0,
300.0
],
"rotation": [
0.0,
90.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevWhite",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"name": "LVL_Z1_STR_HouseNorthWall",
"status": "ok",
@@ -2860,7 +2860,7 @@
"category": "STR",
"zone_id": "Z1",
"location": [
400.0,
300.0,
410.0,
0.0
],
@@ -2891,7 +2891,7 @@
"category": "STR",
"zone_id": "Z1",
"location": [
600.0,
590.0,
410.0,
0.0
],
@@ -2985,7 +2985,7 @@
"zone_id": "Z1",
"location": [
500.0,
400.0,
300.0,
0.0
],
"rotation": [
@@ -2995,7 +2995,7 @@
],
"scale": [
1.0,
0.8,
1.0,
1.0
],
"material": "MI_DevGray",
@@ -3041,14 +3041,14 @@
"name": "LVL_Z1_PROP_ClothesPole_Beam",
"status": "ok",
"actor_name": "LVL_Z1_PROP_ClothesPole_Beam",
"asset_key": "Beam_300",
"asset_key": "Cube",
"asset_type": "static_mesh",
"category": "PROP",
"zone_id": "Z1",
"location": [
500.0,
600.0,
180.0
160.0
],
"rotation": [
0.0,
@@ -3056,13 +3056,13 @@
0.0
],
"scale": [
1.0,
1.0,
1.0
2.4,
0.05,
0.05
],
"material": "MI_DevWhite",
"folder": "LVL_SuburbanV01/Z1_家/Props",
"note": "横杆",
"note": "横杆(水平放置)",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -3089,11 +3089,11 @@
"scale": [
0.05,
0.05,
3.6
1.6
],
"material": "MI_DevGray",
"folder": "LVL_SuburbanV01/Z1_家/Props",
"note": "支撑柱",
"note": "支撑柱 160cm",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -3120,11 +3120,11 @@
"scale": [
0.05,
0.05,
3.6
1.6
],
"material": "MI_DevGray",
"folder": "LVL_SuburbanV01/Z1_家/Props",
"note": "支撑柱",
"note": "支撑柱 160cm",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -4906,7 +4906,7 @@
"category": "STR",
"zone_id": "Z2",
"location": [
1400.0,
1300.0,
700.0,
260.0
],
@@ -4937,8 +4937,8 @@
"category": "PROP",
"zone_id": "Z2",
"location": [
1200.0,
500.0,
1100.0,
360.0,
0.0
],
"rotation": [
@@ -4953,7 +4953,7 @@
],
"material": "MI_DevGlassWhite",
"folder": "LVL_SuburbanV01/Z2_小卖部/Props",
"note": "玻璃柜台",
"note": "玻璃柜台,避开冰柜和门",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -5092,8 +5092,8 @@
"category": "PROP",
"zone_id": "Z2",
"location": [
1350.0,
540.0,
1200.0,
350.0,
90.0
],
"rotation": [
@@ -5108,7 +5108,7 @@
],
"material": "MI_DevGray",
"folder": "LVL_SuburbanV01/Z2_小卖部/Props",
"note": "柜台角落",
"note": "柜台东端上方",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -7086,9 +7086,9 @@
0.0
],
"scale": [
1.0,
1.0,
1.0
0.7,
0.7,
0.5
],
"material": "",
"folder": "LVL_SuburbanV01/Z3_主街道/Lighting",
@@ -7117,9 +7117,9 @@
0.0
],
"scale": [
1.0,
1.0,
1.0
0.7,
0.7,
0.5
],
"material": "",
"folder": "LVL_SuburbanV01/Z3_主街道/Lighting",
@@ -7148,9 +7148,9 @@
0.0
],
"scale": [
1.0,
1.0,
1.0
0.7,
0.7,
0.5
],
"material": "",
"folder": "LVL_SuburbanV01/Z3_主街道/Lighting",
+122 -124
View File
@@ -2222,7 +2222,7 @@
"zone_id": "Z1",
"location": [
200.0,
0.0,
-200.0,
0.0
],
"rotation": [
@@ -2251,7 +2251,7 @@
"zone_id": "Z1",
"location": [
600.0,
0.0,
-200.0,
0.0
],
"rotation": [
@@ -2272,6 +2272,64 @@
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_SouthWall_03",
"asset_key": "Wall_200x300",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
900.0,
-200.0,
0.0
],
"rotation": [
0.0,
0.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevRed",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_WestWall_00",
"asset_key": "Wall_200x300",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
0.0,
-100.0,
0.0
],
"rotation": [
0.0,
90.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevRed",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_WestWall_01",
"asset_key": "Wall_400x300",
@@ -2330,6 +2388,35 @@
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_EastWall_00",
"asset_key": "Wall_200x300",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
980.0,
-100.0,
0.0
],
"rotation": [
0.0,
90.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevRed",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_EastWall_01",
"asset_key": "Wall_400x300",
@@ -2475,38 +2562,9 @@
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_GateDoor",
"asset_key": "RotativeDoor_01",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
500.0,
780.0,
0.0
],
"rotation": [
0.0,
0.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevGreen",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_HouseSouthWall",
"asset_key": "WallWindow_400x300",
"asset_key": "Wall_400x300",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
@@ -2540,7 +2598,7 @@
"category": "STR",
"zone_id": "Z1",
"location": [
600.0,
700.0,
30.0,
0.0
],
@@ -2591,35 +2649,6 @@
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_HouseWestTop",
"asset_key": "Wall_400x100",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
200.0,
220.0,
300.0
],
"rotation": [
0.0,
90.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevWhite",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_HouseEastWall",
"asset_key": "Wall_400x300",
@@ -2649,35 +2678,6 @@
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_HouseEastTop",
"asset_key": "Wall_400x100",
"asset_type": "static_mesh",
"category": "STR",
"zone_id": "Z1",
"location": [
780.0,
220.0,
300.0
],
"rotation": [
0.0,
90.0,
0.0
],
"scale": [
1.0,
1.0,
1.0
],
"material": "MI_DevWhite",
"folder": "LVL_SuburbanV01/Z1_家/Structure",
"note": "",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
"source_ref": ""
},
{
"actor_name": "LVL_Z1_STR_HouseNorthWall",
"asset_key": "WallDoor_200x300",
@@ -2685,7 +2685,7 @@
"category": "STR",
"zone_id": "Z1",
"location": [
400.0,
300.0,
410.0,
0.0
],
@@ -2714,7 +2714,7 @@
"category": "STR",
"zone_id": "Z1",
"location": [
600.0,
590.0,
410.0,
0.0
],
@@ -2802,7 +2802,7 @@
"zone_id": "Z1",
"location": [
500.0,
400.0,
300.0,
0.0
],
"rotation": [
@@ -2812,7 +2812,7 @@
],
"scale": [
1.0,
0.8,
1.0,
1.0
],
"material": "MI_DevGray",
@@ -2854,14 +2854,14 @@
},
{
"actor_name": "LVL_Z1_PROP_ClothesPole_Beam",
"asset_key": "Beam_300",
"asset_key": "Cube",
"asset_type": "static_mesh",
"category": "PROP",
"zone_id": "Z1",
"location": [
500.0,
600.0,
180.0
160.0
],
"rotation": [
0.0,
@@ -2869,13 +2869,13 @@
0.0
],
"scale": [
1.0,
1.0,
1.0
2.4,
0.05,
0.05
],
"material": "MI_DevWhite",
"folder": "LVL_SuburbanV01/Z1_家/Props",
"note": "横杆",
"note": "横杆(水平放置)",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -2900,11 +2900,11 @@
"scale": [
0.05,
0.05,
3.6
1.6
],
"material": "MI_DevGray",
"folder": "LVL_SuburbanV01/Z1_家/Props",
"note": "支撑柱",
"note": "支撑柱 160cm",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -2929,11 +2929,11 @@
"scale": [
0.05,
0.05,
3.6
1.6
],
"material": "MI_DevGray",
"folder": "LVL_SuburbanV01/Z1_家/Props",
"note": "支撑柱",
"note": "支撑柱 160cm",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -4599,7 +4599,7 @@
"category": "STR",
"zone_id": "Z2",
"location": [
1400.0,
1300.0,
700.0,
260.0
],
@@ -4628,8 +4628,8 @@
"category": "PROP",
"zone_id": "Z2",
"location": [
1200.0,
500.0,
1100.0,
360.0,
0.0
],
"rotation": [
@@ -4644,7 +4644,7 @@
],
"material": "MI_DevGlassWhite",
"folder": "LVL_SuburbanV01/Z2_小卖部/Props",
"note": "玻璃柜台",
"note": "玻璃柜台,避开冰柜和门",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -4773,8 +4773,8 @@
"category": "PROP",
"zone_id": "Z2",
"location": [
1350.0,
540.0,
1200.0,
350.0,
90.0
],
"rotation": [
@@ -4789,7 +4789,7 @@
],
"material": "MI_DevGray",
"folder": "LVL_SuburbanV01/Z2_小卖部/Props",
"note": "柜台角落",
"note": "柜台东端上方",
"trigger_radius": 0.0,
"interact_type": "",
"rarity": "",
@@ -6639,9 +6639,9 @@
0.0
],
"scale": [
1.0,
1.0,
1.0
0.7,
0.7,
0.5
],
"material": "",
"folder": "LVL_SuburbanV01/Z3_主街道/Lighting",
@@ -6668,9 +6668,9 @@
0.0
],
"scale": [
1.0,
1.0,
1.0
0.7,
0.7,
0.5
],
"material": "",
"folder": "LVL_SuburbanV01/Z3_主街道/Lighting",
@@ -6697,9 +6697,9 @@
0.0
],
"scale": [
1.0,
1.0,
1.0
0.7,
0.7,
0.5
],
"material": "",
"folder": "LVL_SuburbanV01/Z3_主街道/Lighting",
@@ -6934,7 +6934,7 @@
"Z1": 39,
"Z7": 10
},
"unique_assets": 38,
"unique_assets": 36,
"asset_list": [
"Barrel",
"BarrierWall_200",
@@ -6957,7 +6957,6 @@
"GarageDoorOpen_01",
"Monitor_01",
"RoadLamp_01",
"RotativeDoor_01",
"SimpleTable_01",
"SimpleTable_02",
"TrashCans_01",
@@ -6966,7 +6965,6 @@
"WallDoorGarage_400x300",
"WallDoor_200x300",
"WallWindowSmall_200x300",
"WallWindow_400x300",
"Wall_100x300",
"Wall_200x300",
"Wall_400x100",
@@ -624,13 +624,23 @@ class BuildGuideParser:
i += 1
def _parse_global_row(self, row: dict) -> Optional[ActorData]:
"""解析全局物件行。"""
"""解析全局物件行。支持可选的旋转和缩放列。"""
name = clean_cell(row.get("Actor 名称", row.get("Actor名称", "")))
if not name:
return None
asset_key = clean_cell(row.get("资产", ""))
location = parse_location(row.get("位置 (X,Y,Z)", row.get("位置", "")))
# 旋转(可选)
rot_col = (row.get("旋转 (Pitch,Yaw,Roll)")
or row.get("旋转 (P,Y,R)")
or row.get("旋转", ""))
rotation = parse_rotation(rot_col) if rot_col else (0.0, 0.0, 0.0)
# 缩放(可选)
scale = parse_scale(row.get("缩放", "—"))
material = clean_cell(row.get("材质", ""))
if material in ('—', '–', '-'):
material = ""
@@ -650,6 +660,8 @@ class BuildGuideParser:
category=category,
zone_id=zone_id,
location=location,
rotation=rotation,
scale=scale,
material=material,
folder=self._get_folder(zone_id, category),
)