U5.5 Schlackenwacht: dritte Meshy-Figur (g03)
Schildplatten-Golem aus Icon, Phase-4-Bild und Kohlenbeißer-Konzept als Stilvorlage, 68 Credits, Lane-Fassung inklusive. FigureViewsTests erkennt Grund- und Aufwertungstruppen selbst. Stresstest 35 Schlackenwachten: Mid 161,9 -> 148,5 fps, Karte unverändert 124,5. Tests grün, Fingerabdrücke unverändert. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
490
Assets/Luneraria/Art/Characters/schlackenwacht.export.json
Normal file
|
|
@ -0,0 +1,490 @@
|
||||||
|
{
|
||||||
|
"id": "schlackenwacht",
|
||||||
|
"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": "['SchlackenwachtBody_LOD0', 'SchlackenwachtBody_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": "25142 fbx / 25142 godot"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "one_armature",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "['SchlackenwachtRig']"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "25142 / 25142"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": "Right_Hand_Sword_Slash",
|
||||||
|
"frames": [
|
||||||
|
0,
|
||||||
|
36
|
||||||
|
],
|
||||||
|
"seconds": 1.0417,
|
||||||
|
"loop": false,
|
||||||
|
"contact_seconds": 0.4051
|
||||||
|
},
|
||||||
|
"attack_b": {
|
||||||
|
"source": "Punch_Forward_with_Both_Fists",
|
||||||
|
"frames": [
|
||||||
|
18,
|
||||||
|
56
|
||||||
|
],
|
||||||
|
"seconds": 1.0,
|
||||||
|
"loop": false,
|
||||||
|
"contact_seconds": 0.4737
|
||||||
|
},
|
||||||
|
"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.0087,
|
||||||
|
"palette_gains": {
|
||||||
|
"rock": [
|
||||||
|
1.1155,
|
||||||
|
1.2312,
|
||||||
|
1.5128
|
||||||
|
],
|
||||||
|
"metal": [
|
||||||
|
1.5139,
|
||||||
|
1.2913,
|
||||||
|
0.8064
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"size": [
|
||||||
|
2048,
|
||||||
|
2048
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"unit": 0.009999999776482582,
|
||||||
|
"lod": {
|
||||||
|
"lod0_triangles": 20145,
|
||||||
|
"lod1_triangles": 4997,
|
||||||
|
"lod1_vertices": 2505,
|
||||||
|
"welded_triangles": 20145,
|
||||||
|
"lod0_screen": 0.2
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"inputs_sha256": {
|
||||||
|
"tools/meshy/g03/figure.json": "6934efc31f06faeafa189ba5f399b66d1c6662871aa9fce0e6b6c44a1add9dd8",
|
||||||
|
"assets-source/meshy/g03/schlackenwacht-skelett.glb": "0c6477bdcb262c36b5df2d7de1580742ea2dc6f51aa7259ef4273c97f9bb7b29",
|
||||||
|
"assets-source/meshy/g03/schlackenwacht-animationen.glb": "fdde8ad1b5ef713d4df1beb2c307054e1c83eaf552c8ddd986b11698aa159ec4"
|
||||||
|
},
|
||||||
|
"source_sha256": "9eb17a4e3dc7029b7031f3be85f6676877c521788835137eb199c352c5b35aa4",
|
||||||
|
"removed_modifiers": 0,
|
||||||
|
"kind": "skinned",
|
||||||
|
"fps": 24.0,
|
||||||
|
"objects": 3,
|
||||||
|
"meshes": {
|
||||||
|
"SchlackenwachtBody_LOD0": {
|
||||||
|
"mesh": "SchlackenwachtBody_LOD0",
|
||||||
|
"triangles": 20145,
|
||||||
|
"vertices": 23967,
|
||||||
|
"ngons": 0,
|
||||||
|
"materials": [
|
||||||
|
"AI_Schlackenwacht"
|
||||||
|
],
|
||||||
|
"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": [
|
||||||
|
-0.7712,
|
||||||
|
-0.0,
|
||||||
|
-0.3494
|
||||||
|
],
|
||||||
|
"max": [
|
||||||
|
0.7719,
|
||||||
|
1.35,
|
||||||
|
0.3443
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SchlackenwachtBody_LOD1": {
|
||||||
|
"mesh": "SchlackenwachtBody_LOD1",
|
||||||
|
"triangles": 4997,
|
||||||
|
"vertices": 2505,
|
||||||
|
"ngons": 0,
|
||||||
|
"materials": [
|
||||||
|
"AI_Schlackenwacht"
|
||||||
|
],
|
||||||
|
"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": [
|
||||||
|
-0.7708,
|
||||||
|
0.0013,
|
||||||
|
-0.3483
|
||||||
|
],
|
||||||
|
"max": [
|
||||||
|
0.7704,
|
||||||
|
1.3492,
|
||||||
|
0.3448
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"armatures": {
|
||||||
|
"SchlackenwachtRig": {
|
||||||
|
"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": [
|
||||||
|
-0.7712,
|
||||||
|
-0.0,
|
||||||
|
-0.3494
|
||||||
|
],
|
||||||
|
"max": [
|
||||||
|
0.7719,
|
||||||
|
1.35,
|
||||||
|
0.3448
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"clips": [
|
||||||
|
{
|
||||||
|
"name": "ability",
|
||||||
|
"frames": [
|
||||||
|
0.0,
|
||||||
|
29.0
|
||||||
|
],
|
||||||
|
"seconds": 1.2083,
|
||||||
|
"loop": false,
|
||||||
|
"contact_seconds": 0.7292
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "attack_a",
|
||||||
|
"frames": [
|
||||||
|
0.0,
|
||||||
|
25.0
|
||||||
|
],
|
||||||
|
"seconds": 1.0417,
|
||||||
|
"loop": false,
|
||||||
|
"contact_seconds": 0.4051
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "attack_b",
|
||||||
|
"frames": [
|
||||||
|
0.0,
|
||||||
|
24.0
|
||||||
|
],
|
||||||
|
"seconds": 1.0,
|
||||||
|
"loop": false,
|
||||||
|
"contact_seconds": 0.4737
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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": 25142,
|
||||||
|
"bones": 25,
|
||||||
|
"clips": [
|
||||||
|
"idle",
|
||||||
|
"walk",
|
||||||
|
"attack_a",
|
||||||
|
"attack_b",
|
||||||
|
"hit",
|
||||||
|
"ability",
|
||||||
|
"death"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"meshes_with_ngons": {},
|
||||||
|
"meshes_without_uv": [],
|
||||||
|
"triangles": 25142,
|
||||||
|
"fbx": "Assets/Luneraria/Art/Characters/schlackenwacht.fbx",
|
||||||
|
"fbx_bytes": 3268972,
|
||||||
|
"ok": true
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 0f53dcc00c3204eac85646a59078a8ab
|
||||||
|
TextScriptImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
BIN
Assets/Luneraria/Art/Characters/schlackenwacht.fbx
Normal file
337
Assets/Luneraria/Art/Characters/schlackenwacht.fbx.meta
Normal file
|
|
@ -0,0 +1,337 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 2a144fe945cf34c34a772171ca5034b1
|
||||||
|
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: SchlackenwachtRig|ability
|
||||||
|
internalID: -2819347402722904307
|
||||||
|
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: SchlackenwachtRig|attack_a
|
||||||
|
internalID: -2160549880674491451
|
||||||
|
firstFrame: 0
|
||||||
|
lastFrame: 25
|
||||||
|
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.38888356
|
||||||
|
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: SchlackenwachtRig|attack_b
|
||||||
|
internalID: 1691568016936313399
|
||||||
|
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.4737
|
||||||
|
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: SchlackenwachtRig|death
|
||||||
|
internalID: -3430208740213216668
|
||||||
|
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: SchlackenwachtRig|hit
|
||||||
|
internalID: 8885316420147508437
|
||||||
|
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: SchlackenwachtRig|idle
|
||||||
|
internalID: -8816640959135819507
|
||||||
|
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: SchlackenwachtRig|walk
|
||||||
|
internalID: 8832924848793141138
|
||||||
|
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/schlackenwacht.controller
Normal file
|
|
@ -0,0 +1,246 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1102 &-8838160751718707870
|
||||||
|
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: 8885316420147508437, guid: 2a144fe945cf34c34a772171ca5034b1, type: 3}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
--- !u!1107 &-8381089576625902205
|
||||||
|
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: 3750168924572829539}
|
||||||
|
m_Position: {x: 200, y: 0, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: 8254581820847042861}
|
||||||
|
m_Position: {x: 235, y: 65, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: -3559729466661274620}
|
||||||
|
m_Position: {x: 270, y: 130, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: -2041191233393395951}
|
||||||
|
m_Position: {x: 305, y: 195, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: 3378992907968692340}
|
||||||
|
m_Position: {x: 340, y: 260, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: -8838160751718707870}
|
||||||
|
m_Position: {x: 375, y: 325, z: 0}
|
||||||
|
- serializedVersion: 1
|
||||||
|
m_State: {fileID: -1938754265435173914}
|
||||||
|
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: 3750168924572829539}
|
||||||
|
--- !u!1102 &-3559729466661274620
|
||||||
|
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: -2160549880674491451, guid: 2a144fe945cf34c34a772171ca5034b1, type: 3}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
--- !u!1102 &-2041191233393395951
|
||||||
|
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: 1691568016936313399, guid: 2a144fe945cf34c34a772171ca5034b1, type: 3}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
--- !u!1102 &-1938754265435173914
|
||||||
|
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: 8832924848793141138, guid: 2a144fe945cf34c34a772171ca5034b1, 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: schlackenwacht
|
||||||
|
serializedVersion: 5
|
||||||
|
m_AnimatorParameters: []
|
||||||
|
m_AnimatorLayers:
|
||||||
|
- serializedVersion: 5
|
||||||
|
m_Name: Base Layer
|
||||||
|
m_StateMachine: {fileID: -8381089576625902205}
|
||||||
|
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 &3378992907968692340
|
||||||
|
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: -3430208740213216668, guid: 2a144fe945cf34c34a772171ca5034b1, type: 3}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
--- !u!1102 &3750168924572829539
|
||||||
|
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: -8816640959135819507, guid: 2a144fe945cf34c34a772171ca5034b1, type: 3}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
--- !u!1102 &8254581820847042861
|
||||||
|
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: -2819347402722904307, guid: 2a144fe945cf34c34a772171ca5034b1, type: 3}
|
||||||
|
m_Tag:
|
||||||
|
m_SpeedParameter:
|
||||||
|
m_MirrorParameter:
|
||||||
|
m_CycleOffsetParameter:
|
||||||
|
m_TimeParameter:
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 34bd3ea42721340d7a9c58fa3585219a
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 9100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
BIN
Assets/Luneraria/Art/Textures/ai-schlackenwacht-albedo-2k.png
Normal file
|
After Width: | Height: | Size: 7.7 MiB |
|
|
@ -0,0 +1,117 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: d1886f66889cc44a48f85e8a32d9a14b
|
||||||
|
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-schlackenwacht-normal-2k.png
Normal file
|
After Width: | Height: | Size: 6.1 MiB |
|
|
@ -0,0 +1,117 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: ede0dc2b3ec3b4414aab31f3686c3a13
|
||||||
|
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-schlackenwacht-orm-2k.png
Normal file
|
After Width: | Height: | Size: 4 MiB |
117
Assets/Luneraria/Art/Textures/ai-schlackenwacht-orm-2k.png.meta
Normal file
|
|
@ -0,0 +1,117 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: bd929244b68e34f2982ed76fd82236e2
|
||||||
|
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:
|
||||||
|
|
@ -189,6 +189,10 @@ MonoBehaviour:
|
||||||
Neutral: {fileID: 2100000, guid: d45c0cff6703140e089ea48ed9871dc5, type: 2}
|
Neutral: {fileID: 2100000, guid: d45c0cff6703140e089ea48ed9871dc5, type: 2}
|
||||||
Blau: {fileID: 0}
|
Blau: {fileID: 0}
|
||||||
Rot: {fileID: 0}
|
Rot: {fileID: 0}
|
||||||
|
- Key: AI_Schlackenwacht
|
||||||
|
Neutral: {fileID: 2100000, guid: 93a8cf8007ee9440bb5da876affb71ff, type: 2}
|
||||||
|
Blau: {fileID: 0}
|
||||||
|
Rot: {fileID: 0}
|
||||||
- Key: BB_Basalt
|
- Key: BB_Basalt
|
||||||
Neutral: {fileID: 2100000, guid: 37c64b9b93d784d8ba407e7c9682aae4, type: 2}
|
Neutral: {fileID: 2100000, guid: 37c64b9b93d784d8ba407e7c9682aae4, type: 2}
|
||||||
Blau: {fileID: 0}
|
Blau: {fileID: 0}
|
||||||
|
|
|
||||||
68
Assets/Luneraria/Materials/Units/AI_Schlackenwacht.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_Schlackenwacht
|
||||||
|
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: d1886f66889cc44a48f85e8a32d9a14b, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _NormalMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: ede0dc2b3ec3b4414aab31f3686c3a13, type: 3}
|
||||||
|
m_Scale: {x: 1, y: 1}
|
||||||
|
m_Offset: {x: 0, y: 0}
|
||||||
|
- _OrmMap:
|
||||||
|
m_Texture: {fileID: 2800000, guid: bd929244b68e34f2982ed76fd82236e2, 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
|
||||||
|
|
@ -0,0 +1,8 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 93a8cf8007ee9440bb5da876affb71ff
|
||||||
|
NativeFormatImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
mainObjectFileID: 2100000
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -59,8 +59,8 @@ MonoBehaviour:
|
||||||
Prefab: {fileID: 919132149155446097, guid: 0c290acf657e14113bb202a836b03242, type: 3}
|
Prefab: {fileID: 919132149155446097, guid: 0c290acf657e14113bb202a836b03242, type: 3}
|
||||||
Controller: {fileID: 9100000, guid: c833b53f8efae4cbe8d914eebcba8ceb, type: 2}
|
Controller: {fileID: 9100000, guid: c833b53f8efae4cbe8d914eebcba8ceb, type: 2}
|
||||||
- Id: g03
|
- Id: g03
|
||||||
Prefab: {fileID: 919132149155446097, guid: 183642226901e400bb094ee9249d9cd2, type: 3}
|
Prefab: {fileID: 919132149155446097, guid: 2a144fe945cf34c34a772171ca5034b1, type: 3}
|
||||||
Controller: {fileID: 0}
|
Controller: {fileID: 9100000, guid: 34bd3ea42721340d7a9c58fa3585219a, type: 2}
|
||||||
- Id: g04
|
- Id: g04
|
||||||
Prefab: {fileID: 919132149155446097, guid: 841c5b5333cc141a6bde6c22d3dc2884, type: 3}
|
Prefab: {fileID: 919132149155446097, guid: 841c5b5333cc141a6bde6c22d3dc2884, type: 3}
|
||||||
Controller: {fileID: 9100000, guid: ec68488f0997c4a8185eea30724740ff, type: 2}
|
Controller: {fileID: 9100000, guid: ec68488f0997c4a8185eea30724740ff, type: 2}
|
||||||
|
|
@ -193,6 +193,9 @@ MonoBehaviour:
|
||||||
- Id: schlackenklaue
|
- Id: schlackenklaue
|
||||||
Prefab: {fileID: 919132149155446097, guid: 0c290acf657e14113bb202a836b03242, type: 3}
|
Prefab: {fileID: 919132149155446097, guid: 0c290acf657e14113bb202a836b03242, type: 3}
|
||||||
Controller: {fileID: 9100000, guid: c833b53f8efae4cbe8d914eebcba8ceb, type: 2}
|
Controller: {fileID: 9100000, guid: c833b53f8efae4cbe8d914eebcba8ceb, type: 2}
|
||||||
|
- Id: schlackenwacht
|
||||||
|
Prefab: {fileID: 919132149155446097, guid: 2a144fe945cf34c34a772171ca5034b1, type: 3}
|
||||||
|
Controller: {fileID: 9100000, guid: 34bd3ea42721340d7a9c58fa3585219a, type: 2}
|
||||||
- Id: schlundkrone
|
- Id: schlundkrone
|
||||||
Prefab: {fileID: 919132149155446097, guid: b2dd57798499c4b7b8698ee56e676c45, type: 3}
|
Prefab: {fileID: 919132149155446097, guid: b2dd57798499c4b7b8698ee56e676c45, type: 3}
|
||||||
Controller: {fileID: 9100000, guid: 55d11e29be0134459bf261f2dad38f33, type: 2}
|
Controller: {fileID: 9100000, guid: 55d11e29be0134459bf261f2dad38f33, type: 2}
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ namespace Luneraria.UI.Tests
|
||||||
/// the preview rebuild. A capture tool, not part of the suite:
|
/// the preview rebuild. A capture tool, not part of the suite:
|
||||||
/// -testFilter "Luneraria.UI.Tests.FigureViewsTests"; LUNE_EVIDENCE names the folder below
|
/// -testFilter "Luneraria.UI.Tests.FigureViewsTests"; LUNE_EVIDENCE names the folder below
|
||||||
/// docs/port/screenshots (default u5.5/spiel). LUNE_FIGURE names another Glutpakt troop
|
/// docs/port/screenshots (default u5.5/spiel). LUNE_FIGURE names another Glutpakt troop
|
||||||
/// (default g01); an upgraded troop (g02) is bought as its base and upgraded.
|
/// (default g01); an upgraded troop (g02, g04, ...) is bought as its base and upgraded.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Explicit("Bildwerkzeug: nur gezielt per -testFilter")]
|
[Explicit("Bildwerkzeug: nur gezielt per -testFilter")]
|
||||||
public sealed class FigureViewsTests
|
public sealed class FigureViewsTests
|
||||||
|
|
@ -57,7 +57,9 @@ namespace Luneraria.UI.Tests
|
||||||
string figure = Environment.GetEnvironmentVariable("LUNE_FIGURE");
|
string figure = Environment.GetEnvironmentVariable("LUNE_FIGURE");
|
||||||
if (string.IsNullOrEmpty(figure))
|
if (string.IsNullOrEmpty(figure))
|
||||||
figure = "g01";
|
figure = "g01";
|
||||||
bool upgrade = figure != "g01";
|
// An upgraded troop has a base troop whose upgrade it is.
|
||||||
|
string baseId = ContentData.Units.Keys.FirstOrDefault(id => DataCatalog.UpgradeOf(id) == figure);
|
||||||
|
bool upgrade = baseId != null;
|
||||||
var s = new HudSession();
|
var s = new HudSession();
|
||||||
yield return s.Open(1920, 1080, seed: 4, bunds: Bunds);
|
yield return s.Open(1920, 1080, seed: 4, bunds: Bunds);
|
||||||
s.Match.RoundNumber = 3;
|
s.Match.RoundNumber = 3;
|
||||||
|
|
@ -65,10 +67,10 @@ namespace Luneraria.UI.Tests
|
||||||
yield return s.Starter();
|
yield return s.Starter();
|
||||||
s.Leave();
|
s.Leave();
|
||||||
for (int i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
Send(s, Command.Buy("g01", s.Me.Lane));
|
Send(s, Command.Buy(upgrade ? baseId : figure, s.Me.Lane));
|
||||||
if (upgrade)
|
if (upgrade)
|
||||||
{
|
{
|
||||||
foreach (RosterEntry entry in s.Me.Draft.Roster.Where(e => e.TypeId == "g01").ToList())
|
foreach (RosterEntry entry in s.Me.Draft.Roster.Where(e => e.TypeId == baseId).ToList())
|
||||||
Send(s, Command.Upgrade(entry.Uid));
|
Send(s, Command.Upgrade(entry.Uid));
|
||||||
}
|
}
|
||||||
yield return new WaitForSecondsRealtime(.4f);
|
yield return new WaitForSecondsRealtime(.4f);
|
||||||
|
|
|
||||||
BIN
assets-source/meshy/g03/schlackenwacht-animationen.glb
Normal file
BIN
assets-source/meshy/g03/schlackenwacht-konzept.png
Normal file
|
After Width: | Height: | Size: 1.4 MiB |
BIN
assets-source/meshy/g03/schlackenwacht-skelett.glb
Normal file
|
|
@ -152,6 +152,17 @@ Hinweis: Die Projektdateien des .NET-Harness (`tools/dotnet/*/*.csproj`) fehlten
|
||||||
| Bild | `screenshots/u5.5-g02/` |
|
| Bild | `screenshots/u5.5-g02/` |
|
||||||
| Commits | `luneraria/u5.5-g02` |
|
| Commits | `luneraria/u5.5-g02` |
|
||||||
|
|
||||||
|
## U5.5 · Schlackenwacht (g03)
|
||||||
|
|
||||||
|
| 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 `g03` mit Lane-Fassung, 68 Credits |
|
||||||
|
| Leistung | Stresstest 35 Schlackenwachten: Mid 161,9 → 148,5 fps, Karte 124,5 → 124,5 fps. Rohdaten `logs/u5.5-g03/` |
|
||||||
|
| Bild | `screenshots/u5.5-g03/` |
|
||||||
|
| Commits | `luneraria/u5.5-g03` |
|
||||||
|
|
||||||
## Ausblick
|
## 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.
|
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
|
# Port-Status · Champions of Luneraria in Unity
|
||||||
|
|
||||||
Stand: 9. Oktober 2026 (U5.5, zweite Figur).
|
Stand: 9. Oktober 2026 (U5.5, dritte 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.
|
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) |
|
| 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) |
|
| 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) |
|
| 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 | [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 | [U5-VISUAL.md](U5-VISUAL.md) |
|
||||||
|
|
||||||
QA je Meilenstein: [PORT-QA.md](PORT-QA.md).
|
QA je Meilenstein: [PORT-QA.md](PORT-QA.md).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -476,3 +476,21 @@ Wie beim Kohlenbeißer bleibt in der Nahansicht der Animator als Mehrkosten (Hau
|
||||||
### Repository
|
### Repository
|
||||||
|
|
||||||
Je Figur rund 40 MB: Lieferungen 21 MB (`assets-source/meshy/g02/`), Texturen 18 MB, FBX 3 MB. Für die übrigen Figuren ist Git LFS weiter offen.
|
Je Figur rund 40 MB: Lieferungen 21 MB (`assets-source/meshy/g02/`), Texturen 18 MB, FBX 3 MB. Für die übrigen Figuren ist Git LFS weiter offen.
|
||||||
|
|
||||||
|
## U5.5 · Dritte Figur: Schlackenwacht (g03)
|
||||||
|
|
||||||
|
Stand 9. Oktober 2026, Zweig `luneraria/u5.5-g03` (auf `luneraria/u5.5-g02`). Der Tank der Glutpakt, gleicher Ablauf wie bei der Schlackenklaue: ein Konzeptbild aus Icon, Phase-4-Bild und Kohlenbeißer-Konzept als Stilvorlage (12 Credits), Modell (30), Skelett mit 1,35 m (5), sieben Bewegungen (21), zusammen **68 Credits**.
|
||||||
|
|
||||||
|
- Entwurf: Der ganze Oberkörper ist eine Basalt-Schildplatte mit Goldrahmen und einem glühenden Lavaschlitz, ohne eigenen Kopf; große Steinfäuste mit Goldbändern. Das Auto-Rigging kam mit der kopflosen Form zurecht.
|
||||||
|
- `schlackenwacht.fbx`: 20.145 + 4.997 Dreiecke, 25 Knochen; Export 23 Prüfungen, bytegleich wiederholbar. Glut nur im Schlitz (0,9 % der Textur). Manifest `"replaces": "g03"`.
|
||||||
|
- `FigureViewsTests` (`LUNE_FIGURE`) erkennt jetzt selbst, ob eine Truppe gekauft oder aus ihrer Grundform aufgewertet wird.
|
||||||
|
|
||||||
|
| 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 35 Schlackenwachten, je drei Läufe (`logs/u5.5-g03/`): Mid-Lane nah 161,9 → 148,5 fps (−8 %), Karte 124,5 → 124,5 fps (0 %). Bilder: `screenshots/u5.5-g03/` (Figur, vorher/nachher im Spiel, Übersichten, Kampfmomente).
|
||||||
|
|
||||||
|
Bekannt: In der Leerlaufhaltung neigt sich die Schildplatte mit der Kopfbewegung der Bibliotheksbewegung leicht nach vorn.
|
||||||
|
|
|
||||||
|
|
@ -1972,6 +1972,173 @@
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "schlackenwacht",
|
||||||
|
"kind": "skinned",
|
||||||
|
"ok": true,
|
||||||
|
"checks": [
|
||||||
|
{
|
||||||
|
"check": "blender_checks_passed",
|
||||||
|
"ok": true,
|
||||||
|
"detail": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "imported",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "\"Assets/Luneraria/Art/Characters/schlackenwacht.fbx\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "import_rules_applied",
|
||||||
|
"ok": true,
|
||||||
|
"detail": ""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "root_transform_identity",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "\"schlackenwacht 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": "\"25142 unity / 25142 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 (-0.771, 0.000, -0.349) (0.772, 1.350, 0.345)\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "skinned_mesh",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "bone_names SchlackenwachtBody_LOD0",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "[]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "root_bone SchlackenwachtBody_LOD0",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "\"Root\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "bone_names SchlackenwachtBody_LOD1",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "[]"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "root_bone SchlackenwachtBody_LOD1",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "\"Root\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "generic_avatar",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "\"schlackenwachtAvatar\""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"check": "clips",
|
||||||
|
"ok": true,
|
||||||
|
"detail": "[]"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"facts": {
|
||||||
|
"triangles": 25142,
|
||||||
|
"renderers": 2,
|
||||||
|
"meshes_without_uv_and_tangents": 0,
|
||||||
|
"degenerate_triangles_dropped": 0,
|
||||||
|
"bounds_min": [
|
||||||
|
-0.771205068,
|
||||||
|
-2.109984E-07,
|
||||||
|
-0.349420339
|
||||||
|
],
|
||||||
|
"bounds_max": [
|
||||||
|
0.77192533,
|
||||||
|
1.35,
|
||||||
|
0.3447837
|
||||||
|
],
|
||||||
|
"clips": [
|
||||||
|
{
|
||||||
|
"name": "ability",
|
||||||
|
"length": 1.20833337,
|
||||||
|
"loop": false,
|
||||||
|
"events": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "attack_a",
|
||||||
|
"length": 1.04166663,
|
||||||
|
"loop": false,
|
||||||
|
"events": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "attack_b",
|
||||||
|
"length": 1.0,
|
||||||
|
"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": "schlundkrone",
|
"id": "schlundkrone",
|
||||||
"kind": "skinned",
|
"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 g03 x36, speed 1x, measured after 10 s of combat",
|
||||||
|
// moving units at the start of the first window: g03 35, w04 14, e04 12, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||||
|
"windows": [
|
||||||
|
{"view": "overview (zoom 64)", "frames": 2448, "fps": 122.3, "frame_ms_avg": 8.17, "frame_ms_median": 3.40, "frame_ms_p95": 24.60, "frame_ms_p99": 32.39, "frame_ms_max": 45.40, "frames_over_16_7_ms": 418, "of_them_with_simulation_step": 33, "gc_collections": 22, "simulation_ms_per_frame": 0.085, "views_ms_per_frame": 0.220, "ui_ms_per_frame": 0.077, "units_alive_max": 97},
|
||||||
|
// timings overview (zoom 64): main thread avg 2.64 / median 2.52 / p95 3.69 ms, render thread avg 1.89 / median 1.87 / p95 2.30 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.53 / median 0.22 / p95 21.95 ms
|
||||||
|
{"view": "mid lane close (zoom 22)", "frames": 1478, "fps": 147.3, "frame_ms_avg": 6.79, "frame_ms_median": 3.00, "frame_ms_p95": 22.06, "frame_ms_p99": 30.91, "frame_ms_max": 38.00, "frames_over_16_7_ms": 169, "of_them_with_simulation_step": 18, "gc_collections": 10, "simulation_ms_per_frame": 0.047, "views_ms_per_frame": 0.190, "ui_ms_per_frame": 0.061, "units_alive_max": 46}
|
||||||
|
// timings mid lane close (zoom 22): main thread avg 2.05 / median 1.98 / p95 2.99 ms, render thread avg 1.41 / median 1.41 / p95 1.64 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.73 / median 0.19 / p95 20.06 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 g03 x36, speed 1x, measured after 10 s of combat",
|
||||||
|
// moving units at the start of the first window: g03 35, w04 14, e04 12, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||||
|
"windows": [
|
||||||
|
{"view": "overview (zoom 64)", "frames": 2516, "fps": 125.8, "frame_ms_avg": 7.95, "frame_ms_median": 3.19, "frame_ms_p95": 26.01, "frame_ms_p99": 32.62, "frame_ms_max": 38.90, "frames_over_16_7_ms": 432, "of_them_with_simulation_step": 34, "gc_collections": 23, "simulation_ms_per_frame": 0.083, "views_ms_per_frame": 0.206, "ui_ms_per_frame": 0.073, "units_alive_max": 97},
|
||||||
|
// timings overview (zoom 64): main thread avg 2.53 / median 2.41 / p95 3.50 ms, render thread avg 1.85 / median 1.83 / p95 2.21 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.40 / median 0.22 / p95 23.44 ms
|
||||||
|
{"view": "mid lane close (zoom 22)", "frames": 1489, "fps": 148.8, "frame_ms_avg": 6.72, "frame_ms_median": 3.01, "frame_ms_p95": 22.61, "frame_ms_p99": 30.49, "frame_ms_max": 37.31, "frames_over_16_7_ms": 167, "of_them_with_simulation_step": 11, "gc_collections": 9, "simulation_ms_per_frame": 0.047, "views_ms_per_frame": 0.189, "ui_ms_per_frame": 0.058, "units_alive_max": 46}
|
||||||
|
// timings mid lane close (zoom 22): main thread avg 2.03 / median 1.92 / p95 2.89 ms, render thread avg 1.40 / median 1.40 / p95 1.61 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.70 / median 0.28 / p95 20.49 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 g03 x36, speed 1x, measured after 10 s of combat",
|
||||||
|
// moving units at the start of the first window: g03 35, w04 14, e04 12, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||||
|
"windows": [
|
||||||
|
{"view": "overview (zoom 64)", "frames": 2512, "fps": 125.5, "frame_ms_avg": 7.97, "frame_ms_median": 3.39, "frame_ms_p95": 25.59, "frame_ms_p99": 33.29, "frame_ms_max": 42.51, "frames_over_16_7_ms": 430, "of_them_with_simulation_step": 43, "gc_collections": 22, "simulation_ms_per_frame": 0.085, "views_ms_per_frame": 0.211, "ui_ms_per_frame": 0.074, "units_alive_max": 97},
|
||||||
|
// timings overview (zoom 64): main thread avg 2.57 / median 2.44 / p95 3.63 ms, render thread avg 1.86 / median 1.83 / p95 2.24 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.39 / median 0.25 / p95 23.14 ms
|
||||||
|
{"view": "mid lane close (zoom 22)", "frames": 1495, "fps": 149.5, "frame_ms_avg": 6.69, "frame_ms_median": 2.91, "frame_ms_p95": 22.99, "frame_ms_p99": 30.00, "frame_ms_max": 36.51, "frames_over_16_7_ms": 163, "of_them_with_simulation_step": 16, "gc_collections": 10, "simulation_ms_per_frame": 0.047, "views_ms_per_frame": 0.191, "ui_ms_per_frame": 0.060, "units_alive_max": 46}
|
||||||
|
// timings mid lane close (zoom 22): main thread avg 2.05 / median 1.97 / p95 2.90 ms, render thread avg 1.42 / median 1.41 / p95 1.64 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.65 / median 0.19 / p95 21.06 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 g03 x36, speed 1x, measured after 10 s of combat",
|
||||||
|
// moving units at the start of the first window: g03 35, w04 14, e04 12, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||||
|
"windows": [
|
||||||
|
{"view": "overview (zoom 64)", "frames": 2476, "fps": 123.8, "frame_ms_avg": 8.08, "frame_ms_median": 3.30, "frame_ms_p95": 24.91, "frame_ms_p99": 32.32, "frame_ms_max": 48.59, "frames_over_16_7_ms": 414, "of_them_with_simulation_step": 25, "gc_collections": 22, "simulation_ms_per_frame": 0.087, "views_ms_per_frame": 0.210, "ui_ms_per_frame": 0.075, "units_alive_max": 97},
|
||||||
|
// timings overview (zoom 64): main thread avg 2.51 / median 2.38 / p95 3.66 ms, render thread avg 1.94 / median 1.90 / p95 2.40 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.58 / median 0.37 / p95 22.63 ms
|
||||||
|
{"view": "mid lane close (zoom 22)", "frames": 1580, "fps": 158.0, "frame_ms_avg": 6.33, "frame_ms_median": 2.91, "frame_ms_p95": 21.41, "frame_ms_p99": 28.31, "frame_ms_max": 39.58, "frames_over_16_7_ms": 151, "of_them_with_simulation_step": 11, "gc_collections": 10, "simulation_ms_per_frame": 0.048, "views_ms_per_frame": 0.198, "ui_ms_per_frame": 0.061, "units_alive_max": 46}
|
||||||
|
// timings mid lane close (zoom 22): main thread avg 1.97 / median 1.82 / p95 3.10 ms, render thread avg 1.39 / median 1.37 / p95 1.67 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.34 / median 0.26 / p95 18.91 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 g03 x36, speed 1x, measured after 10 s of combat",
|
||||||
|
// moving units at the start of the first window: g03 35, w04 14, e04 12, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||||
|
"windows": [
|
||||||
|
{"view": "overview (zoom 64)", "frames": 2498, "fps": 124.9, "frame_ms_avg": 8.01, "frame_ms_median": 3.21, "frame_ms_p95": 26.01, "frame_ms_p99": 33.11, "frame_ms_max": 41.71, "frames_over_16_7_ms": 442, "of_them_with_simulation_step": 39, "gc_collections": 22, "simulation_ms_per_frame": 0.082, "views_ms_per_frame": 0.201, "ui_ms_per_frame": 0.071, "units_alive_max": 97},
|
||||||
|
// timings overview (zoom 64): main thread avg 2.41 / median 2.27 / p95 3.49 ms, render thread avg 1.88 / median 1.83 / p95 2.40 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.60 / median 0.40 / p95 23.74 ms
|
||||||
|
{"view": "mid lane close (zoom 22)", "frames": 1651, "fps": 164.9, "frame_ms_avg": 6.06, "frame_ms_median": 2.78, "frame_ms_p95": 20.42, "frame_ms_p99": 27.80, "frame_ms_max": 36.00, "frames_over_16_7_ms": 155, "of_them_with_simulation_step": 11, "gc_collections": 10, "simulation_ms_per_frame": 0.045, "views_ms_per_frame": 0.178, "ui_ms_per_frame": 0.050, "units_alive_max": 46}
|
||||||
|
// timings mid lane close (zoom 22): main thread avg 1.74 / median 1.67 / p95 2.59 ms, render thread avg 1.32 / median 1.31 / p95 1.53 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.32 / median 0.64 / p95 18.73 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 g03 x36, speed 1x, measured after 10 s of combat",
|
||||||
|
// moving units at the start of the first window: g03 35, w04 14, e04 12, w06 11, w02 7, e01 4, e02 4, w08 4, w10 4, g05 2
|
||||||
|
"windows": [
|
||||||
|
{"view": "overview (zoom 64)", "frames": 2495, "fps": 124.7, "frame_ms_avg": 8.02, "frame_ms_median": 3.38, "frame_ms_p95": 26.12, "frame_ms_p99": 32.49, "frame_ms_max": 47.91, "frames_over_16_7_ms": 431, "of_them_with_simulation_step": 36, "gc_collections": 22, "simulation_ms_per_frame": 0.086, "views_ms_per_frame": 0.203, "ui_ms_per_frame": 0.075, "units_alive_max": 97},
|
||||||
|
// timings overview (zoom 64): main thread avg 2.44 / median 2.29 / p95 3.63 ms, render thread avg 1.91 / median 1.87 / p95 2.40 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 5.57 / median 0.42 / p95 23.79 ms
|
||||||
|
{"view": "mid lane close (zoom 22)", "frames": 1628, "fps": 162.8, "frame_ms_avg": 6.14, "frame_ms_median": 2.85, "frame_ms_p95": 20.70, "frame_ms_p99": 29.81, "frame_ms_max": 38.51, "frames_over_16_7_ms": 141, "of_them_with_simulation_step": 15, "gc_collections": 10, "simulation_ms_per_frame": 0.048, "views_ms_per_frame": 0.186, "ui_ms_per_frame": 0.055, "units_alive_max": 46}
|
||||||
|
// timings mid lane close (zoom 22): main thread avg 1.86 / median 1.77 / p95 2.79 ms, render thread avg 1.32 / median 1.31 / p95 1.54 ms, gpu avg 0.00 / median 0.00 / p95 0.00 ms, present wait avg 4.28 / median 0.50 / p95 18.84 ms
|
||||||
|
]
|
||||||
|
}
|
||||||
11
docs/port/logs/u5.5-g03/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-g03/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.187, "measured_fps": 30.015, "max_steps_per_frame": 17, "steps": 12690, "hash": "DCE95C96556F3A1A", "winner": 1, "same_as_core": true},
|
||||||
|
{"target": "60 fps", "frames": 1625, "seconds": 27.083, "measured_fps": 60.001, "max_steps_per_frame": 16, "steps": 12690, "hash": "DCE95C96556F3A1A", "winner": 1, "same_as_core": true},
|
||||||
|
{"target": "120 fps", "frames": 3225, "seconds": 26.903, "measured_fps": 119.874, "max_steps_per_frame": 6, "steps": 12690, "hash": "DCE95C96556F3A1A", "winner": 1, "same_as_core": true},
|
||||||
|
{"target": "unlimited", "frames": 85071, "seconds": 26.829, "measured_fps": 3170.854, "max_steps_per_frame": 6, "steps": 12690, "hash": "DCE95C96556F3A1A", "winner": 1, "same_as_core": true}
|
||||||
|
]
|
||||||
|
}
|
||||||
16
docs/port/logs/u5.5-g03/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": 51551, "fps": 2577.535, "frame_ms_avg": 0.388, "frame_ms_p95": 0.415, "simulation_ms_per_frame": 0.004, "views_ms_per_frame": 0.129, "units_alive_max": 116}}
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
docs/port/screenshots/u5.5-g03/01-runde1-aufmarsch.jpg
Normal file
|
After Width: | Height: | Size: 595 KiB |
BIN
docs/port/screenshots/u5.5-g03/02-runde1-mid-kampf.jpg
Normal file
|
After Width: | Height: | Size: 610 KiB |
BIN
docs/port/screenshots/u5.5-g03/03-turm-faellt.jpg
Normal file
|
After Width: | Height: | Size: 543 KiB |
BIN
docs/port/screenshots/u5.5-g03/04-turm-ruine.jpg
Normal file
|
After Width: | Height: | Size: 535 KiB |
BIN
docs/port/screenshots/u5.5-g03/05-grotte-bosskampf.jpg
Normal file
|
After Width: | Height: | Size: 609 KiB |
BIN
docs/port/screenshots/u5.5-g03/06-held-kaempft.jpg
Normal file
|
After Width: | Height: | Size: 624 KiB |
BIN
docs/port/screenshots/u5.5-g03/07-boss-auf-der-lane.jpg
Normal file
|
After Width: | Height: | Size: 577 KiB |
BIN
docs/port/screenshots/u5.5-g03/08-ancient-faellt.jpg
Normal file
|
After Width: | Height: | Size: 623 KiB |
BIN
docs/port/screenshots/u5.5-g03/09-ancient-ruine.jpg
Normal file
|
After Width: | Height: | Size: 623 KiB |
BIN
docs/port/screenshots/u5.5-g03/10-ende-uebersicht.jpg
Normal file
|
After Width: | Height: | Size: 435 KiB |
BIN
docs/port/screenshots/u5.5-g03/11-welle21-uebersicht.jpg
Normal file
|
After Width: | Height: | Size: 592 KiB |
BIN
docs/port/screenshots/u5.5-g03/12-welle21-kampf.jpg
Normal file
|
After Width: | Height: | Size: 648 KiB |
BIN
docs/port/screenshots/u5.5-g03/13-ancient-rot-faellt.jpg
Normal file
|
After Width: | Height: | Size: 601 KiB |
BIN
docs/port/screenshots/u5.5-g03/14-welle-ende.jpg
Normal file
|
After Width: | Height: | Size: 580 KiB |
BIN
docs/port/screenshots/u5.5-g03/Characters.jpg
Normal file
|
After Width: | Height: | Size: 136 KiB |
BIN
docs/port/screenshots/u5.5-g03/Units.jpg
Normal file
|
After Width: | Height: | Size: 717 KiB |
BIN
docs/port/screenshots/u5.5-g03/figur/g03.jpg
Normal file
|
After Width: | Height: | Size: 146 KiB |
BIN
docs/port/screenshots/u5.5-g03/figur/schlackenwacht-attack_a.jpg
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
docs/port/screenshots/u5.5-g03/figur/schlackenwacht.jpg
Normal file
|
After Width: | Height: | Size: 117 KiB |
|
After Width: | Height: | Size: 718 KiB |
BIN
docs/port/screenshots/u5.5-g03/spiel-nachher/02-portraet.jpg
Normal file
|
After Width: | Height: | Size: 712 KiB |
BIN
docs/port/screenshots/u5.5-g03/spiel-nachher/03-kampf-nah.jpg
Normal file
|
After Width: | Height: | Size: 638 KiB |
BIN
docs/port/screenshots/u5.5-g03/spiel-nachher/04-kampf-lane.jpg
Normal file
|
After Width: | Height: | Size: 638 KiB |
|
After Width: | Height: | Size: 711 KiB |
BIN
docs/port/screenshots/u5.5-g03/spiel-vorher/02-portraet.jpg
Normal file
|
After Width: | Height: | Size: 707 KiB |
BIN
docs/port/screenshots/u5.5-g03/spiel-vorher/03-kampf-nah.jpg
Normal file
|
After Width: | Height: | Size: 641 KiB |
BIN
docs/port/screenshots/u5.5-g03/spiel-vorher/04-kampf-lane.jpg
Normal file
|
After Width: | Height: | Size: 641 KiB |
|
|
@ -1675,6 +1675,51 @@
|
||||||
"death"
|
"death"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"id": "schlackenwacht",
|
||||||
|
"group": "Characters",
|
||||||
|
"kind": "skinned",
|
||||||
|
"representative": "U5.5 series: Schlackenwacht (g03) from Meshy (image to 3D, auto rig, library clips)",
|
||||||
|
"source": "tools/meshy/build_figure.py",
|
||||||
|
"source_root": "unity",
|
||||||
|
"generator": {
|
||||||
|
"args": [
|
||||||
|
"tools/meshy/g03/figure.json"
|
||||||
|
],
|
||||||
|
"inputs": [
|
||||||
|
"tools/meshy/g03/figure.json",
|
||||||
|
"assets-source/meshy/g03/schlackenwacht-skelett.glb",
|
||||||
|
"assets-source/meshy/g03/schlackenwacht-animationen.glb"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"replaces": "g03",
|
||||||
|
"expect": {
|
||||||
|
"triangles": 25142,
|
||||||
|
"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": {
|
"aliases": {
|
||||||
|
|
|
||||||
10
tools/meshy/g03/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 (a fellow unit of its faction). The Schlackenwacht, a defensive guardian golem: its whole torso is one massive tall slab of black basalt shaped like a tower shield, framed and riveted with worn gold bands, with one narrow vertical slit in the center glowing with molten orange lava; no separate head, the shield slab rises above the shoulders; broad stone shoulder blocks with gold caps, thick stone arms ending in huge blocky fists wrapped in gold bands, short sturdy legs with heavy stone feet. 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_g03_schlackenwacht_icon.png",
|
||||||
|
"@tools/meshy/g03/ref-g03-phase4.png",
|
||||||
|
"@assets-source/meshy/g01/kohlenbeisser-konzept.png"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
tools/meshy/g03/02-modell.json
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"input_task_id": "01a12135-bc83-718d-9b59-f139b12a7302",
|
||||||
|
"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/g03/03-skelett.json
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"input_task_id": "01a12136-b052-7687-ac77-b38450da5a1f",
|
||||||
|
"height_meters": 1.35
|
||||||
|
}
|
||||||
4
tools/meshy/g03/04-animationen.json
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"rig_task_id": "01a12138-5b87-7290-b8b6-2d6fdb0f6598",
|
||||||
|
"action_ids": [0, 119, 219, 214, 178, 127, 189]
|
||||||
|
}
|
||||||
21
tools/meshy/g03/figure.json
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
{
|
||||||
|
"id": "schlackenwacht",
|
||||||
|
"replaces": "g03",
|
||||||
|
"rig": "assets-source/meshy/g03/schlackenwacht-skelett.glb",
|
||||||
|
"animations": "assets-source/meshy/g03/schlackenwacht-animationen.glb",
|
||||||
|
"material": "AI_Schlackenwacht",
|
||||||
|
"textures": "Assets/Luneraria/Art/Textures/ai-schlackenwacht",
|
||||||
|
"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": "Right_Hand_Sword_Slash", "frames": [0, 36], "seconds": 1.05, "contact_frame": 14},
|
||||||
|
"attack_b": {"source": "Punch_Forward_with_Both_Fists", "frames": [18, 56], "seconds": 1.0, "contact_frame": 36},
|
||||||
|
"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/g03/ref-g03-phase4.png
Normal file
|
After Width: | Height: | Size: 1 MiB |
20
tools/meshy/g03/tasks/animationen.json
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"id": "01a12138-e9c2-743c-bcda-02a95b3d7d23",
|
||||||
|
"type": "animate",
|
||||||
|
"name": "",
|
||||||
|
"status": "SUCCEEDED",
|
||||||
|
"created_at": 1791558740707,
|
||||||
|
"progress": 100,
|
||||||
|
"started_at": 1791558740714,
|
||||||
|
"finished_at": 1791558766131,
|
||||||
|
"expires_at": 1791817966131,
|
||||||
|
"task_error": null,
|
||||||
|
"result": {
|
||||||
|
"animation_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-e9c2-743c-bcda-02a95b3d7d23/output/merged_animations.glb",
|
||||||
|
"animation_fbx_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-e9c2-743c-bcda-02a95b3d7d23/output/merged_animations.fbx",
|
||||||
|
"processed_usdz_url": "",
|
||||||
|
"processed_armature_fbx_url": "",
|
||||||
|
"processed_animation_fps_fbx_url": ""
|
||||||
|
},
|
||||||
|
"consumed_credits": 21
|
||||||
|
}
|
||||||
16
tools/meshy/g03/tasks/konzept.json
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"id": "01a12135-bc83-718d-9b59-f139b12a7302",
|
||||||
|
"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 (a fellow unit of its faction). The Schlackenwacht, a defensive guardian golem: its whole torso is one massive tall slab of black basalt shaped like a tower shield, framed and riveted with worn gold bands, with one narrow vertical slit in the center glowing with molten orange lava; no separate head, the shield slab rises above the shoulders; broad stone shoulder blocks with gold caps, thick stone arms ending in huge blocky fists wrapped in gold bands, short sturdy legs with heavy stone feet. 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": 1791558534447,
|
||||||
|
"started_at": 1791558534457,
|
||||||
|
"finished_at": 1791558572131,
|
||||||
|
"expires_at": 1791817772131,
|
||||||
|
"image_urls": [
|
||||||
|
"https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/uploads/image_01a12135-bc83-718d-9b59-f139b12a7302_0.png"
|
||||||
|
],
|
||||||
|
"consumed_credits": 12
|
||||||
|
}
|
||||||
41
tools/meshy/g03/tasks/modell.json
Normal file
|
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
"id": "01a12136-b052-7687-ac77-b38450da5a1f",
|
||||||
|
"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": 1791558595152,
|
||||||
|
"progress": 100,
|
||||||
|
"started_at": 1791558595159,
|
||||||
|
"finished_at": 1791558700924,
|
||||||
|
"expires_at": 1791817900924,
|
||||||
|
"task_error": null,
|
||||||
|
"model_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/model.glb",
|
||||||
|
"model_urls": {
|
||||||
|
"glb": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/model.glb",
|
||||||
|
"pre_remeshed_glb": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/pre_remeshed_model.glb"
|
||||||
|
},
|
||||||
|
"thumbnail_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/preview.png",
|
||||||
|
"thumbnail_urls": {
|
||||||
|
"back": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/preview_back.png",
|
||||||
|
"front": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/preview_front.png",
|
||||||
|
"left": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/preview_left.png",
|
||||||
|
"right": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/preview_right.png"
|
||||||
|
},
|
||||||
|
"texture_urls": [
|
||||||
|
{
|
||||||
|
"base_color": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/texture_0.png",
|
||||||
|
"metallic": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/texture_0_metallic.png",
|
||||||
|
"roughness": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/texture_0_roughness.png",
|
||||||
|
"normal": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12136-b052-7687-ac77-b38450da5a1f/output/texture_0_normal.png"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"consumed_credits": 30
|
||||||
|
}
|
||||||
25
tools/meshy/g03/tasks/skelett.json
Normal file
|
|
@ -0,0 +1,25 @@
|
||||||
|
{
|
||||||
|
"id": "01a12138-5b87-7290-b8b6-2d6fdb0f6598",
|
||||||
|
"type": "rig",
|
||||||
|
"name": "",
|
||||||
|
"status": "SUCCEEDED",
|
||||||
|
"created_at": 1791558707349,
|
||||||
|
"progress": 100,
|
||||||
|
"started_at": 1791558707356,
|
||||||
|
"finished_at": 1791558724863,
|
||||||
|
"expires_at": 1791817924863,
|
||||||
|
"task_error": null,
|
||||||
|
"result": {
|
||||||
|
"rigged_character_fbx_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-5b87-7290-b8b6-2d6fdb0f6598/output/Character_output.fbx",
|
||||||
|
"rigged_character_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-5b87-7290-b8b6-2d6fdb0f6598/output/Character_output.glb",
|
||||||
|
"basic_animations": {
|
||||||
|
"walking_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-5b87-7290-b8b6-2d6fdb0f6598/output/Animation_Walking_withSkin.glb",
|
||||||
|
"walking_fbx_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-5b87-7290-b8b6-2d6fdb0f6598/output/Animation_Walking_withSkin.fbx",
|
||||||
|
"walking_armature_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-5b87-7290-b8b6-2d6fdb0f6598/output/Animation_Walking_withSkin_armature.glb",
|
||||||
|
"running_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-5b87-7290-b8b6-2d6fdb0f6598/output/Animation_Running_withSkin.glb",
|
||||||
|
"running_fbx_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-5b87-7290-b8b6-2d6fdb0f6598/output/Animation_Running_withSkin.fbx",
|
||||||
|
"running_armature_glb_url": "https://assets.meshy.ai/c8cdc243-64e1-4e9d-9fa1-3bd5ed731d84/tasks/01a12138-5b87-7290-b8b6-2d6fdb0f6598/output/Animation_Running_withSkin_armature.glb"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"consumed_credits": 5
|
||||||
|
}
|
||||||