champions-of-luneraria/Assets/Luneraria/Art/Buildings/bossgrotte.export.json
Martin Stickelbroeck 3ca38a8443 U2 Batch Asset Import
Alle 86 Modelle der Godot-Referenz laufen durch die Blender→FBX-Pipeline
(nach bestandenem Vertical Function Test); jede Einheit zeigt ihr eigenes
Modell.

- Exportmanifest aus den Godot-Manifesten (tools/blender/make_manifest.py):
  Units, Enemies, Props, Characters, Peoples, Buildings, Environment; die
  drei Vergleichs-GLBs als Aliase. Neu in der Pipeline: Tangenten berechnet
  Unity mit MikkTSpace, Generatoren laufen in einer temporären Kopie, die
  Grüne Kluft wird wie das GLB zusammengefasst, Texturen kommen mit.
  1.616 Blender- und 1.247 Unity-Prüfungen grün, zwei Exportläufe
  byteidentisch; Kontaktbögen je Gruppe.
- Einheitenbibliothek nach Godots AssetLibrary: 70 Einträge der
  Einheitengruppen, Figuren mit Skelett ersetzen das starre Modell ihrer ID.
  Starre Modelle werden zur Laufzeit je Material zusammengefasst; Controller
  werden an Ort und Stelle aktualisiert.
- Tests mit allen Modellen: EditMode 11/11, PlayMode 2/2. Vertical Function
  Test Seed 2 DCE95C96556F3A1A und Seed 9 ab Runde 21 7B8E43AEFC0D60C5,
  beide gleich dem Kern (Nachweise mit LUNE_EVIDENCE=u2a-batch; die Belege
  von U2C und U2D bleiben unverändert).
- macOS-Player mit allen Modellen: 158-160 fps in der Übersicht
  (116 Einheiten), 205-207 fps auf der Mid-Lane; Haupt- und Render-Thread
  etwa doppelt so lang wie mit dem Platzhalter, Present-Ausreißer kürzer.
- Befund iCloud Drive: Konfliktkopien ("Name 2.ext") im Build-Cache ließen
  den Build die Einheitenbibliothek mit altem Feldlayout schreiben; der
  Player meldete sharedassets0.assets als beschädigt. LunePlayerBuild
  entfernt solche Kopien vor dem Build und bricht ab, wenn während des
  Builds neue entstehen. Bereits committete Kopien: Controller-Duplikate und
  World/Generated 2.meta entfernt, drei U2D-Benchmarkläufe als -run1 bis
  -run3 benannt.
- Dokumentation: U2-WORLD (Batch-Import), PORT-STATUS (Entscheidungen:
  Modelle direkt in Git, Projektort außerhalb von iCloud Drive), PORT-QA.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-01 19:10:35 +02:00

652 lines
10 KiB
JSON

