U5.5 Kraterrufer: siebte Meshy-Figur (g08)
Kraterschalen-Golem als Aufwertung des Aschenwerfers, dessen Konzept als Stilvorlage und Figurendatei, 68 Credits, Lane-Fassung inklusive. Stresstest 36 Kraterrufer: Mid 171,3 -> 155,1 fps, Karte 123,5 -> 136,2. Tests grün, Fingerabdrücke unverändert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
491
Assets/Luneraria/Art/Characters/kraterrufer.export.json
Normal file
|
|
@ -0,0 +1,491 @@
|
|||
{
|
||||
"id": "kraterrufer",
|
||||
"group": "Characters",
|
||||
"source": "tools/meshy/build_figure.py",
|
||||
"exporter_version": 11,
|
||||
"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": "['KraterruferBody_LOD0', 'KraterruferBody_LOD1']"
|
||||
},
|
||||
{
|
||||
"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": "25500 fbx / 25500 godot"
|
||||
},
|
||||
{
|
||||
"check": "one_armature",
|
||||
"ok": true,
|
||||
"detail": "['KraterruferRig']"
|
||||
},
|
||||
{
|
||||
"check": "single_root_bone",
|
||||
"ok": true,
|
||||
"detail": "['Root']"
|
||||
},
|
||||
{
|
||||
"check": "root_bone_name",
|
||||
"ok": true,
|
||||
"detail": "['Root']"
|
||||
},
|
||||
{
|
||||
"check": "bone_count_match_godot",
|
||||
"ok": true,
|
||||
"detail": "25 / 25"
|
||||
},
|
||||
{
|
||||
"check": "bone_names_portable",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "skinned_meshes_present",
|
||||
"ok": true,
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "clips_match_godot",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "required_clips_present",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "roundtrip_mesh_names",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "roundtrip_triangles",
|
||||
"ok": true,
|
||||
"detail": "25500 / 25500"
|
||||
},
|
||||
{
|
||||
"check": "roundtrip_materials",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "roundtrip_bones",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "roundtrip_clips",
|
||||
"ok": true,
|
||||
"detail": "['ability', 'attack_a', 'attack_b', 'death', 'hit', 'idle', 'walk']"
|
||||
}
|
||||
],
|
||||
"generator": {
|
||||
"clips": {
|
||||
"idle": {
|
||||
"source": "Idle",
|
||||
"frames": [
|
||||
0.0,
|
||||
96.0
|
||||
],
|
||||
"seconds": 4.0,
|
||||
"loop": true,
|
||||
"contact_seconds": -1.0
|
||||
},
|
||||
"walk": {
|
||||
"source": "Slow_Orc_Walk",
|
||||
"frames": [
|
||||
0.0,
|
||||
132.0
|
||||
],
|
||||
"seconds": 2.7917,
|
||||
"loop": true,
|
||||
"contact_seconds": -1.0
|
||||
},
|
||||
"attack_a": {
|
||||
"source": "Over_Shoulder_Throw",
|
||||
"frames": [
|
||||
4,
|
||||
30
|
||||
],
|
||||
"seconds": 1.0,
|
||||
"loop": false,
|
||||
"contact_seconds": 0.6538
|
||||
},
|
||||
"attack_b": {
|
||||
"source": "Crouch_Charge_and_Throw",
|
||||
"frames": [
|
||||
4,
|
||||
34
|
||||
],
|
||||
"seconds": 1.0833,
|
||||
"loop": false,
|
||||
"contact_seconds": 0.6861
|
||||
},
|
||||
"hit": {
|
||||
"source": "Hit_Reaction",
|
||||
"frames": [
|
||||
0,
|
||||
12
|
||||
],
|
||||
"seconds": 0.5,
|
||||
"loop": false,
|
||||
"contact_seconds": -1.0
|
||||
},
|
||||
"ability": {
|
||||
"source": "Charged_Ground_Slam",
|
||||
"frames": [
|
||||
6,
|
||||
64
|
||||
],
|
||||
"seconds": 1.2083,
|
||||
"loop": false,
|
||||
"contact_seconds": 0.7292
|
||||
},
|
||||
"death": {
|
||||
"source": "dying_backwards",
|
||||
"frames": [
|
||||
0.0,
|
||||
52.80000305175781
|
||||
],
|
||||
"seconds": 2.2083,
|
||||
"loop": false,
|
||||
"contact_seconds": -1.0
|
||||
}
|
||||
},
|
||||
"textures": {
|
||||
"glow_share": 0.1177,
|
||||
"palette_gains": {
|
||||
"rock": [
|
||||
1.1007,
|
||||
1.4439,
|
||||
1.6658
|
||||
],
|
||||
"metal": [
|
||||
1.4134,
|
||||
1.2786,
|
||||
0.8022
|
||||
]
|
||||
},
|
||||
"size": [
|
||||
2048,
|
||||
2048
|
||||
]
|
||||
},
|
||||
"unit": 0.009999999776482582,
|
||||
"lod": {
|
||||
"lod0_triangles": 20504,
|
||||
"lod1_triangles": 4996,
|
||||
"lod1_vertices": 2476,
|
||||
"welded_triangles": 20504,
|
||||
"lod0_screen": 0.2
|
||||
},
|
||||
"props": []
|
||||
},
|
||||
"inputs_sha256": {
|
||||
"tools/meshy/g08/figure.json": "dcc6a39adf61d5815555a7abc2f99e3da6b493a0e47c65e21bf1d2e8553b961b",
|
||||
"assets-source/meshy/g08/kraterrufer-skelett.glb": "b2bd4f91696195b1afeb8a8d7b6fe777eb59785257100654f56fb71e4936923f",
|
||||
"assets-source/meshy/g08/kraterrufer-animationen.glb": "cb303a4a5023804e81c28af464cbcb69bb22171ece826c3b5d84023452a085b8"
|
||||
},
|
||||
"source_sha256": "4d5cdab415e4bfa97abe420f7457d4e1cddd67b9a76c23ccb6f9313a2fd8ea4e",
|
||||
"removed_modifiers": 0,
|
||||
"kind": "skinned",
|
||||
"fps": 24.0,
|
||||
"objects": 3,
|
||||
"meshes": {
|
||||
"KraterruferBody_LOD0": {
|
||||
"mesh": "KraterruferBody_LOD0",
|
||||
"triangles": 20504,
|
||||
"vertices": 26237,
|
||||
"ngons": 0,
|
||||
"materials": [
|
||||
"AI_Kraterrufer"
|
||||
],
|
||||
"uv_layers": [
|
||||
"UVMap"
|
||||
],
|
||||
"color_attributes": [],
|
||||
"active_color": null,
|
||||
"custom_normals": true,
|
||||
"normals_unit_length": true,
|
||||
"bad_normals": 0,
|
||||
"degenerate_triangles": 0,
|
||||
"shape_keys": 0,
|
||||
"skinned": true,
|
||||
"scale": [
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"bounds_unity": {
|
||||
"min": [
|
||||
-1.0045,
|
||||
-0.0,
|
||||
-0.4403
|
||||
],
|
||||
"max": [
|
||||
1.0055,
|
||||
1.5,
|
||||
0.45
|
||||
]
|
||||
}
|
||||
},
|
||||
"KraterruferBody_LOD1": {
|
||||
"mesh": "KraterruferBody_LOD1",
|
||||
"triangles": 4996,
|
||||
"vertices": 2476,
|
||||
"ngons": 0,
|
||||
"materials": [
|
||||
"AI_Kraterrufer"
|
||||
],
|
||||
"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": true,
|
||||
"scale": [
|
||||
1.0,
|
||||
1.0,
|
||||
1.0
|
||||
],
|
||||
"bounds_unity": {
|
||||
"min": [
|
||||
-1.0035,
|
||||
-0.0002,
|
||||
-0.4418
|
||||
],
|
||||
"max": [
|
||||
1.0041,
|
||||
1.4994,
|
||||
0.4464
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"armatures": {
|
||||
"KraterruferRig": {
|
||||
"bones": [
|
||||
"Root",
|
||||
"Hips",
|
||||
"Spine02",
|
||||
"Spine01",
|
||||
"Spine",
|
||||
"neck",
|
||||
"Head",
|
||||
"head_end",
|
||||
"headfront",
|
||||
"LeftShoulder",
|
||||
"LeftArm",
|
||||
"LeftForeArm",
|
||||
"LeftHand",
|
||||
"RightShoulder",
|
||||
"RightArm",
|
||||
"RightForeArm",
|
||||
"RightHand",
|
||||
"LeftUpLeg",
|
||||
"LeftLeg",
|
||||
"LeftFoot",
|
||||
"LeftToeBase",
|
||||
"RightUpLeg",
|
||||
"RightLeg",
|
||||
"RightFoot",
|
||||
"RightToeBase"
|
||||
],
|
||||
"roots": [
|
||||
"Root"
|
||||
]
|
||||
}
|
||||
},
|
||||
"empties": {},
|
||||
"bounds_unity": {
|
||||
"min": [
|
||||
-1.0045,
|
||||
-0.0002,
|
||||
-0.4418
|
||||
],
|
||||
"max": [
|
||||
1.0055,
|
||||
1.5,
|
||||
0.45
|
||||
]
|
||||
},
|
||||
"clips": [
|
||||
{
|
||||
"name": "ability",
|
||||
"frames": [
|
||||
0.0,
|
||||
29.0
|
||||
],
|
||||
"seconds": 1.2083,
|
||||
"loop": false,
|
||||
"contact_seconds": 0.7292
|
||||
},
|
||||
{
|
||||
"name": "attack_a",
|
||||
"frames": [
|
||||
0.0,
|
||||
24.0
|
||||
],
|
||||
"seconds": 1.0,
|
||||
"loop": false,
|
||||
"contact_seconds": 0.6538
|
||||
},
|
||||
{
|
||||
"name": "attack_b",
|
||||
"frames": [
|
||||
0.0,
|
||||
26.0
|
||||
],
|
||||
"seconds": 1.0833,
|
||||
"loop": false,
|
||||
"contact_seconds": 0.6861
|
||||
},
|
||||
{
|
||||
"name": "death",
|
||||
"frames": [
|
||||
0.0,
|
||||
53.0
|
||||
],
|
||||
"seconds": 2.2083,
|
||||
"loop": false,
|
||||
"contact_seconds": -1.0
|
||||
},
|
||||
{
|
||||
"name": "hit",
|
||||
"frames": [
|
||||
0.0,
|
||||
12.0
|
||||
],
|
||||
"seconds": 0.5,
|
||||
"loop": false,
|
||||
"contact_seconds": -1.0
|
||||
},
|
||||
{
|
||||
"name": "idle",
|
||||
"frames": [
|
||||
0.0,
|
||||
96.0
|
||||
],
|
||||
"seconds": 4.0,
|
||||
"loop": true,
|
||||
"contact_seconds": -1.0
|
||||
},
|
||||
{
|
||||
"name": "walk",
|
||||
"frames": [
|
||||
0.0,
|
||||
67.0
|
||||
],
|
||||
"seconds": 2.7917,
|
||||
"loop": true,
|
||||
"contact_seconds": -1.0
|
||||
}
|
||||
],
|
||||
"expected_from_godot": {
|
||||
"triangles": 25500,
|
||||
"bones": 25,
|
||||
"clips": [
|
||||
"idle",
|
||||
"walk",
|
||||
"attack_a",
|
||||
"attack_b",
|
||||
"hit",
|
||||
"ability",
|
||||
"death"
|
||||
]
|
||||
},
|
||||
"meshes_with_ngons": {},
|
||||
"meshes_without_uv": [],
|
||||
"triangles": 25500,
|
||||
"fbx": "Assets/Luneraria/Art/Characters/kraterrufer.fbx",
|
||||
"fbx_bytes": 3339692,
|
||||
"ok": true
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
fileFormatVersion: 2
|
||||
guid: c454104ba555448b49a2942f1b4e48e3
|
||||
TextScriptImporter:
|
||||
externalObjects: {}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Luneraria/Art/Characters/kraterrufer.fbx
Normal file
337
Assets/Luneraria/Art/Characters/kraterrufer.fbx.meta
Normal file
|
|
@ -0,0 +1,337 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 73ea5eb2ee45348678205327bd213fe6
|
||||
ModelImporter:
|
||||
serializedVersion: 24300
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
materials:
|
||||
materialImportMode: 2
|
||||
materialName: 0
|
||||
materialSearch: 1
|
||||
materialLocation: 1
|
||||
searchTexturesGlobally: 0
|
||||
animations:
|
||||
legacyGenerateAnimations: 4
|
||||
bakeSimulation: 0
|
||||
resampleCurves: 0
|
||||
optimizeGameObjects: 0
|
||||
removeConstantScaleCurves: 0
|
||||
motionNodeName:
|
||||
animationImportErrors:
|
||||
animationImportWarnings:
|
||||
animationRetargetingWarnings:
|
||||
animationDoRetargetingWarnings: 0
|
||||
importAnimatedCustomProperties: 0
|
||||
importConstraints: 0
|
||||
animationCompression: 0
|
||||
animationRotationError: 0.5
|
||||
animationPositionError: 0.5
|
||||
animationScaleError: 0.5
|
||||
animationWrapMode: 0
|
||||
extraExposedTransformPaths: []
|
||||
extraUserProperties: []
|
||||
clipAnimations:
|
||||
- serializedVersion: 16
|
||||
name: ability
|
||||
takeName: KraterruferRig|ability
|
||||
internalID: 7967562137354178280
|
||||
firstFrame: 0
|
||||
lastFrame: 29
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events:
|
||||
- time: 0.6034925
|
||||
functionName: OnLuneContact
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: attack_a
|
||||
takeName: KraterruferRig|attack_a
|
||||
internalID: 3201704744926654268
|
||||
firstFrame: 0
|
||||
lastFrame: 24
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events:
|
||||
- time: 0.6538
|
||||
functionName: OnLuneContact
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: attack_b
|
||||
takeName: KraterruferRig|attack_b
|
||||
internalID: 1935931833571839231
|
||||
firstFrame: 0
|
||||
lastFrame: 26
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events:
|
||||
- time: 0.63334256
|
||||
functionName: OnLuneContact
|
||||
data:
|
||||
objectReferenceParameter: {instanceID: 0}
|
||||
floatParameter: 0
|
||||
intParameter: 0
|
||||
messageOptions: 0
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: death
|
||||
takeName: KraterruferRig|death
|
||||
internalID: -466294030961188558
|
||||
firstFrame: 0
|
||||
lastFrame: 53
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: hit
|
||||
takeName: KraterruferRig|hit
|
||||
internalID: -8511779983184160222
|
||||
firstFrame: 0
|
||||
lastFrame: 12
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 0
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: idle
|
||||
takeName: KraterruferRig|idle
|
||||
internalID: -5152675308403578893
|
||||
firstFrame: 0
|
||||
lastFrame: 96
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 1
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
- serializedVersion: 16
|
||||
name: walk
|
||||
takeName: KraterruferRig|walk
|
||||
internalID: 8019400473904588369
|
||||
firstFrame: 0
|
||||
lastFrame: 67
|
||||
wrapMode: 0
|
||||
orientationOffsetY: 0
|
||||
level: 0
|
||||
cycleOffset: 0
|
||||
loop: 0
|
||||
hasAdditiveReferencePose: 0
|
||||
loopTime: 1
|
||||
loopBlend: 0
|
||||
loopBlendOrientation: 0
|
||||
loopBlendPositionY: 0
|
||||
loopBlendPositionXZ: 0
|
||||
keepOriginalOrientation: 0
|
||||
keepOriginalPositionY: 1
|
||||
keepOriginalPositionXZ: 0
|
||||
heightFromFeet: 0
|
||||
mirror: 0
|
||||
bodyMask: 01000000010000000100000001000000010000000100000001000000010000000100000001000000010000000100000001000000
|
||||
curves: []
|
||||
events: []
|
||||
transformMask: []
|
||||
maskType: 3
|
||||
maskSource: {instanceID: 0}
|
||||
additiveReferencePoseFrame: 0
|
||||
isReadable: 1
|
||||
meshes:
|
||||
lODScreenPercentages:
|
||||
- 0.25
|
||||
- 0.01
|
||||
globalScale: 1
|
||||
meshCompression: 0
|
||||
addColliders: 0
|
||||
useSRGBMaterialColor: 1
|
||||
sortHierarchyByName: 1
|
||||
importPhysicalCameras: 1
|
||||
importVisibility: 0
|
||||
importBlendShapes: 0
|
||||
importCameras: 0
|
||||
importLights: 0
|
||||
nodeNameCollisionStrategy: 1
|
||||
fileIdsGeneration: 2
|
||||
swapUVChannels: 0
|
||||
generateSecondaryUV: 0
|
||||
useFileUnits: 1
|
||||
keepQuads: 0
|
||||
weldVertices: 1
|
||||
bakeAxisConversion: 1
|
||||
preserveHierarchy: 0
|
||||
skinWeightsMode: 0
|
||||
maxBonesPerVertex: 4
|
||||
minBoneWeight: 0.001
|
||||
optimizeBones: 1
|
||||
generateMeshLods: 0
|
||||
meshLodGenerationFlags: 0
|
||||
maximumMeshLod: -1
|
||||
meshOptimizationFlags: -1
|
||||
indexFormat: 0
|
||||
secondaryUVAngleDistortion: 8
|
||||
secondaryUVAreaDistortion: 15.000001
|
||||
secondaryUVHardAngle: 88
|
||||
secondaryUVMarginMethod: 1
|
||||
secondaryUVMinLightmapResolution: 40
|
||||
secondaryUVMinObjectScale: 1
|
||||
secondaryUVPackMargin: 4
|
||||
useFileScale: 1
|
||||
strictVertexDataChecks: 0
|
||||
tangentSpace:
|
||||
normalSmoothAngle: 60
|
||||
normalImportMode: 0
|
||||
tangentImportMode: 3
|
||||
normalCalculationMode: 4
|
||||
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
|
||||
blendShapeNormalImportMode: 1
|
||||
normalSmoothingSource: 0
|
||||
referencedClips: []
|
||||
importAnimation: 1
|
||||
humanDescription:
|
||||
serializedVersion: 3
|
||||
human: []
|
||||
skeleton: []
|
||||
armTwist: 0.5
|
||||
foreArmTwist: 0.5
|
||||
upperLegTwist: 0.5
|
||||
legTwist: 0.5
|
||||
armStretch: 0.05
|
||||
legStretch: 0.05
|
||||
feetSpacing: 0
|
||||
globalScale: 1
|
||||
rootMotionBoneName:
|
||||
hasTranslationDoF: 0
|
||||
hasExtraRoot: 0
|
||||
skeletonHasParents: 1
|
||||
lastHumanDescriptionAvatarSource: {instanceID: 0}
|
||||
autoGenerateAvatarMappingIfUnspecified: 1
|
||||
animationType: 2
|
||||
humanoidOversampling: 1
|
||||
avatarSetup: 1
|
||||
addHumanoidExtraRootOnlyWhenUsingAvatar: 1
|
||||
importBlendShapeDeformPercent: 1
|
||||
remapMaterialsIfMaterialImportModeIsNone: 0
|
||||
additionalBone: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
246
Assets/Luneraria/Art/Generated/kraterrufer.controller
Normal file
|
|
@ -0,0 +1,246 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!1102 &-8340526994007208009
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: attack_a
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 3201704744926654268, guid: 73ea5eb2ee45348678205327bd213fe6, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1107 &-3250352344901241045
|
||||
AnimatorStateMachine:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: Base Layer
|
||||
m_ChildStates:
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 3803398565530303268}
|
||||
m_Position: {x: 200, y: 0, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -2362313454519669588}
|
||||
m_Position: {x: 235, y: 65, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: -8340526994007208009}
|
||||
m_Position: {x: 270, y: 130, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 4894736781731108280}
|
||||
m_Position: {x: 305, y: 195, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 6089776067802693990}
|
||||
m_Position: {x: 340, y: 260, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 3818060518095732965}
|
||||
m_Position: {x: 375, y: 325, z: 0}
|
||||
- serializedVersion: 1
|
||||
m_State: {fileID: 2905243700298272630}
|
||||
m_Position: {x: 410, y: 390, z: 0}
|
||||
m_ChildStateMachines: []
|
||||
m_AnyStateTransitions: []
|
||||
m_EntryTransitions: []
|
||||
m_StateMachineTransitions: {}
|
||||
m_StateMachineBehaviours: []
|
||||
m_AnyStatePosition: {x: 50, y: 20, z: 0}
|
||||
m_EntryPosition: {x: 50, y: 120, z: 0}
|
||||
m_ExitPosition: {x: 800, y: 120, z: 0}
|
||||
m_ParentStateMachinePosition: {x: 800, y: 20, z: 0}
|
||||
m_DefaultState: {fileID: 3803398565530303268}
|
||||
--- !u!1102 &-2362313454519669588
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: ability
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 7967562137354178280, guid: 73ea5eb2ee45348678205327bd213fe6, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!91 &9100000
|
||||
AnimatorController:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: kraterrufer
|
||||
serializedVersion: 5
|
||||
m_AnimatorParameters: []
|
||||
m_AnimatorLayers:
|
||||
- serializedVersion: 5
|
||||
m_Name: Base Layer
|
||||
m_StateMachine: {fileID: -3250352344901241045}
|
||||
m_Mask: {fileID: 0}
|
||||
m_Motions: []
|
||||
m_Behaviours: []
|
||||
m_BlendingMode: 0
|
||||
m_SyncedLayerIndex: -1
|
||||
m_DefaultWeight: 0
|
||||
m_IKPass: 0
|
||||
m_SyncedLayerAffectsTiming: 0
|
||||
m_Controller: {fileID: 9100000}
|
||||
--- !u!1102 &2905243700298272630
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: walk
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 8019400473904588369, guid: 73ea5eb2ee45348678205327bd213fe6, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &3803398565530303268
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: idle
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -5152675308403578893, guid: 73ea5eb2ee45348678205327bd213fe6, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &3818060518095732965
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: hit
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -8511779983184160222, guid: 73ea5eb2ee45348678205327bd213fe6, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &4894736781731108280
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: attack_b
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: 1935931833571839231, guid: 73ea5eb2ee45348678205327bd213fe6, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
--- !u!1102 &6089776067802693990
|
||||
AnimatorState:
|
||||
serializedVersion: 6
|
||||
m_ObjectHideFlags: 1
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: death
|
||||
m_Speed: 1
|
||||
m_CycleOffset: 0
|
||||
m_Transitions: []
|
||||
m_StateMachineBehaviours: []
|
||||
m_Position: {x: 50, y: 50, z: 0}
|
||||
m_IKOnFeet: 0
|
||||
m_WriteDefaultValues: 1
|
||||
m_Mirror: 0
|
||||
m_SpeedParameterActive: 0
|
||||
m_MirrorParameterActive: 0
|
||||
m_CycleOffsetParameterActive: 0
|
||||
m_TimeParameterActive: 0
|
||||
m_Motion: {fileID: -466294030961188558, guid: 73ea5eb2ee45348678205327bd213fe6, type: 3}
|
||||
m_Tag:
|
||||
m_SpeedParameter:
|
||||
m_MirrorParameter:
|
||||
m_CycleOffsetParameter:
|
||||
m_TimeParameter:
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 2fc2470c3e32a45aea03cc59d5d9accb
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 9100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Luneraria/Art/Textures/ai-kraterrufer-albedo-2k.png
Normal file
|
After Width: | Height: | Size: 7.7 MiB |
117
Assets/Luneraria/Art/Textures/ai-kraterrufer-albedo-2k.png.meta
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
fileFormatVersion: 2
|
||||
guid: e65133bbf7d4b4b438a8a9bb91b5576d
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 1
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Luneraria/Art/Textures/ai-kraterrufer-normal-2k.png
Normal file
|
After Width: | Height: | Size: 6 MiB |
117
Assets/Luneraria/Art/Textures/ai-kraterrufer-normal-2k.png.meta
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 3fef982443bc3408a9b44f8b0dec14b2
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 0
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 1
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
BIN
Assets/Luneraria/Art/Textures/ai-kraterrufer-orm-2k.png
Normal file
|
After Width: | Height: | Size: 3.8 MiB |
117
Assets/Luneraria/Art/Textures/ai-kraterrufer-orm-2k.png.meta
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
fileFormatVersion: 2
|
||||
guid: f4726947475f4466e98b0f7cab5c75d3
|
||||
TextureImporter:
|
||||
internalIDToNameTable: []
|
||||
externalObjects: {}
|
||||
serializedVersion: 13
|
||||
mipmaps:
|
||||
mipMapMode: 0
|
||||
enableMipMap: 1
|
||||
sRGBTexture: 0
|
||||
linearTexture: 0
|
||||
fadeOut: 0
|
||||
borderMipMap: 0
|
||||
mipMapsPreserveCoverage: 0
|
||||
alphaTestReferenceValue: 0.5
|
||||
mipMapFadeDistanceStart: 1
|
||||
mipMapFadeDistanceEnd: 3
|
||||
bumpmap:
|
||||
convertToNormalMap: 0
|
||||
externalNormalMap: 0
|
||||
heightScale: 0.25
|
||||
normalMapFilter: 0
|
||||
flipGreenChannel: 0
|
||||
isReadable: 0
|
||||
streamingMipmaps: 0
|
||||
streamingMipmapsPriority: 0
|
||||
vTOnly: 0
|
||||
ignoreMipmapLimit: 0
|
||||
grayScaleToAlpha: 0
|
||||
generateCubemap: 6
|
||||
cubemapConvolution: 0
|
||||
seamlessCubemap: 0
|
||||
textureFormat: 1
|
||||
maxTextureSize: 2048
|
||||
textureSettings:
|
||||
serializedVersion: 2
|
||||
filterMode: 1
|
||||
aniso: 1
|
||||
mipBias: 0
|
||||
wrapU: 0
|
||||
wrapV: 0
|
||||
wrapW: 0
|
||||
nPOTScale: 1
|
||||
lightmap: 0
|
||||
compressionQuality: 50
|
||||
spriteMode: 0
|
||||
spriteExtrude: 1
|
||||
spriteMeshType: 1
|
||||
alignment: 0
|
||||
spritePivot: {x: 0.5, y: 0.5}
|
||||
spritePixelsToUnits: 100
|
||||
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
|
||||
spriteGenerateFallbackPhysicsShape: 1
|
||||
alphaUsage: 1
|
||||
alphaIsTransparency: 0
|
||||
spriteTessellationDetail: -1
|
||||
textureType: 0
|
||||
textureShape: 1
|
||||
singleChannelComponent: 0
|
||||
flipbookRows: 1
|
||||
flipbookColumns: 1
|
||||
maxTextureSizeSet: 0
|
||||
compressionQualitySet: 0
|
||||
textureFormatSet: 0
|
||||
ignorePngGamma: 0
|
||||
applyGammaDecoding: 0
|
||||
swizzle: 50462976
|
||||
cookieLightType: 0
|
||||
platformSettings:
|
||||
- serializedVersion: 4
|
||||
buildTarget: DefaultTexturePlatform
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
- serializedVersion: 4
|
||||
buildTarget: Standalone
|
||||
maxTextureSize: 2048
|
||||
resizeAlgorithm: 0
|
||||
textureFormat: -1
|
||||
textureCompression: 1
|
||||
compressionQuality: 50
|
||||
crunchedCompression: 0
|
||||
allowsAlphaSplitting: 0
|
||||
overridden: 0
|
||||
ignorePlatformSupport: 0
|
||||
androidETC2FallbackOverride: 0
|
||||
forceMaximumCompressionQuality_BC6H_BC7: 0
|
||||
spriteSheet:
|
||||
serializedVersion: 2
|
||||
sprites: []
|
||||
outline: []
|
||||
customData:
|
||||
physicsShape: []
|
||||
bones: []
|
||||
spriteID:
|
||||
internalID: 0
|
||||
vertices: []
|
||||
indices:
|
||||
edges: []
|
||||
weights: []
|
||||
secondaryTextures: []
|
||||
spriteCustomMetadata:
|
||||
entries: []
|
||||
nameFileIdTable: {}
|
||||
mipmapLimitGroupName:
|
||||
pSDRemoveMatte: 0
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -201,6 +201,10 @@ MonoBehaviour:
|
|||
Neutral: {fileID: 2100000, guid: 19529a85bbe534478a40059f9505d897, type: 2}
|
||||
Blau: {fileID: 0}
|
||||
Rot: {fileID: 0}
|
||||
- Key: AI_Kraterrufer
|
||||
Neutral: {fileID: 2100000, guid: bf0f753f4fd0647aa9af9efe4e8dc51f, type: 2}
|
||||
Blau: {fileID: 0}
|
||||
Rot: {fileID: 0}
|
||||
- Key: AI_Schlackenklaue
|
||||
Neutral: {fileID: 2100000, guid: d45c0cff6703140e089ea48ed9871dc5, type: 2}
|
||||
Blau: {fileID: 0}
|
||||
|
|
|
|||
68
Assets/Luneraria/Materials/Units/AI_Kraterrufer.mat
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
%YAML 1.1
|
||||
%TAG !u! tag:unity3d.com,2011:
|
||||
--- !u!21 &2100000
|
||||
Material:
|
||||
serializedVersion: 8
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_Name: AI_Kraterrufer
|
||||
m_Shader: {fileID: 4800000, guid: 9809bd5750e264586bd30e14a6f1bd4e, type: 3}
|
||||
m_Parent: {fileID: 0}
|
||||
m_ModifiedSerializedProperties: 0
|
||||
m_ValidKeywords: []
|
||||
m_InvalidKeywords: []
|
||||
m_LightmapFlags: 0
|
||||
m_EnableInstancingVariants: 1
|
||||
m_DoubleSidedGI: 0
|
||||
m_CustomRenderQueue: -1
|
||||
stringTagMap: {}
|
||||
disabledShaderPasses: []
|
||||
m_LockedProperties:
|
||||
m_SavedProperties:
|
||||
serializedVersion: 3
|
||||
m_TexEnvs:
|
||||
- _AlbedoMap:
|
||||
m_Texture: {fileID: 2800000, guid: e65133bbf7d4b4b438a8a9bb91b5576d, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _NormalMap:
|
||||
m_Texture: {fileID: 2800000, guid: 3fef982443bc3408a9b44f8b0dec14b2, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _OrmMap:
|
||||
m_Texture: {fileID: 2800000, guid: f4726947475f4466e98b0f7cab5c75d3, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
- _StoneMap:
|
||||
m_Texture: {fileID: 2800000, guid: 2e11a30a0df8143ab84722ec0a116b6d, type: 3}
|
||||
m_Scale: {x: 1, y: 1}
|
||||
m_Offset: {x: 0, y: 0}
|
||||
m_Ints: []
|
||||
m_Floats:
|
||||
- _Cull: 2
|
||||
- _Energy: 1
|
||||
- _Flicker: 0
|
||||
- _Glow: 1.25
|
||||
- _Metallic: 1
|
||||
- _Mode: 0
|
||||
- _NormalStrength: 1
|
||||
- _ObjectSpace: 0
|
||||
- _Quality: 1
|
||||
- _Relief: 0.016
|
||||
- _Rim: 0.35
|
||||
- _Roughness: 1
|
||||
- _Seed: 0
|
||||
- _ShadowNormalScale: 0
|
||||
- _StoneScale: 1
|
||||
- _UvMaps: 1
|
||||
- _VertexColor: 0
|
||||
m_Colors:
|
||||
- _AlbedoMean: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
|
||||
- _OrmMean: {r: 1, g: 1, b: 1, a: 1}
|
||||
- _RimColor: {r: 0.8, g: 0.86, b: 1, a: 1}
|
||||
m_BuildTextureStacks: []
|
||||
m_AllowLocking: 1
|
||||
8
Assets/Luneraria/Materials/Units/AI_Kraterrufer.mat.meta
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
fileFormatVersion: 2
|
||||
guid: bf0f753f4fd0647aa9af9efe4e8dc51f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 2100000
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
||||
|
|
@ -80,8 +80,8 @@ MonoBehaviour:
|
|||
Prefab: {fileID: 919132149155446097, guid: 91e3cc3d958a04fc58928224fa9af37c, type: 3}
|
||||
Controller: {fileID: 9100000, guid: 371b8acccfc524a0f83b50fc7628ef37, type: 2}
|
||||
- Id: g08
|
||||
Prefab: {fileID: 919132149155446097, guid: a9778c2a8d21345698c3379e3bc4ed1a, type: 3}
|
||||
Controller: {fileID: 0}
|
||||
Prefab: {fileID: 919132149155446097, guid: 73ea5eb2ee45348678205327bd213fe6, type: 3}
|
||||
Controller: {fileID: 9100000, guid: 2fc2470c3e32a45aea03cc59d5d9accb, type: 2}
|
||||
- Id: g09
|
||||
Prefab: {fileID: 919132149155446097, guid: 957a60d5dc42440a6bf97264ae0bea2a, type: 3}
|
||||
Controller: {fileID: 0}
|
||||
|
|
@ -97,6 +97,9 @@ MonoBehaviour:
|
|||
- Id: kohlenbeisser
|
||||
Prefab: {fileID: 919132149155446097, guid: cb652a88669c64f4d98a351c01bf9642, type: 3}
|
||||
Controller: {fileID: 9100000, guid: 26a63e3ffbfe94d109316067e70ea293, type: 2}
|
||||
- Id: kraterrufer
|
||||
Prefab: {fileID: 919132149155446097, guid: 73ea5eb2ee45348678205327bd213fe6, type: 3}
|
||||
Controller: {fileID: 9100000, guid: 2fc2470c3e32a45aea03cc59d5d9accb, type: 2}
|
||||
- Id: m01
|
||||
Prefab: {fileID: 919132149155446097, guid: 67c7e64439d074e4bb6f9afdd3d4b061, type: 3}
|
||||
Controller: {fileID: 0}
|
||||
|
|
|
|||
BIN
assets-source/meshy/g08/kraterrufer-animationen.glb
Normal file
BIN
assets-source/meshy/g08/kraterrufer-konzept.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
assets-source/meshy/g08/kraterrufer-skelett.glb
Normal file
|
|
@ -196,6 +196,17 @@ Hinweis: Die Projektdateien des .NET-Harness (`tools/dotnet/*/*.csproj`) fehlten
|
|||
| Bild | `screenshots/u5.5-g07/` |
|
||||
| Commits | `luneraria/u5.5-g07` |
|
||||
|
||||
## U5.5 · Kraterrufer (g08)
|
||||
|
||||
| Punkt | Ergebnis |
|
||||
| --- | --- |
|
||||
| Tests | EditMode 29/29, PlayMode 14/14 (Verify A–I 718/0), Player-Selbsttest 30/30, Asset-Prüfung 20/0 |
|
||||
| Parität | Fingerabdrücke unverändert (`DCE95C96556F3A1A`, `7B8E43AEFC0D60C5`) |
|
||||
| Inhalt | Meshy-Figur für `g08` mit Lane-Fassung, 68 Credits |
|
||||
| Leistung | Stresstest 36 Kraterrufer: Mid 171,3 → 155,1 fps, Karte 123,5 → 136,2 fps. Rohdaten `logs/u5.5-g08/` |
|
||||
| Bild | `screenshots/u5.5-g08/` |
|
||||
| Commits | `luneraria/u5.5-g08` |
|
||||
|
||||
## Ausblick
|
||||
|
||||
Der Pilot entscheidet über eine Serie weiterer Meshy-Figuren (Kosten je Figur, Lizenz, Stilgleichheit). Offen bleiben außerdem Künstler-Sculpts für Anatomie/Gesicht/Haar, LOD und Material-Atlanten sowie die Build-Module für Windows und Linux.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Port-Status · Champions of Luneraria in Unity
|
||||
|
||||
Stand: 10. Oktober 2026 (U5.5, sechste Figur).
|
||||
Stand: 10. Oktober 2026 (U5.5, siebte Figur).
|
||||
|
||||
Referenz ist der Godot-Stand `luneraria/g3` (`1b540f2`) in `../saumwacht-godot`; er wird nicht mehr verändert. Engine: Unity 6.3 LTS (6000.3.20f1), Renderer URP. HDRP ist ausgeschlossen, bis ein Vergleich mit einer echten Szene etwas anderes nahelegt.
|
||||
|
||||
|
|
@ -13,7 +13,7 @@ Zielplattformen sind Fedora 44 und Windows 11; macOS ist die Entwicklungsplattfo
|
|||
| U2 · Unity-Spielwelt | **fertig**: U2A Blender→FBX-Pipeline (9 Assets geprüft), U2B G1-Karte mit Materialsystem, U2C fester Takt und Ansichten (bildratenunabhängig nachgewiesen), U2D vollständige Bot-Partien sichtbar und gleich dem Kern; danach Batch-Import aller 86 Modelle, Einheiten mit eigenen Modellen | [U2-WORLD.md](U2-WORLD.md) |
|
||||
| U3 · G3-HUD portieren | **fertig** (`luneraria/u3`): UI Toolkit, Sichtmodell mit Privatsphäre, menschlicher Sitz, alle HUD-Bereiche, Eingabe und Befehle, Prüfung 718/0, 14 G3-Motive, Spieltest, Leistung mit HUD | [U3-UI.md](U3-UI.md) |
|
||||
| U4 · Netzwerk | **fertig** (`luneraria/u4` = `769e622`): LuneSession (Protokoll 4), TCP-Transport, Startbildschirm Host/Join, 43+12 Prüfungen, Mindestumfang M4. Nachtrag (`luneraria/u4-nachtrag`, in U5.3 zusammengeführt): Startbildschirm in der Szene, „Menü“ führt dorthin zurück | [U4-NETWORK.md](U4-NETWORK.md) |
|
||||
| U5 · Visuelle Neuausrichtung (Vertical Slice Mid-Lane) | **fertig** (`luneraria/u5` = `2c1686b`, Stufen `luneraria/u5.2`): 6 PBR-Sätze, Surface-Shader mit Albedo/Normal/ORM, Stufen Lane/Rand, Hit- und Turm-VFX, 133/180 fps. **U5.3** (`luneraria/u5.3` = `07fa457`): Gebäude, Boss und Ringborkes Rinde auf PBR (11 Sätze); Bildfehler aus U5 behoben (doppelte Einfärbung, Datenkarten als sRGB, Streifen, bleichender Treffer-Flash, Nebel), Helligkeit und Grün wieder auf U3-Niveau **U5.4** (`luneraria/u5.4` = `4883d95`): Surface-Materialien für alle 146 Figurenmaterialien (Metalle metallisch, Randlicht, Struktur in den Porträts), SSAO (abschaltbar), Leistung −13 % Karte / −16 % Mid **U5.5-pilot** (`luneraria/u5.5-pilot` = `c386206`): Meshy-Figur für den Kohlenbeißer `g01` (Pipeline `tools/meshy/`, UV-Material mit Lava-Glut, Schatten ohne Normalen-Versatz), GPU-Batched-Skinning, Figuren-Stress −21 % Mid / −13 % Karte gegenüber Phase-4; **Lane-Fassung** (`luneraria/u5.5-lod`): 5.000-Dreiecke-LOD, Abstand −10 % Mid / −2 % Karte; **Schlackenklaue** `g02` (`luneraria/u5.5-g02`) als zweite Meshy-Figur, −11 % Mid / −1 % Karte; **Schlackenwacht** `g03` (`luneraria/u5.5-g03`), −8 % Mid / 0 % Karte; **Funkenlanze** `g05` mit Lanze als eigenem Modell (`luneraria/u5.5-g05`), +15 % gegenüber der Phase-18-Figur; **Glasballiste** `g06` als Maschine mit übernommenem Skelett (`luneraria/u5.5-g06`); **Aschenwerfer** `g07` (`luneraria/u5.5-g07`), −11 % Mid / +2 % Karte | [U5-VISUAL.md](U5-VISUAL.md) |
|
||||
| U5 · Visuelle Neuausrichtung (Vertical Slice Mid-Lane) | **fertig** (`luneraria/u5` = `2c1686b`, Stufen `luneraria/u5.2`): 6 PBR-Sätze, Surface-Shader mit Albedo/Normal/ORM, Stufen Lane/Rand, Hit- und Turm-VFX, 133/180 fps. **U5.3** (`luneraria/u5.3` = `07fa457`): Gebäude, Boss und Ringborkes Rinde auf PBR (11 Sätze); Bildfehler aus U5 behoben (doppelte Einfärbung, Datenkarten als sRGB, Streifen, bleichender Treffer-Flash, Nebel), Helligkeit und Grün wieder auf U3-Niveau **U5.4** (`luneraria/u5.4` = `4883d95`): Surface-Materialien für alle 146 Figurenmaterialien (Metalle metallisch, Randlicht, Struktur in den Porträts), SSAO (abschaltbar), Leistung −13 % Karte / −16 % Mid **U5.5-pilot** (`luneraria/u5.5-pilot` = `c386206`): Meshy-Figur für den Kohlenbeißer `g01` (Pipeline `tools/meshy/`, UV-Material mit Lava-Glut, Schatten ohne Normalen-Versatz), GPU-Batched-Skinning, Figuren-Stress −21 % Mid / −13 % Karte gegenüber Phase-4; **Lane-Fassung** (`luneraria/u5.5-lod`): 5.000-Dreiecke-LOD, Abstand −10 % Mid / −2 % Karte; **Schlackenklaue** `g02` (`luneraria/u5.5-g02`) als zweite Meshy-Figur, −11 % Mid / −1 % Karte; **Schlackenwacht** `g03` (`luneraria/u5.5-g03`), −8 % Mid / 0 % Karte; **Funkenlanze** `g05` mit Lanze als eigenem Modell (`luneraria/u5.5-g05`), +15 % gegenüber der Phase-18-Figur; **Glasballiste** `g06` als Maschine mit übernommenem Skelett (`luneraria/u5.5-g06`); **Aschenwerfer** `g07` (`luneraria/u5.5-g07`), −11 % Mid / +2 % Karte; **Kraterrufer** `g08` (`luneraria/u5.5-g08`), −9 % Mid / +10 % Karte | [U5-VISUAL.md](U5-VISUAL.md) |
|
||||
|
||||
QA je Meilenstein: [PORT-QA.md](PORT-QA.md).
|
||||
|
||||
|
|
|
|||
|
|
@ -584,3 +584,18 @@ Stand 10. Oktober 2026, Zweig `luneraria/u5.5-g07` (auf `luneraria/u5.5-g06`). D
|
|||
| Asset-Prüfung / Player-Selbsttest | 20/0, 30/30 |
|
||||
|
||||
Stresstest mit 36 Aschenwerfern (`-luneBenchmarkArmy g07`), je drei Läufe gegen das starre Phase-4-Modell (`logs/u5.5-g07/`): Mid-Lane nah 165,0 → 147,1 fps (−11 %), Karte 124,1 → 126,8 fps (+2 %). Bilder: `screenshots/u5.5-g07/`.
|
||||
|
||||
## U5.5 · Siebte Figur: Kraterrufer (g08)
|
||||
|
||||
Stand 10. Oktober 2026, Zweig `luneraria/u5.5-g08` (auf `luneraria/u5.5-g07`). Die Aufwertung des Aschenwerfers, auf demselben Weg: ein Konzeptbild aus Icon, Phase-4-Bild und dem Aschenwerfer-Konzept als Stilvorlage (12 Credits), Modell (30), Skelett mit 1,5 m (5), sieben Bewegungen (21), zusammen **68 Credits**. Die Figurendatei samt Wurf-Clips ist vom Aschenwerfer übernommen.
|
||||
|
||||
- Entwurf: Der ganze Oberkörper ist eine Kraterschale voll glühender Lava mit schwerem Goldrand, Goldklammern und einem Runenschild vorn; sehr lange Steinarme mit breiten Goldbändern, Glutrisse im ganzen Körper (12 % der Textur glühen).
|
||||
- `kraterrufer.fbx`: 20.502 + 4.998 Dreiecke, 25 Knochen; Export 23 Prüfungen, bytegleich wiederholbar. Manifest `"replaces": "g08"`.
|
||||
|
||||
| Test | Ergebnis |
|
||||
| --- | --- |
|
||||
| EditMode / PlayMode | 29/29, 14/14, Verify A–I 718/0 |
|
||||
| Fingerabdrücke | `DCE95C96556F3A1A`, `7B8E43AEFC0D60C5`, unverändert |
|
||||
| Asset-Prüfung / Player-Selbsttest | 20/0, 30/30 |
|
||||
|
||||
Stresstest mit 36 Kraterrufern (`-luneBenchmarkArmy g08`), je drei Läufe gegen das starre Phase-4-Modell (`logs/u5.5-g08/`): Mid-Lane nah 171,3 → 155,1 fps (−9 %), Karte 123,5 → 136,2 fps (+10 %). Bilder: `screenshots/u5.5-g08/`.
|
||||
|
|
|
|||
|
|
@ -1988,6 +1988,173 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "kraterrufer",
|
||||
"kind": "skinned",
|
||||
"ok": true,
|
||||
"checks": [
|
||||
{
|
||||
"check": "blender_checks_passed",
|
||||
"ok": true,
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "imported",
|
||||
"ok": true,
|
||||
"detail": "\"Assets/Luneraria/Art/Characters/kraterrufer.fbx\""
|
||||
},
|
||||
{
|
||||
"check": "import_rules_applied",
|
||||
"ok": true,
|
||||
"detail": ""
|
||||
},
|
||||
{
|
||||
"check": "root_transform_identity",
|
||||
"ok": true,
|
||||
"detail": "\"kraterrufer pos (0.0000, 0.0000, 0.0000) rot (0.00, 0.00, 0.00) scale (1.0000, 1.0000, 1.0000)\""
|
||||
},
|
||||
{
|
||||
"check": "node_transforms_axis_clean",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "mesh_names",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "triangles",
|
||||
"ok": true,
|
||||
"detail": "\"25500 unity / 25500 blender \""
|
||||
},
|
||||
{
|
||||
"check": "material_slots",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "normals_unit_length",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "tangents_where_uv",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "uvs_where_blender_has_uv",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "vertex_colors",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "bounds_axes_scale",
|
||||
"ok": true,
|
||||
"detail": "\"largest difference 0.00003 m; unity (-1.005, 0.000, -0.442) (1.005, 1.500, 0.450)\""
|
||||
},
|
||||
{
|
||||
"check": "skinned_mesh",
|
||||
"ok": true,
|
||||
"detail": "2"
|
||||
},
|
||||
{
|
||||
"check": "bone_names KraterruferBody_LOD0",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "root_bone KraterruferBody_LOD0",
|
||||
"ok": true,
|
||||
"detail": "\"Root\""
|
||||
},
|
||||
{
|
||||
"check": "bone_names KraterruferBody_LOD1",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
},
|
||||
{
|
||||
"check": "root_bone KraterruferBody_LOD1",
|
||||
"ok": true,
|
||||
"detail": "\"Root\""
|
||||
},
|
||||
{
|
||||
"check": "generic_avatar",
|
||||
"ok": true,
|
||||
"detail": "\"kraterruferAvatar\""
|
||||
},
|
||||
{
|
||||
"check": "clips",
|
||||
"ok": true,
|
||||
"detail": "[]"
|
||||
}
|
||||
],
|
||||
"facts": {
|
||||
"triangles": 25500,
|
||||
"renderers": 2,
|
||||
"meshes_without_uv_and_tangents": 0,
|
||||
"degenerate_triangles_dropped": 0,
|
||||
"bounds_min": [
|
||||
-1.00450969,
|
||||
-0.000228602716,
|
||||
-0.441782057
|
||||
],
|
||||
"bounds_max": [
|
||||
1.00549018,
|
||||
1.4999994,
|
||||
0.449993044
|
||||
],
|
||||
"clips": [
|
||||
{
|
||||
"name": "ability",
|
||||
"length": 1.20833337,
|
||||
"loop": false,
|
||||
"events": 1
|
||||
},
|
||||
{
|
||||
"name": "attack_a",
|
||||
"length": 1.0,
|
||||
"loop": false,
|
||||
"events": 1
|
||||
},
|
||||
{
|
||||
"name": "attack_b",
|
||||
"length": 1.08333337,
|
||||
"loop": false,
|
||||
"events": 1
|
||||
},
|
||||
{
|
||||
"name": "death",
|
||||
"length": 2.20833325,
|
||||
"loop": false,
|
||||
"events": 0
|
||||
},
|
||||
{
|
||||
"name": "hit",
|
||||
"length": 0.5,
|
||||
"loop": false,
|
||||
"events": 0
|
||||
},
|
||||
{
|
||||
"name": "idle",
|
||||
"length": 4.0,
|
||||
"loop": true,
|
||||
"events": 0
|
||||
},
|
||||
{
|
||||
"name": "walk",
|
||||
"length": 2.79166675,
|
||||
"loop": true,
|
||||
"events": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "quellgeflecht",
|
||||
"kind": "skinned",
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"build": "OSXPlayer player, 6000.3.20f1, release",
|
||||
"device": "Mac17,2; Apple M5; Apple M5",
|
||||
"graphics_api": "Metal",
|
||||
"resolution": "1920x1080",
|
||||
"vsync": 0,
|
||||
"match": "seed 9 from round 5, army g08 x36, speed 1x, measured after 10 s of combat",
|
||||
// moving units at the start of the first window: g08 36, w04 14, e04 11, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||
"windows": [
|
||||
{"view": "overview (zoom 64)", "frames": 2700, "fps": 134.9, "frame_ms_avg": 7.41, "frame_ms_median": 3.30, "frame_ms_p95": 23.20, "frame_ms_p99": 29.40, "frame_ms_max": 37.81, "frames_over_16_7_ms": 359, "of_them_with_simulation_step": 43, "gc_collections": 20, "simulation_ms_per_frame": 0.069, "views_ms_per_frame": 0.222, "ui_ms_per_frame": 0.072, "units_alive_max": 97},
|
||||
// timings overview (zoom 64): main thread avg 2.65 / median 2.53 / p95 3.70 ms, render thread avg 1.86 / median 1.84 / p95 2.24 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.75 / median 0.20 / p95 20.46 ms
|
||||
{"view": "mid lane close (zoom 22)", "frames": 1538, "fps": 153.7, "frame_ms_avg": 6.50, "frame_ms_median": 3.00, "frame_ms_p95": 22.21, "frame_ms_p99": 30.30, "frame_ms_max": 38.51, "frames_over_16_7_ms": 161, "of_them_with_simulation_step": 16, "gc_collections": 8, "simulation_ms_per_frame": 0.030, "views_ms_per_frame": 0.186, "ui_ms_per_frame": 0.056, "units_alive_max": 27}
|
||||
// timings mid lane close (zoom 22): main thread avg 2.04 / median 1.98 / p95 2.89 ms, render thread avg 1.30 / median 1.29 / p95 1.52 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.48 / median 0.22 / p95 20.44 ms
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"build": "OSXPlayer player, 6000.3.20f1, release",
|
||||
"device": "Mac17,2; Apple M5; Apple M5",
|
||||
"graphics_api": "Metal",
|
||||
"resolution": "1920x1080",
|
||||
"vsync": 0,
|
||||
"match": "seed 9 from round 5, army g08 x36, speed 1x, measured after 10 s of combat",
|
||||
// moving units at the start of the first window: g08 36, w04 14, e04 11, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||
"windows": [
|
||||
{"view": "overview (zoom 64)", "frames": 2744, "fps": 137.1, "frame_ms_avg": 7.29, "frame_ms_median": 3.10, "frame_ms_p95": 23.60, "frame_ms_p99": 29.60, "frame_ms_max": 37.16, "frames_over_16_7_ms": 373, "of_them_with_simulation_step": 38, "gc_collections": 20, "simulation_ms_per_frame": 0.066, "views_ms_per_frame": 0.209, "ui_ms_per_frame": 0.067, "units_alive_max": 97},
|
||||
// timings overview (zoom 64): main thread avg 2.47 / median 2.36 / p95 3.41 ms, render thread avg 1.78 / median 1.77 / p95 2.07 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.81 / median 0.25 / p95 21.06 ms
|
||||
{"view": "mid lane close (zoom 22)", "frames": 1561, "fps": 156.1, "frame_ms_avg": 6.41, "frame_ms_median": 2.96, "frame_ms_p95": 21.81, "frame_ms_p99": 29.87, "frame_ms_max": 37.00, "frames_over_16_7_ms": 154, "of_them_with_simulation_step": 13, "gc_collections": 8, "simulation_ms_per_frame": 0.031, "views_ms_per_frame": 0.186, "ui_ms_per_frame": 0.052, "units_alive_max": 27}
|
||||
// timings mid lane close (zoom 22): main thread avg 1.98 / median 1.91 / p95 2.80 ms, render thread avg 1.28 / median 1.27 / p95 1.50 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.44 / median 0.58 / p95 19.86 ms
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"build": "OSXPlayer player, 6000.3.20f1, release",
|
||||
"device": "Mac17,2; Apple M5; Apple M5",
|
||||
"graphics_api": "Metal",
|
||||
"resolution": "1920x1080",
|
||||
"vsync": 0,
|
||||
"match": "seed 9 from round 5, army g08 x36, speed 1x, measured after 10 s of combat",
|
||||
// moving units at the start of the first window: g08 36, w04 14, e04 11, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||
"windows": [
|
||||
{"view": "overview (zoom 64)", "frames": 2734, "fps": 136.7, "frame_ms_avg": 7.32, "frame_ms_median": 3.10, "frame_ms_p95": 23.30, "frame_ms_p99": 30.22, "frame_ms_max": 38.53, "frames_over_16_7_ms": 384, "of_them_with_simulation_step": 38, "gc_collections": 20, "simulation_ms_per_frame": 0.066, "views_ms_per_frame": 0.207, "ui_ms_per_frame": 0.066, "units_alive_max": 97},
|
||||
// timings overview (zoom 64): main thread avg 2.50 / median 2.38 / p95 3.49 ms, render thread avg 1.78 / median 1.77 / p95 2.07 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.83 / median 0.23 / p95 20.79 ms
|
||||
{"view": "mid lane close (zoom 22)", "frames": 1556, "fps": 155.6, "frame_ms_avg": 6.43, "frame_ms_median": 2.88, "frame_ms_p95": 22.60, "frame_ms_p99": 29.73, "frame_ms_max": 37.40, "frames_over_16_7_ms": 159, "of_them_with_simulation_step": 12, "gc_collections": 8, "simulation_ms_per_frame": 0.028, "views_ms_per_frame": 0.180, "ui_ms_per_frame": 0.052, "units_alive_max": 27}
|
||||
// timings mid lane close (zoom 22): main thread avg 1.96 / median 1.90 / p95 2.79 ms, render thread avg 1.28 / median 1.28 / p95 1.49 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.46 / median 0.35 / p95 20.20 ms
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"build": "OSXPlayer player, 6000.3.20f1, release",
|
||||
"device": "Mac17,2; Apple M5; Apple M5",
|
||||
"graphics_api": "Metal",
|
||||
"resolution": "1920x1080",
|
||||
"vsync": 0,
|
||||
"match": "seed 9 from round 5, army g08 x36, speed 1x, measured after 10 s of combat",
|
||||
// moving units at the start of the first window: g08 36, w04 14, e04 11, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||
"windows": [
|
||||
{"view": "overview (zoom 64)", "frames": 2474, "fps": 123.7, "frame_ms_avg": 8.08, "frame_ms_median": 3.20, "frame_ms_p95": 24.90, "frame_ms_p99": 33.61, "frame_ms_max": 46.60, "frames_over_16_7_ms": 407, "of_them_with_simulation_step": 67, "gc_collections": 20, "simulation_ms_per_frame": 0.073, "views_ms_per_frame": 0.199, "ui_ms_per_frame": 0.068, "units_alive_max": 97},
|
||||
// timings overview (zoom 64): main thread avg 2.39 / median 2.26 / p95 3.49 ms, render thread avg 1.94 / median 1.92 / p95 2.35 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.70 / median 0.47 / p95 22.58 ms
|
||||
{"view": "mid lane close (zoom 22)", "frames": 1714, "fps": 171.1, "frame_ms_avg": 5.85, "frame_ms_median": 2.63, "frame_ms_p95": 20.59, "frame_ms_p99": 26.43, "frame_ms_max": 33.90, "frames_over_16_7_ms": 135, "of_them_with_simulation_step": 12, "gc_collections": 7, "simulation_ms_per_frame": 0.026, "views_ms_per_frame": 0.172, "ui_ms_per_frame": 0.047, "units_alive_max": 27}
|
||||
// timings mid lane close (zoom 22): main thread avg 1.73 / median 1.68 / p95 2.50 ms, render thread avg 1.27 / median 1.26 / p95 1.48 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.10 / median 0.64 / p95 18.60 ms
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"build": "OSXPlayer player, 6000.3.20f1, release",
|
||||
"device": "Mac17,2; Apple M5; Apple M5",
|
||||
"graphics_api": "Metal",
|
||||
"resolution": "1920x1080",
|
||||
"vsync": 0,
|
||||
"match": "seed 9 from round 5, army g08 x36, speed 1x, measured after 10 s of combat",
|
||||
// moving units at the start of the first window: g08 36, w04 14, e04 11, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||
"windows": [
|
||||
{"view": "overview (zoom 64)", "frames": 2471, "fps": 123.5, "frame_ms_avg": 8.10, "frame_ms_median": 3.18, "frame_ms_p95": 25.61, "frame_ms_p99": 32.81, "frame_ms_max": 44.43, "frames_over_16_7_ms": 445, "of_them_with_simulation_step": 32, "gc_collections": 21, "simulation_ms_per_frame": 0.073, "views_ms_per_frame": 0.196, "ui_ms_per_frame": 0.069, "units_alive_max": 97},
|
||||
// timings overview (zoom 64): main thread avg 2.41 / median 2.28 / p95 3.44 ms, render thread avg 1.94 / median 1.92 / p95 2.35 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.68 / median 0.46 / p95 23.42 ms
|
||||
{"view": "mid lane close (zoom 22)", "frames": 1715, "fps": 171.4, "frame_ms_avg": 5.83, "frame_ms_median": 2.70, "frame_ms_p95": 19.12, "frame_ms_p99": 25.61, "frame_ms_max": 40.09, "frames_over_16_7_ms": 150, "of_them_with_simulation_step": 6, "gc_collections": 7, "simulation_ms_per_frame": 0.025, "views_ms_per_frame": 0.171, "ui_ms_per_frame": 0.050, "units_alive_max": 27}
|
||||
// timings mid lane close (zoom 22): main thread avg 1.73 / median 1.67 / p95 2.58 ms, render thread avg 1.27 / median 1.26 / p95 1.49 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.11 / median 0.57 / p95 17.19 ms
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"build": "OSXPlayer player, 6000.3.20f1, release",
|
||||
"device": "Mac17,2; Apple M5; Apple M5",
|
||||
"graphics_api": "Metal",
|
||||
"resolution": "1920x1080",
|
||||
"vsync": 0,
|
||||
"match": "seed 9 from round 5, army g08 x36, speed 1x, measured after 10 s of combat",
|
||||
// moving units at the start of the first window: g08 36, w04 14, e04 11, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||
"windows": [
|
||||
{"view": "overview (zoom 64)", "frames": 2465, "fps": 123.2, "frame_ms_avg": 8.12, "frame_ms_median": 3.19, "frame_ms_p95": 25.61, "frame_ms_p99": 32.89, "frame_ms_max": 42.50, "frames_over_16_7_ms": 446, "of_them_with_simulation_step": 44, "gc_collections": 20, "simulation_ms_per_frame": 0.073, "views_ms_per_frame": 0.195, "ui_ms_per_frame": 0.069, "units_alive_max": 97},
|
||||
// timings overview (zoom 64): main thread avg 2.41 / median 2.26 / p95 3.50 ms, render thread avg 1.93 / median 1.90 / p95 2.34 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.70 / median 0.45 / p95 23.15 ms
|
||||
{"view": "mid lane close (zoom 22)", "frames": 1717, "fps": 171.5, "frame_ms_avg": 5.83, "frame_ms_median": 2.81, "frame_ms_p95": 19.50, "frame_ms_p99": 27.11, "frame_ms_max": 34.40, "frames_over_16_7_ms": 139, "of_them_with_simulation_step": 16, "gc_collections": 8, "simulation_ms_per_frame": 0.026, "views_ms_per_frame": 0.167, "ui_ms_per_frame": 0.048, "units_alive_max": 27}
|
||||
// timings mid lane close (zoom 22): main thread avg 1.70 / median 1.64 / p95 2.49 ms, render thread avg 1.26 / median 1.25 / p95 1.47 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.14 / median 0.86 / p95 17.72 ms
|
||||
]
|
||||
}
|
||||
11
docs/port/logs/u5.5-g08/player-smoke.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"build": "OSXPlayer player, 6000.3.20f1, release",
|
||||
"device": "Mac17,2; Apple M5; Apple M5",
|
||||
"graphics_api": "Metal",
|
||||
"resolution": "1920x1080",
|
||||
"seconds": 11.6,
|
||||
"passed": ["Startbildschirm sichtbar", "Partie wartet: Spielcontroller und Treiber aus", "vor dem Start kein HUD", "„Allein spielen“ bedienbar", "Offline: Startbildschirm verborgen", "Offline: Spielcontroller und Treiber laufen", "Offline: HUD sichtbar", "Offline: neue Partie, Sitz 1 (Mid)", "Offline: Planung", "Offline: lokale Sitzung", "„Startaufstellung“ bedienbar", "Startaufstellung gekauft (3 Einheiten)", "„Bereit“ bedienbar", "Bereit: Kampf beginnt", "Kampf: Figuren im Feld", "„Menü“ bedienbar", "Verlassen-Dialog mit „Zum Menü“", "Zurück: Startbildschirm sichtbar", "Zurück: HUD verborgen", "Zurück: Spielcontroller und Treiber aus", "Zurück: Sitzung beendet", "Zurück: keine Figuren im Feld", "Zurück: Kamera ruht", "Zurück: „Allein spielen“ bedienbar", "Zweite Partie: Startbildschirm verborgen, HUD sichtbar", "Zweite Partie: neue Partie in der Planung", "SSAO folgt der Einstellung", "Option „Umgebungsverdeckung“ sichtbar", "Option schaltet SSAO um", "Option stellt SSAO zurück"],
|
||||
"failed": [],
|
||||
"photos": ["00-startbildschirm.jpg", "01-planung.jpg", "02-kampf.jpg", "03-verlassen.jpg", "04-zurueck-im-startbildschirm.jpg", "05-zweite-partie.jpg", "06-optionen.jpg"],
|
||||
"result": "PASS"
|
||||
}
|
||||
11
docs/port/logs/u5.5-g08/scene-frame-rates.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"match": "seed 2, bots, speed 24x",
|
||||
"core_hash": "DCE95C96556F3A1A",
|
||||
"core_steps": 12690,
|
||||
"runs": [
|
||||
{"target": "30 fps", "frames": 816, "seconds": 27.186, "measured_fps": 30.015, "max_steps_per_frame": 17, "steps": 12690, "hash": "DCE95C96556F3A1A", "winner": 1, "same_as_core": true},
|
||||
{"target": "60 fps", "frames": 1626, "seconds": 27.116, "measured_fps": 59.966, "max_steps_per_frame": 10, "steps": 12690, "hash": "DCE95C96556F3A1A", "winner": 1, "same_as_core": true},
|
||||
{"target": "120 fps", "frames": 3224, "seconds": 26.913, "measured_fps": 119.794, "max_steps_per_frame": 8, "steps": 12690, "hash": "DCE95C96556F3A1A", "winner": 1, "same_as_core": true},
|
||||
{"target": "unlimited", "frames": 81130, "seconds": 26.827, "measured_fps": 3024.241, "max_steps_per_frame": 10, "steps": 12690, "hash": "DCE95C96556F3A1A", "winner": 1, "same_as_core": true}
|
||||
]
|
||||
}
|
||||
16
docs/port/logs/u5.5-g08/vertical-function-test.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"runs": [
|
||||
{"label": "match-seed2", "seed": 2, "start_round": 1, "extra_gold": 0, "speed": 6, "winner": 1, "end_note": "Ancient von Blau zerstört.", "steps": 12690, "hash": "DCE95C96556F3A1A", "core_hash": "DCE95C96556F3A1A", "same_as_core": true,
|
||||
"units_alive_max": 84, "heroes_alive_max": 4, "boss_log": ["round 8: won team 1 ", "round 9: deployed team 1 bot"],
|
||||
"rounds": [{"round": 1, "combat_seconds": 44.9, "lost": [], "boss": "none", "end": "cleared"}, {"round": 2, "combat_seconds": 57.1, "lost": [], "boss": "none", "end": "cleared"}, {"round": 3, "combat_seconds": 54.1, "lost": [], "boss": "none", "end": "cleared"}, {"round": 4, "combat_seconds": 62.9, "lost": [], "boss": "none", "end": "cleared"}, {"round": 5, "combat_seconds": 60.7, "lost": [], "boss": "none", "end": "cleared"}, {"round": 6, "combat_seconds": 62.1, "lost": [], "boss": "none", "end": "cleared"}, {"round": 7, "combat_seconds": 66.5, "lost": ["blau_bot_outer"], "boss": "none", "end": "cleared"}, {"round": 8, "combat_seconds": 89.65, "lost": ["rot_top_outer", "rot_top_inner"], "boss": "won", "end": "cleared"}, {"round": 9, "combat_seconds": 136.55, "lost": ["blau_bot_inner", "blau_base_2", "blau_base_1", "blau_ancient"], "boss": "deployed", "end": "core"}],
|
||||
"events": ["round 7: blau_bot_outer destroyed", "round 8: rot_top_outer destroyed", "round 8: rot_top_inner destroyed", "round 8: grotto boss won", "round 9: blau_bot_inner destroyed", "round 9: blau_base_2 destroyed", "round 9: blau_base_1 destroyed", "round 9: blau_ancient destroyed", "round 9: grotto boss deployed"],
|
||||
"shots": ["01-runde1-aufmarsch", "02-runde1-mid-kampf", "03-turm-faellt", "04-turm-ruine", "05-grotte-bosskampf", "06-held-kaempft", "07-boss-auf-der-lane", "08-ancient-faellt", "09-ancient-ruine", "10-ende-uebersicht"],
|
||||
"performance": null},
|
||||
{"label": "match-seed9-round21", "seed": 9, "start_round": 21, "extra_gold": 4000, "speed": 6, "winner": 0, "end_note": "Ancient von Rot zerstört.", "steps": 4195, "hash": "7B8E43AEFC0D60C5", "core_hash": "7B8E43AEFC0D60C5", "same_as_core": true,
|
||||
"units_alive_max": 125, "heroes_alive_max": 6, "boss_log": [],
|
||||
"rounds": [{"round": 21, "combat_seconds": 121.8, "lost": ["rot_mid_outer", "rot_top_outer", "rot_mid_inner"], "boss": "none", "end": "cleared"}, {"round": 22, "combat_seconds": 87.95, "lost": ["rot_top_inner", "rot_base_1", "blau_bot_outer", "rot_base_2", "rot_ancient"], "boss": "none", "end": "core"}],
|
||||
"events": ["round 21: rot_mid_outer destroyed", "round 21: rot_top_outer destroyed", "round 21: rot_mid_inner destroyed", "round 22: rot_top_inner destroyed", "round 22: rot_base_1 destroyed", "round 22: blau_bot_outer destroyed", "round 22: rot_base_2 destroyed", "round 22: rot_ancient destroyed"],
|
||||
"shots": ["11-welle21-uebersicht", "12-welle21-kampf", "13-ancient-rot-faellt", "14-welle-ende"],
|
||||
"performance": {"window": "20 s real time at 1x speed, unlimited frame rate, round 21", "frames": 49028, "fps": 2451.362, "frame_ms_avg": 0.408, "frame_ms_p95": 0.42, "simulation_ms_per_frame": 0.004, "views_ms_per_frame": 0.127, "units_alive_max": 116}}
|
||||
]
|
||||
}
|
||||
BIN
docs/port/screenshots/u5.5-g08/01-runde1-aufmarsch.jpg
Normal file
|
After Width: | Height: | Size: 595 KiB |
BIN
docs/port/screenshots/u5.5-g08/02-runde1-mid-kampf.jpg
Normal file
|
After Width: | Height: | Size: 610 KiB |
BIN
docs/port/screenshots/u5.5-g08/03-turm-faellt.jpg
Normal file
|
After Width: | Height: | Size: 545 KiB |
BIN
docs/port/screenshots/u5.5-g08/04-turm-ruine.jpg
Normal file
|
After Width: | Height: | Size: 536 KiB |
BIN
docs/port/screenshots/u5.5-g08/05-grotte-bosskampf.jpg
Normal file
|
After Width: | Height: | Size: 611 KiB |
BIN
docs/port/screenshots/u5.5-g08/06-held-kaempft.jpg
Normal file
|
After Width: | Height: | Size: 625 KiB |
BIN
docs/port/screenshots/u5.5-g08/07-boss-auf-der-lane.jpg
Normal file
|
After Width: | Height: | Size: 578 KiB |
BIN
docs/port/screenshots/u5.5-g08/08-ancient-faellt.jpg
Normal file
|
After Width: | Height: | Size: 623 KiB |
BIN
docs/port/screenshots/u5.5-g08/09-ancient-ruine.jpg
Normal file
|
After Width: | Height: | Size: 623 KiB |
BIN
docs/port/screenshots/u5.5-g08/10-ende-uebersicht.jpg
Normal file
|
After Width: | Height: | Size: 435 KiB |
BIN
docs/port/screenshots/u5.5-g08/11-welle21-uebersicht.jpg
Normal file
|
After Width: | Height: | Size: 592 KiB |
BIN
docs/port/screenshots/u5.5-g08/12-welle21-kampf.jpg
Normal file
|
After Width: | Height: | Size: 649 KiB |
BIN
docs/port/screenshots/u5.5-g08/13-ancient-rot-faellt.jpg
Normal file
|
After Width: | Height: | Size: 602 KiB |
BIN
docs/port/screenshots/u5.5-g08/14-welle-ende.jpg
Normal file
|
After Width: | Height: | Size: 581 KiB |
BIN
docs/port/screenshots/u5.5-g08/Characters.jpg
Normal file
|
After Width: | Height: | Size: 188 KiB |
BIN
docs/port/screenshots/u5.5-g08/Units.jpg
Normal file
|
After Width: | Height: | Size: 717 KiB |
BIN
docs/port/screenshots/u5.5-g08/figur/g08.jpg
Normal file
|
After Width: | Height: | Size: 137 KiB |
BIN
docs/port/screenshots/u5.5-g08/figur/kraterrufer-attack_a.jpg
Normal file
|
After Width: | Height: | Size: 92 KiB |
BIN
docs/port/screenshots/u5.5-g08/figur/kraterrufer.jpg
Normal file
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 704 KiB |
BIN
docs/port/screenshots/u5.5-g08/spiel-nachher/02-portraet.jpg
Normal file
|
After Width: | Height: | Size: 705 KiB |
BIN
docs/port/screenshots/u5.5-g08/spiel-nachher/03-kampf-nah.jpg
Normal file
|
After Width: | Height: | Size: 730 KiB |
BIN
docs/port/screenshots/u5.5-g08/spiel-nachher/04-kampf-lane.jpg
Normal file
|
After Width: | Height: | Size: 672 KiB |
|
After Width: | Height: | Size: 703 KiB |
BIN
docs/port/screenshots/u5.5-g08/spiel-vorher/02-portraet.jpg
Normal file
|
After Width: | Height: | Size: 704 KiB |
BIN
docs/port/screenshots/u5.5-g08/spiel-vorher/03-kampf-nah.jpg
Normal file
|
After Width: | Height: | Size: 728 KiB |
BIN
docs/port/screenshots/u5.5-g08/spiel-vorher/04-kampf-lane.jpg
Normal file
|
After Width: | Height: | Size: 675 KiB |
|
|
@ -1857,6 +1857,51 @@
|
|||
"death"
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "kraterrufer",
|
||||
"group": "Characters",
|
||||
"kind": "skinned",
|
||||
"representative": "U5.5 series: Kraterrufer (g08) from Meshy (image to 3D, auto rig, library clips)",
|
||||
"source": "tools/meshy/build_figure.py",
|
||||
"source_root": "unity",
|
||||
"generator": {
|
||||
"args": [
|
||||
"tools/meshy/g08/figure.json"
|
||||
],
|
||||
"inputs": [
|
||||
"tools/meshy/g08/figure.json",
|
||||
"assets-source/meshy/g08/kraterrufer-skelett.glb",
|
||||
"assets-source/meshy/g08/kraterrufer-animationen.glb"
|
||||
]
|
||||
},
|
||||
"replaces": "g08",
|
||||
"expect": {
|
||||
"triangles": 25500,
|
||||
"bones": 25,
|
||||
"clips": [
|
||||
"idle",
|
||||
"walk",
|
||||
"attack_a",
|
||||
"attack_b",
|
||||
"hit",
|
||||
"ability",
|
||||
"death"
|
||||
]
|
||||
},
|
||||
"rules": {
|
||||
"rest_action": null,
|
||||
"root_bone": "Root",
|
||||
"required_clips": [
|
||||
"idle",
|
||||
"walk",
|
||||
"attack_a",
|
||||
"attack_b",
|
||||
"hit",
|
||||
"ability",
|
||||
"death"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"aliases": {
|
||||
|
|
|
|||
10
tools/meshy/g08/01-konzept.json
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"ai_model": "gpt-image-2",
|
||||
"prompt": "Full-body concept of the creature in the first two references for a 3D fantasy strategy game, painted in exactly the same art style and materials as the third reference (its weaker form). The Kraterrufer, a bigger and heavier artillery golem of faceted black basalt with molten orange lava glowing in the cracks: its whole upper body is a wide volcanic crater bowl filled with glowing molten lava, framed by a heavy worn gold rim with riveted gold brackets and a gold shield emblem with a glowing rune on the front; very long massive rock arms with broad riveted gold bands ending in huge rock fists, thick legs with gold knee and ankle bands and blocky rock feet. No smoke. Stylized realism, hand-sculpted detailed forms, chunky readable silhouette. Standing in a symmetric A-pose, front view, arms held away from the body, legs apart, entire figure visible head to feet, centered. Plain light grey background, soft even studio light, no ground shadow, no text.",
|
||||
"aspect_ratio": "1:1",
|
||||
"reference_image_urls": [
|
||||
"@../saumwacht-godot/assets-source/phase3/masters/glutpakt/unit_g08_kraterrufer_icon.png",
|
||||
"@tools/meshy/g08/ref-g08-phase4.png",
|
||||
"@assets-source/meshy/g07/aschenwerfer-konzept.png"
|
||||
]
|
||||
}
|
||||
16
tools/meshy/g08/02-modell.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"input_task_id": "01a125d6-c5d1-735b-99eb-2c26b754e4ea",
|
||||
"ai_model": "latest",
|
||||
"should_texture": true,
|
||||
"enable_pbr": true,
|
||||
"texture_resolution": "2k",
|
||||
"should_remesh": true,
|
||||
"topology": "triangle",
|
||||
"target_polycount": 20000,
|
||||
"save_pre_remeshed_model": true,
|
||||
"pose_mode": "a-pose",
|
||||
"target_formats": [
|
||||
"glb"
|
||||
],
|
||||
"multi_view_thumbnails": true
|
||||
}
|
||||
4
tools/meshy/g08/03-skelett.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"input_task_id": "01a125d7-e8d0-7209-8948-17d0a54683b7",
|
||||
"height_meters": 1.5
|
||||
}
|
||||
4
tools/meshy/g08/04-animationen.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"rig_task_id": "01a125db-0fdc-711d-98d7-a5d60e5a8729",
|
||||
"action_ids": [0, 119, 421, 398, 178, 127, 189]
|
||||
}
|
||||
21
tools/meshy/g08/figure.json
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"id": "kraterrufer",
|
||||
"replaces": "g08",
|
||||
"rig": "assets-source/meshy/g08/kraterrufer-skelett.glb",
|
||||
"animations": "assets-source/meshy/g08/kraterrufer-animationen.glb",
|
||||
"material": "AI_Kraterrufer",
|
||||
"textures": "Assets/Luneraria/Art/Textures/ai-kraterrufer",
|
||||
"root_bone": "Root",
|
||||
"glow": {"hue": [0, 42], "saturation": 0.6, "value": 0.5, "metal_below": 0.5},
|
||||
"lod": {"triangles": 5000, "sharp_degrees": 50, "lod0_screen": 0.2},
|
||||
"palette": {"rock": {"color": "41434b", "strength": 0.8}, "metal": {"color": "c99645", "strength": 1.0}},
|
||||
"clips": {
|
||||
"idle": {"source": "Idle", "loop": true},
|
||||
"walk": {"source": "Slow_Orc_Walk", "seconds": 2.8, "loop": true},
|
||||
"attack_a": {"source": "Over_Shoulder_Throw", "frames": [4, 30], "seconds": 1.0, "contact_frame": 21},
|
||||
"attack_b": {"source": "Crouch_Charge_and_Throw", "frames": [4, 34], "seconds": 1.1, "contact_frame": 23},
|
||||
"hit": {"source": "Hit_Reaction", "frames": [0, 12], "seconds": 0.5},
|
||||
"ability": {"source": "Charged_Ground_Slam", "frames": [6, 64], "seconds": 1.2, "contact_frame": 41},
|
||||
"death": {"source": "dying_backwards"}
|
||||
}
|
||||
}
|
||||
BIN
tools/meshy/g08/ref-g08-phase4.png
Normal file
|
After Width: | Height: | Size: 1 MiB |
20
tools/meshy/g08/tasks/animationen.json
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"id": "01a125db-7d6c-747d-84a7-3b93542f6578",
|
||||
"type": "animate",
|
||||
"name": "",
|
||||
"status": "SUCCEEDED",
|
||||
"created_at": 1791636504240,
|
||||
"progress": 100,
|
||||
"started_at": 1791636504247,
|
||||
"finished_at": 1791636525097,
|
||||
"expires_at": 1791895725097,
|
||||
"task_error": null,
|
||||
"result": {
|
||||
"animation_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-7d6c-747d-84a7-3b93542f6578/output/merged_animations.glb",
|
||||
"animation_fbx_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-7d6c-747d-84a7-3b93542f6578/output/merged_animations.fbx",
|
||||
"processed_usdz_url": "",
|
||||
"processed_armature_fbx_url": "",
|
||||
"processed_animation_fps_fbx_url": ""
|
||||
},
|
||||
"consumed_credits": 21
|
||||
}
|
||||
16
tools/meshy/g08/tasks/konzept.json
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"id": "01a125d6-c5d1-735b-99eb-2c26b754e4ea",
|
||||
"type": "image-to-image",
|
||||
"ai_model": "gpt-image-2",
|
||||
"prompt": "Full-body concept of the creature in the first two references for a 3D fantasy strategy game, painted in exactly the same art style and materials as the third reference (its weaker form). The Kraterrufer, a bigger and heavier artillery golem of faceted black basalt with molten orange lava glowing in the cracks: its whole upper body is a wide volcanic crater bowl filled with glowing molten lava, framed by a heavy worn gold rim with riveted gold brackets and a gold shield emblem with a glowing rune on the front; very long massive rock arms with broad riveted gold bands ending in huge rock fists, thick legs with gold knee and ankle bands and blocky rock feet. No smoke. Stylized realism, hand-sculpted detailed forms, chunky readable silhouette. Standing in a symmetric A-pose, front view, arms held away from the body, legs apart, entire figure visible head to feet, centered. Plain light grey background, soft even studio light, no ground shadow, no text.",
|
||||
"status": "SUCCEEDED",
|
||||
"progress": 100,
|
||||
"created_at": 1791636197282,
|
||||
"started_at": 1791636197302,
|
||||
"finished_at": 1791636237392,
|
||||
"expires_at": 1791895437392,
|
||||
"image_urls": [
|
||||
"https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/uploads/image_01a125d6-c5d1-735b-99eb-2c26b754e4ea_0.png"
|
||||
],
|
||||
"consumed_credits": 12
|
||||
}
|
||||
41
tools/meshy/g08/tasks/modell.json
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"id": "01a125d7-e8d0-7209-8948-17d0a54683b7",
|
||||
"type": "image-to-3d",
|
||||
"name": "",
|
||||
"art_style": "",
|
||||
"object_prompt": "",
|
||||
"style_prompt": "",
|
||||
"negative_prompt": "",
|
||||
"texture_prompt": "",
|
||||
"texture_image_url": "",
|
||||
"text_style_prompt": "",
|
||||
"image_style_url": "",
|
||||
"status": "SUCCEEDED",
|
||||
"created_at": 1791636270715,
|
||||
"progress": 100,
|
||||
"started_at": 1791636270723,
|
||||
"finished_at": 1791636467302,
|
||||
"expires_at": 1791895667302,
|
||||
"task_error": null,
|
||||
"model_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/model.glb",
|
||||
"model_urls": {
|
||||
"glb": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/model.glb",
|
||||
"pre_remeshed_glb": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/pre_remeshed_model.glb"
|
||||
},
|
||||
"thumbnail_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/preview.png",
|
||||
"thumbnail_urls": {
|
||||
"back": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/preview_back.png",
|
||||
"front": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/preview_front.png",
|
||||
"left": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/preview_left.png",
|
||||
"right": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/preview_right.png"
|
||||
},
|
||||
"texture_urls": [
|
||||
{
|
||||
"base_color": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/texture_0.png",
|
||||
"metallic": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/texture_0_metallic.png",
|
||||
"roughness": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/texture_0_roughness.png",
|
||||
"normal": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125d7-e8d0-7209-8948-17d0a54683b7/output/texture_0_normal.png"
|
||||
}
|
||||
],
|
||||
"consumed_credits": 30
|
||||
}
|
||||
25
tools/meshy/g08/tasks/skelett.json
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
"id": "01a125db-0fdc-711d-98d7-a5d60e5a8729",
|
||||
"type": "rig",
|
||||
"name": "",
|
||||
"status": "SUCCEEDED",
|
||||
"created_at": 1791636480885,
|
||||
"progress": 100,
|
||||
"started_at": 1791636480892,
|
||||
"finished_at": 1791636498336,
|
||||
"expires_at": 1791895698336,
|
||||
"task_error": null,
|
||||
"result": {
|
||||
"rigged_character_fbx_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-0fdc-711d-98d7-a5d60e5a8729/output/Character_output.fbx",
|
||||
"rigged_character_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-0fdc-711d-98d7-a5d60e5a8729/output/Character_output.glb",
|
||||
"basic_animations": {
|
||||
"walking_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-0fdc-711d-98d7-a5d60e5a8729/output/Animation_Walking_withSkin.glb",
|
||||
"walking_fbx_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-0fdc-711d-98d7-a5d60e5a8729/output/Animation_Walking_withSkin.fbx",
|
||||
"walking_armature_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-0fdc-711d-98d7-a5d60e5a8729/output/Animation_Walking_withSkin_armature.glb",
|
||||
"running_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-0fdc-711d-98d7-a5d60e5a8729/output/Animation_Running_withSkin.glb",
|
||||
"running_fbx_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-0fdc-711d-98d7-a5d60e5a8729/output/Animation_Running_withSkin.fbx",
|
||||
"running_armature_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a125db-0fdc-711d-98d7-a5d60e5a8729/output/Animation_Running_withSkin_armature.glb"
|
||||
}
|
||||
},
|
||||
"consumed_credits": 5
|
||||
}
|
||||