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>
754 lines
13 KiB
JSON
754 lines
13 KiB
JSON
{
|
|
"id": "n07",
|
|
"group": "Units",
|
|
"source": "assets-source/phase4/blend/n07.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": "logical_names_unique",
|
|
"ok": true,
|
|
"detail": "[]"
|
|
},
|
|
{
|
|
"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": "['ArmL', 'ArmR', 'Body_CentralFlow', 'Body_TailL', 'Body_TailR', 'Body_WispL', 'Body_WispR', 'Head_CurledHood', 'Head_Mask', 'Head_Mask_Eye1', 'Head_Mask_Eye_1', 'Weapon_BellRim', 'Weapon_Clapper', 'Weapon_ClapperStem', 'Weapon_HangingBell']"
|
|
},
|
|
{
|
|
"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": "1274 fbx / 1274 godot"
|
|
},
|
|
{
|
|
"check": "part_names_match_godot",
|
|
"ok": true,
|
|
"detail": "[]"
|
|
},
|
|
{
|
|
"check": "bounds_match_godot",
|
|
"ok": true,
|
|
"detail": "largest difference 0.00004 m"
|
|
},
|
|
{
|
|
"check": "no_armature",
|
|
"ok": true,
|
|
"detail": "[]"
|
|
},
|
|
{
|
|
"check": "forward_marker_unity_plus_z",
|
|
"ok": true,
|
|
"detail": "[0.0, 0.0, 0.75]"
|
|
},
|
|
{
|
|
"check": "roundtrip_mesh_names",
|
|
"ok": true,
|
|
"detail": "[]"
|
|
},
|
|
{
|
|
"check": "roundtrip_triangles",
|
|
"ok": true,
|
|
"detail": "1274 / 1274"
|
|
},
|
|
{
|
|
"check": "roundtrip_materials",
|
|
"ok": true,
|
|
"detail": "[]"
|
|
}
|
|
],
|
|
"source_sha256": "d45ce9821d4310816bc030e0adffd557bcec4fda8eaa62171d5f76d89384007c",
|
|
"removed_modifiers": 0,
|
|
"logical_names": {
|
|
"objects": 17,
|
|
"materials": 4,
|
|
"merged_materials": 0
|
|
},
|
|
"kind": "rigid",
|
|
"fps": 24.0,
|
|
"objects": 17,
|
|
"meshes": {
|
|
"Body_WispL": {
|
|
"mesh": "Body_WispL_Mesh",
|
|
"triangles": 142,
|
|
"vertices": 73,
|
|
"ngons": 1,
|
|
"materials": [
|
|
"SW_nebelchor_secondary_9578CF"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.0712,
|
|
0.0156,
|
|
-0.3249
|
|
],
|
|
"max": [
|
|
0.2824,
|
|
0.7378,
|
|
-0.2155
|
|
]
|
|
}
|
|
},
|
|
"Body_TailL": {
|
|
"mesh": "Body_TailL_Mesh",
|
|
"triangles": 118,
|
|
"vertices": 61,
|
|
"ngons": 1,
|
|
"materials": [
|
|
"SW_nebelchor_primary_45456F"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.0725,
|
|
0.0,
|
|
-0.3753
|
|
],
|
|
"max": [
|
|
0.3194,
|
|
0.6134,
|
|
-0.2435
|
|
]
|
|
}
|
|
},
|
|
"Body_WispR": {
|
|
"mesh": "Body_WispR_Mesh",
|
|
"triangles": 142,
|
|
"vertices": 73,
|
|
"ngons": 1,
|
|
"materials": [
|
|
"SW_nebelchor_secondary_9578CF"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.2824,
|
|
0.0156,
|
|
-0.3249
|
|
],
|
|
"max": [
|
|
0.0712,
|
|
0.7378,
|
|
-0.2155
|
|
]
|
|
}
|
|
},
|
|
"Body_TailR": {
|
|
"mesh": "Body_TailR_Mesh",
|
|
"triangles": 118,
|
|
"vertices": 61,
|
|
"ngons": 1,
|
|
"materials": [
|
|
"SW_nebelchor_primary_45456F"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.3194,
|
|
0.0,
|
|
-0.3753
|
|
],
|
|
"max": [
|
|
-0.0725,
|
|
0.6134,
|
|
-0.2435
|
|
]
|
|
}
|
|
},
|
|
"Body_CentralFlow": {
|
|
"mesh": "Body_CentralFlow_Mesh",
|
|
"triangles": 94,
|
|
"vertices": 49,
|
|
"ngons": 1,
|
|
"materials": [
|
|
"SW_nebelchor_primary_45456F"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.1987,
|
|
0.0812,
|
|
-0.3123
|
|
],
|
|
"max": [
|
|
0.2382,
|
|
0.7259,
|
|
-0.1062
|
|
]
|
|
}
|
|
},
|
|
"Head_Mask": {
|
|
"mesh": "Head_Mask_Mesh",
|
|
"triangles": 26,
|
|
"vertices": 15,
|
|
"ngons": 1,
|
|
"materials": [
|
|
"SW_nebelchor_light_C4D6E5"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.107,
|
|
0.8416,
|
|
-0.1673
|
|
],
|
|
"max": [
|
|
0.0886,
|
|
1.1959,
|
|
-0.0602
|
|
]
|
|
}
|
|
},
|
|
"Head_Mask_Eye_1": {
|
|
"mesh": "Head_Mask_Eye_1_Mesh",
|
|
"triangles": 14,
|
|
"vertices": 9,
|
|
"ngons": 0,
|
|
"materials": [
|
|
"SW_nebelchor_accent_82DBCE"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.0244,
|
|
1.0077,
|
|
-0.0713
|
|
],
|
|
"max": [
|
|
0.0701,
|
|
1.0572,
|
|
-0.0602
|
|
]
|
|
}
|
|
},
|
|
"Head_Mask_Eye1": {
|
|
"mesh": "Head_Mask_Eye1_Mesh",
|
|
"triangles": 14,
|
|
"vertices": 9,
|
|
"ngons": 0,
|
|
"materials": [
|
|
"SW_nebelchor_accent_82DBCE"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.0701,
|
|
1.0077,
|
|
-0.0713
|
|
],
|
|
"max": [
|
|
-0.0244,
|
|
1.0572,
|
|
-0.0602
|
|
]
|
|
}
|
|
},
|
|
"Head_CurledHood": {
|
|
"mesh": "Head_CurledHood_Mesh",
|
|
"triangles": 118,
|
|
"vertices": 61,
|
|
"ngons": 1,
|
|
"materials": [
|
|
"SW_nebelchor_secondary_9578CF"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.2354,
|
|
0.9301,
|
|
-0.3132
|
|
],
|
|
"max": [
|
|
0.2244,
|
|
1.35,
|
|
-0.2327
|
|
]
|
|
}
|
|
},
|
|
"Weapon_HangingBell": {
|
|
"mesh": "Weapon_HangingBell_Mesh",
|
|
"triangles": 192,
|
|
"vertices": 98,
|
|
"ngons": 0,
|
|
"materials": [
|
|
"SW_nebelchor_secondary_9578CF"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.3322,
|
|
0.3115,
|
|
-0.3039
|
|
],
|
|
"max": [
|
|
0.3322,
|
|
0.9445,
|
|
0.3621
|
|
]
|
|
}
|
|
},
|
|
"Weapon_BellRim": {
|
|
"mesh": "Weapon_BellRim_Mesh",
|
|
"triangles": 96,
|
|
"vertices": 48,
|
|
"ngons": 0,
|
|
"materials": [
|
|
"SW_nebelchor_light_C4D6E5"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.3396,
|
|
0.3001,
|
|
0.0576
|
|
],
|
|
"max": [
|
|
0.3396,
|
|
0.9255,
|
|
0.3753
|
|
]
|
|
}
|
|
},
|
|
"Weapon_ClapperStem": {
|
|
"mesh": "Weapon_ClapperStem_Mesh",
|
|
"triangles": 20,
|
|
"vertices": 12,
|
|
"ngons": 2,
|
|
"materials": [
|
|
"SW_nebelchor_accent_82DBCE"
|
|
],
|
|
"uv_layers": [
|
|
"UVMap"
|
|
],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.0115,
|
|
0.572,
|
|
-0.1929
|
|
],
|
|
"max": [
|
|
0.0115,
|
|
0.8159,
|
|
0.1684
|
|
]
|
|
}
|
|
},
|
|
"Weapon_Clapper": {
|
|
"mesh": "Weapon_Clapper_Mesh",
|
|
"triangles": 20,
|
|
"vertices": 12,
|
|
"ngons": 0,
|
|
"materials": [
|
|
"SW_nebelchor_accent_82DBCE"
|
|
],
|
|
"uv_layers": [
|
|
"UVMap"
|
|
],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.066,
|
|
0.4842,
|
|
0.1111
|
|
],
|
|
"max": [
|
|
0.066,
|
|
0.6527,
|
|
0.2261
|
|
]
|
|
}
|
|
},
|
|
"ArmL": {
|
|
"mesh": "ArmL_Mesh",
|
|
"triangles": 80,
|
|
"vertices": 42,
|
|
"ngons": 2,
|
|
"materials": [
|
|
"SW_nebelchor_secondary_9578CF"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.107,
|
|
0.6806,
|
|
-0.3147
|
|
],
|
|
"max": [
|
|
0.3553,
|
|
0.9783,
|
|
-0.0097
|
|
]
|
|
}
|
|
},
|
|
"ArmR": {
|
|
"mesh": "ArmR_Mesh",
|
|
"triangles": 80,
|
|
"vertices": 42,
|
|
"ngons": 2,
|
|
"materials": [
|
|
"SW_nebelchor_secondary_9578CF"
|
|
],
|
|
"uv_layers": [],
|
|
"color_attributes": [],
|
|
"active_color": null,
|
|
"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.3553,
|
|
0.6806,
|
|
-0.3147
|
|
],
|
|
"max": [
|
|
-0.107,
|
|
0.9783,
|
|
-0.0097
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"armatures": {},
|
|
"empties": {
|
|
"Model_n07": [
|
|
0.0,
|
|
0.0,
|
|
0.0
|
|
],
|
|
"Forward": [
|
|
0.0,
|
|
0.0,
|
|
0.75
|
|
]
|
|
},
|
|
"bounds_unity": {
|
|
"min": [
|
|
-0.3553,
|
|
0.0,
|
|
-0.3753
|
|
],
|
|
"max": [
|
|
0.3553,
|
|
1.35,
|
|
0.3753
|
|
]
|
|
},
|
|
"clips": [],
|
|
"expected_from_godot": {
|
|
"triangles": 1274,
|
|
"bounds_godot": {
|
|
"min": [
|
|
-0.35533595085144043,
|
|
0.0,
|
|
-0.37528085708618164
|
|
],
|
|
"max": [
|
|
0.35533595085144043,
|
|
1.3499999046325684,
|
|
0.37528085708618164
|
|
]
|
|
},
|
|
"resource_path": "res://assets/models/unit_n07.glb"
|
|
},
|
|
"meshes_with_ngons": {
|
|
"Body_WispL": 1,
|
|
"Body_TailL": 1,
|
|
"Body_WispR": 1,
|
|
"Body_TailR": 1,
|
|
"Body_CentralFlow": 1,
|
|
"Head_Mask": 1,
|
|
"Head_CurledHood": 1,
|
|
"Weapon_ClapperStem": 2,
|
|
"ArmL": 2,
|
|
"ArmR": 2
|
|
},
|
|
"meshes_without_uv": [
|
|
"ArmL",
|
|
"ArmR",
|
|
"Body_CentralFlow",
|
|
"Body_TailL",
|
|
"Body_TailR",
|
|
"Body_WispL",
|
|
"Body_WispR",
|
|
"Head_CurledHood",
|
|
"Head_Mask",
|
|
"Head_Mask_Eye1",
|
|
"Head_Mask_Eye_1",
|
|
"Weapon_BellRim",
|
|
"Weapon_HangingBell"
|
|
],
|
|
"triangles": 1274,
|
|
"fbx": "Assets/Luneraria/Art/Units/n07.fbx",
|
|
"fbx_bytes": 79500,
|
|
"ok": true
|
|
}
|