{
"id": "bossgrotte",
"group": "Buildings",
"source": "assets-source/luneraria/g2/bossgrotte.blend",
"exporter_version": 10,
"blender": "5.2.2 LTS",
"fbx_settings": {
"use_selection": true,
"use_visible": false,
"use_active_collection": false,
"global_scale": 1.0,
"apply_unit_scale": true,
"apply_scale_options": "FBX_SCALE_UNITS",
"axis_forward": "Y",
"axis_up": "Z",
"bake_space_transform": false,
"object_types": [
"ARMATURE",
"EMPTY",
"MESH"
],
"use_mesh_modifiers": true,
"use_mesh_modifiers_render": true,
"mesh_smooth_type": "OFF",
"use_subsurf": false,
"use_mesh_edges": false,
"use_tspace": false,
"use_triangles": false,
"colors_type": "LINEAR",
"prioritize_active_color": true,
"use_custom_props": false,
"add_leaf_bones": false,
"primary_bone_axis": "Y",
"secondary_bone_axis": "X",
"use_armature_deform_only": true,
"armature_nodetype": "NULL",
"bake_anim": true,
"bake_anim_use_all_bones": true,
"bake_anim_use_nla_strips": false,
"bake_anim_use_all_actions": true,
"bake_anim_force_startend_keying": true,
"bake_anim_step": 1.0,
"bake_anim_simplify_factor": 0.0,
"path_mode": "STRIP",
"embed_textures": false,
"batch_mode": "OFF"
},
"checks": [
{
"check": "turn_applied",
"ok": true,
"detail": "[]"
},
{
"check": "units_metric",
"ok": true,
"detail": "METRIC"
},
{
"check": "unit_scale_1",
"ok": true,
"detail": "1.0"
},
{
"check": "no_negative_scale",
"ok": true,
"detail": "{}"
},
{
"check": "object_scale_1",
"ok": true,
"detail": "{}"
},
{
"check": "mesh_names_unique",
"ok": true,
"detail": "['Altar', 'Cave', 'CaveGlow', 'Channel', 'Floor', 'Gate', 'PillarCrystals', 'Pillars', 'Platform', 'Rocks', 'Runes', 'Source']"
},
{
"check": "material_slots_filled",
"ok": true,
"detail": "{}"
},
{
"check": "normals_unit_length",
"ok": true,
"detail": "{}"
},
{
"check": "no_blend_shapes",
"ok": true,
"detail": "{}"
},
{
"check": "triangles_match_godot",
"ok": true,
"detail": "15182 fbx / 15182 godot"
},
{
"check": "mesh_names_match_godot",
"ok": true,
"detail": "[]"
},
{
"check": "materials_match_godot",
"ok": true,
"detail": "[]"
},
{
"check": "bounds_match_godot",
"ok": true,
"detail": "largest difference 0.00000 m"
},
{
"check": "no_armature",
"ok": true,
"detail": "[]"
},
{
"check": "roundtrip_mesh_names",
"ok": true,
"detail": "[]"
},
{
"check": "roundtrip_triangles",
"ok": true,
"detail": "15182 / 15182"
},
{
"check": "roundtrip_materials",
"ok": true,
"detail": "[]"
}
],
"source_sha256": "c3a87a8e7b0b8e0778ba7f9f274584e98e5c70a8229bc1cbee7ed9fd6aba7d9e",
"removed_modifiers": 0,
"kind": "static",
"fps": 30.0,
"objects": 12,
"meshes": {
"Floor": {
"mesh": "Floor",
"triangles": 2108,
"vertices": 1097,
"ngons": 0,
"materials": [
"LN_Stone_Dark",
"LN_Stone_Grotto"
],
"uv_layers": [
"UVMap"
],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
-7.7775,
-0.4,
-7.7874
],
"max": [
7.7755,
0.26,
7.7976
]
}
},
"Runes": {
"mesh": "Runes",
"triangles": 1164,
"vertices": 712,
"ngons": 0,
"materials": [
"LN_Rune_Grotto"
],
"uv_layers": [
"UVMap"
],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
-4.72,
0.104,
-7.9255
],
"max": [
7.9255,
5.899,
4.72
]
}
},
"Platform": {
"mesh": "Platform",
"triangles": 808,
"vertices": 433,
"ngons": 0,
"materials": [
"LN_Stone_Dark",
"LN_Stone_Grotto"
],
"uv_layers": [
"UVMap"
],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
-0.8,
-0.02,
-3.8
],
"max": [
3.8,
0.125,
0.8
]
}
},
"Altar": {
"mesh": "Altar",
"triangles": 552,
"vertices": 280,
"ngons": 0,
"materials": [
"LN_Stone_Dark",
"LN_Stone_Grotto"
],
"uv_layers": [
"UVMap"
],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
1.7789,
-0.05,
-4.4738
],
"max": [
4.4738,
3.45,
-1.7789
]
}
},
"Source": {
"mesh": "Source",
"triangles": 192,
"vertices": 112,
"ngons": 0,
"materials": [
"LN_Crystal_Grotto"
],
"uv_layers": [],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
2.64,
0.5,
-3.4746
],
"max": [
3.6064,
2.7,
-2.7716
]
}
},
"Gate": {
"mesh": "Gate",
"triangles": 3944,
"vertices": 2016,
"ngons": 0,
"materials": [
"LN_Stone_Dark",
"LN_Stone_Grotto",
"LN_Metal_Bronze"
],
"uv_layers": [
"UVMap"
],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
3.2222,
-0.5,
-9.435
],
"max": [
9.435,
7.499,
-3.2222
]
}
},
"Cave": {
"mesh": "Cave",
"triangles": 424,
"vertices": 232,
"ngons": 0,
"materials": [
"LN_Cave",
"LN_Stone_Dark"
],
"uv_layers": [],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
4.575,
-1.93,
-10.0692
],
"max": [
10.0692,
3.7,
-4.575
]
}
},
"CaveGlow": {
"mesh": "CaveGlow",
"triangles": 182,
"vertices": 117,
"ngons": 0,
"materials": [
"LN_Water_Glow",
"LN_Crystal_Grotto"
],
"uv_layers": [
"UVMap"
],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
5.1204,
-0.97,
-9.4328
],
"max": [
9.5452,
2.7,
-5.4993
]
}
},
"Channel": {
"mesh": "Channel",
"triangles": 600,
"vertices": 304,
"ngons": 0,
"materials": [
"LN_Water_Glow"
],
"uv_layers": [
"UVMap"
],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
-0.3712,
0.26,
-7.0092
],
"max": [
7.0092,
0.28,
0.3712
]
}
},
"Pillars": {
"mesh": "Pillars",
"triangles": 4328,
"vertices": 2280,
"ngons": 0,
"materials": [
"LN_Stone_Dark",
"LN_Stone_Grotto"
],
"uv_layers": [
"UVMap"
],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
-7.7579,
-0.05,
-7.5321
],
"max": [
7.5454,
5.961,
7.7587
]
}
},
"PillarCrystals": {
"mesh": "PillarCrystals",
"triangles": 80,
"vertices": 48,
"ngons": 0,
"materials": [
"LN_Crystal_Grotto"
],
"uv_layers": [],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
-6.4468,
5.23,
-7.0317
],
"max": [
7.014,
6.03,
6.441
]
}
},
"Rocks": {
"mesh": "Rocks",
"triangles": 800,
"vertices": 420,
"ngons": 0,
"materials": [
"LN_Rock"
],
"uv_layers": [],
"color_attributes": [
"Col"
],
"active_color": "Col",
"custom_normals": false,
"normals_unit_length": true,
"bad_normals": 0,
"degenerate_triangles": 0,
"shape_keys": 0,
"skinned": false,
"scale": [
1.0,
1.0,
1.0
],
"bounds_unity": {
"min": [
-2.9737,
-0.6391,
-10.4646
],
"max": [
10.5442,
7.6927,
2.8772
]
}
}
},
"armatures": {},
"empties": {},
"bounds_unity": {
"min": [
-7.7775,
-1.93,
-10.4646
],
"max": [
10.5442,
7.6927,
7.7976
]
},
"clips": [],
"expected_from_godot": {
"triangles": 15182,
"bounds_godot": {
"min": [
-10.5442,
-1.93,
-10.4646
],
"max": [
7.7775,
7.6927,
7.7976
]
},
"resource_path": "res://assets/luneraria/g2/bossgrotte.glb"
},
"meshes_with_ngons": {},
"meshes_without_uv": [
"Cave",
"PillarCrystals",
"Rocks",
"Source"
],
"triangles": 15182,
"fbx": "Assets/Luneraria/Art/Buildings/bossgrotte.fbx",
"fbx_bytes": 566220,
"ok": true
}