U5.5-pilot Figuren: Meshy-Kohlenbeißer, Lava-Glut, GPU-Skinning

Pilot für eine generierte Figur: der Kohlenbeißer g01 kommt als Meshy-Ergebnis
in den Port und ersetzt dort das Phase-4-Modell. Eine Figur genügt, um Pipeline,
Bild und Leistung zu bewerten; Anatomie, Gesichter und Haare bleiben
Künstler-Sculpts oder lizenzierte Packs (Vorgabe vom 1. Oktober).

- Meshy-Pipeline unter tools/meshy/: API-Client (meshy.py, Ledger, Schlüssel
  nie geloggt) und Blender-Generator (build_figure.py) aus den unveränderten
  Downloads in assets-source/meshy/g01/. Export über den Manifest-Eintrag
  kohlenbeisser mit "replaces": "g01"; LuneUnitLibraryBuilder hängt die Figur
  zusätzlich unter der Godot-ID ein.
- UV-Material AI_Kohlenbeisser (Familie authored): die Karten der Figur selbst,
  Lava-Glut aus der Albedo-Alpha (Meshy 7.1 ohne Emission-Map) mit _Glow 1,25.
- Schatten ohne Normalen-Versatz (LuneShadowBias, _ShadowNormalScale 0): die
  UV-Naht-Kopien tragen geknickte Normalen; URP ApplyShadowBias zog helle
  Nähte durch den Schatten. Die Figur wirft nur mit Tiefen-Bias.
- GPU-Batched-Skinning (PlayerSettings.meshDeformation, LuneProjectSetup):
  35 Meshy-Kohlenbeißer kosteten mit CPU-Skinning rund 1 ms Haupt- und
  1,7 ms Render-Thread je Bild.
- LuneBenchmark: -luneBenchmarkRound und -luneBenchmarkArmy (Figuren-Stress).
  LuneAssetPreview: LUNE_ONLY für Vorher/Nachher, Trefferframe aus der
  Kontaktzeit des Manifests. FigureViewsTests (Explicit) für die vier
  Spielmomente der Figur.
- Tests: EditMode 29/29, PlayMode 14/14 (6 Explicit), Verify 718/0,
  Player-Selbsttest 30/30, Kerntests 457/457, Fingerabdrücke unverändert
  (DCE95C96556F3A1A, 7B8E43AEFC0D60C5).
- Leistung (A/B im selben Fenster, 35x g01): Meshy -21 % Mid (109,7 zu 138,8)
  und -13 % Karte (91,7 zu 105,6) gegenüber Phase-4. GPU-Skinning hebt Mid
  um 7-27 % und entlastet Haupt- und Render-Thread. Standard-Partie ab Runde 21
  ohne g01 im Bild: drei Varianten bis 6 %.
- Doku: U5-VISUAL (U5.5), PORT-QA, PORT-STATUS, KNOWN-BEHAVIOR-DIFFERENCES;
  Bilder screenshots/u5.5/ und u5.5-gpu/, Rohdaten logs/u5.5/.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Martin Stickelbroeck 2026-10-09 14:14:59 +02:00
parent 26065f1c0e
commit c386206876
331 changed files with 63661 additions and 60250 deletions

View file

@ -0,0 +1,446 @@
{
"id": "kohlenbeisser",
"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": "['KohlenbeisserBody']"
},
{
"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": "20714 fbx / 20714 godot"
},
{
"check": "one_armature",
"ok": true,
"detail": "['KohlenbeisserRig']"
},
{
"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": "20714 / 20714"
},
{
"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.0846,
"palette_gains": {
"rock": [
1.1754,
1.5842,
1.8014
],
"metal": [
1.7412,
1.6468,
1.1024
]
},
"size": [
2048,
2048
]
},
"unit": 0.009999999776482582
},
"inputs_sha256": {
"tools/meshy/g01/figure.json": "858bf47dc277a8a3a9f280d3f51a156b575d8abd091b083abf0cf2a32dc2277c",
"assets-source/meshy/g01/kohlenbeisser-skelett.glb": "f5379bc92f77f42235b45decc5dfab26428c6649ea3a17ca7b33809fe4dcd568",
"assets-source/meshy/g01/kohlenbeisser-animationen.glb": "16ede0d7afb86a46d658265ed7df4d1b1b0c9c5171af6de9257e6c764a55cb48"
},
"source_sha256": "124688e799e0508e58af53f5346857e5404d49875d6600cbb974afe1b1e5796e",
"removed_modifiers": 0,
"kind": "skinned",
"fps": 24.0,
"objects": 2,
"meshes": {
"KohlenbeisserBody": {
"mesh": "KohlenbeisserBody",
"triangles": 20714,
"vertices": 22962,
"ngons": 0,
"materials": [
"AI_Kohlenbeisser"
],
"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.857,
0.0,
-0.388
],
"max": [
0.8576,
1.35,
0.3833
]
}
}
},
"armatures": {
"KohlenbeisserRig": {
"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.857,
0.0,
-0.388
],
"max": [
0.8576,
1.35,
0.3833
]
},
"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": 20714,
"bones": 25,
"clips": [
"idle",
"walk",
"attack_a",
"attack_b",
"hit",
"ability",
"death"
]
},
"meshes_with_ngons": {},
"meshes_without_uv": [],
"triangles": 20714,
"fbx": "Assets/Luneraria/Art/Characters/kohlenbeisser.fbx",
"fbx_bytes": 2936524,
"ok": true
}

View file

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: fbaacd06e0a1d4ccdbb1b3734a86bd4d
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

View file

@ -0,0 +1,335 @@
fileFormatVersion: 2
guid: cb652a88669c64f4d98a351c01bf9642
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: KohlenbeisserRig|ability
internalID: 3705849776427491170
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: KohlenbeisserRig|attack_a
internalID: -3405177721873534211
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: KohlenbeisserRig|attack_b
internalID: -2483013763081702321
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: KohlenbeisserRig|death
internalID: 1991740894720693960
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: KohlenbeisserRig|hit
internalID: -6630987000881563956
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: KohlenbeisserRig|idle
internalID: 6469625564475280535
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: KohlenbeisserRig|walk
internalID: -3533893897849437368
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: []
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:

View file

@ -0,0 +1,246 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1102 &-7534697935578475115
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: -6630987000881563956, guid: cb652a88669c64f4d98a351c01bf9642, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-6329098425662360219
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: -3533893897849437368, guid: cb652a88669c64f4d98a351c01bf9642, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &-4403431834786091428
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: 1991740894720693960, guid: cb652a88669c64f4d98a351c01bf9642, 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: kohlenbeisser
serializedVersion: 5
m_AnimatorParameters: []
m_AnimatorLayers:
- serializedVersion: 5
m_Name: Base Layer
m_StateMachine: {fileID: 718678579703470996}
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!1107 &718678579703470996
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: 1010689550146001627}
m_Position: {x: 200, y: 0, z: 0}
- serializedVersion: 1
m_State: {fileID: 7847626966357683075}
m_Position: {x: 235, y: 65, z: 0}
- serializedVersion: 1
m_State: {fileID: 3053031889840444826}
m_Position: {x: 270, y: 130, z: 0}
- serializedVersion: 1
m_State: {fileID: 3325287579852228563}
m_Position: {x: 305, y: 195, z: 0}
- serializedVersion: 1
m_State: {fileID: -4403431834786091428}
m_Position: {x: 340, y: 260, z: 0}
- serializedVersion: 1
m_State: {fileID: -7534697935578475115}
m_Position: {x: 375, y: 325, z: 0}
- serializedVersion: 1
m_State: {fileID: -6329098425662360219}
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: 1010689550146001627}
--- !u!1102 &1010689550146001627
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: 6469625564475280535, guid: cb652a88669c64f4d98a351c01bf9642, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &3053031889840444826
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: -3405177721873534211, guid: cb652a88669c64f4d98a351c01bf9642, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &3325287579852228563
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: -2483013763081702321, guid: cb652a88669c64f4d98a351c01bf9642, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:
--- !u!1102 &7847626966357683075
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: 3705849776427491170, guid: cb652a88669c64f4d98a351c01bf9642, type: 3}
m_Tag:
m_SpeedParameter:
m_MirrorParameter:
m_CycleOffsetParameter:
m_TimeParameter:

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 26a63e3ffbfe94d109316067e70ea293
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 9100000
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 MiB

View file

@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 3a62593b651284f258bd09ae4663d133
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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 MiB

View file

@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 964c605eb748b4fb29306f2fec8b8458
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:

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 MiB

View file

@ -0,0 +1,117 @@
fileFormatVersion: 2
guid: 19b3b72c3b25e434a94571624c7d5fc6
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:

View file

@ -14,6 +14,8 @@ namespace Luneraria.EditorTools
/// docs/port/screenshots/u2a/. Buildings show their intact state; the tower also its ruin;
/// rigged figures their bind pose and the hit frame of attack_a.
/// Unity -batchmode -projectPath . -executeMethod Luneraria.EditorTools.LuneAssetPreview.RenderAll
/// U5.5: like the sheets, RenderAll takes LUNE_EVIDENCE (folder) and LUNE_DRESS=1 (the game's
/// materials); LUNE_ONLY=g01,kohlenbeisser renders just those ids (before/after of a figure).
/// </summary>
public static class LuneAssetPreview
{
@ -25,7 +27,10 @@ namespace Luneraria.EditorTools
int code = 0;
try
{
string folder = Path.Combine(Path.GetDirectoryName(Application.dataPath), "docs/port/screenshots/u2a");
string evidence = Environment.GetEnvironmentVariable("LUNE_EVIDENCE");
string only = Environment.GetEnvironmentVariable("LUNE_ONLY");
var wanted = string.IsNullOrEmpty(only) ? null : new HashSet<string>(only.Split(','));
string folder = Path.Combine(Path.GetDirectoryName(Application.dataPath), "docs/port/screenshots", string.IsNullOrEmpty(evidence) ? "u2a" : evidence);
Directory.CreateDirectory(folder);
EditorSceneManager.NewScene(NewSceneSetup.EmptyScene, NewSceneMode.Single);
var sun = new GameObject("Sun").AddComponent<Light>();
@ -44,14 +49,21 @@ namespace Luneraria.EditorTools
camera.clearFlags = CameraClearFlags.SolidColor;
camera.backgroundColor = new Color(.16f, .18f, .21f);
camera.fieldOfView = 30f;
// Loaded after the new preview scene: opening a scene unloads assets nothing references.
var materials = Environment.GetEnvironmentVariable("LUNE_DRESS") == "1"
? AssetDatabase.LoadAssetAtPath<Luneraria.View.LuneMaterialSet>("Assets/Luneraria/Materials/LuneMaterials.asset") : null;
foreach (string model in ExportReport.AllModels("Assets/Luneraria/Art").OrderBy(p => p, StringComparer.Ordinal))
{
ExportReport report = ExportReport.ForModel(model);
if (wanted != null && !wanted.Contains(report.Id))
continue;
var prefab = AssetDatabase.LoadAssetAtPath<GameObject>(model);
foreach (var shot in Shots(report))
{
var instance = (GameObject)PrefabUtility.InstantiatePrefab(prefab);
shot.Value(instance);
if (materials != null)
materials.Dress(instance, 2);
Render(camera, instance, Path.Combine(folder, report.Id + shot.Key + ".png"));
UnityEngine.Object.DestroyImmediate(instance);
}
@ -195,8 +207,11 @@ namespace Luneraria.EditorTools
}
else if (report.Skinned)
{
// The hit frame: the clip's contact time, 0.9 s where the Blender action names none.
double contact = report.Clips.Where(c => (string)c["name"] == "attack_a").Select(c => (double)c["contact_seconds"]).DefaultIfEmpty(-1.0).First();
float hit = contact > 0.0 ? (float)contact : .9f;
yield return Shot("", go => Sample(go, "idle", 0f));
yield return Shot("-attack_a", go => Sample(go, "attack_a", .9f));
yield return Shot("-attack_a", go => Sample(go, "attack_a", hit));
}
else
{

View file

@ -9,7 +9,7 @@ namespace Luneraria.EditorTools
{
/// <summary>
/// Rendering setup of the project (URP asset and renderer, linear colour space, SSAO since
/// U5.4), idempotent.
/// U5.4, skinning on the GPU since U5.5), idempotent.
/// Unity -batchmode -projectPath . -executeMethod Luneraria.EditorTools.LuneProjectSetup.ConfigureRendering
/// </summary>
public static class LuneProjectSetup
@ -63,10 +63,14 @@ namespace Luneraria.EditorTools
}
QualitySettings.SetQualityLevel(current, false);
PlayerSettings.colorSpace = ColorSpace.Linear;
// U5.5: skinned figures deform on the GPU in batches (compute shaders). With CPU
// skinning 35 Meshy Kohlenbeißer (23,000 vertices each) cost about 1 ms of main and
// 1.7 ms of render thread per frame.
PlayerSettings.meshDeformation = MeshDeformation.GPUBatched;
MoveInto("Assets/UniversalRenderPipelineGlobalSettings.asset", SettingsFolder + "/UniversalRenderPipelineGlobalSettings.asset");
MoveInto("Assets/DefaultVolumeProfile.asset", SettingsFolder + "/DefaultVolumeProfile.asset");
AssetDatabase.SaveAssets();
Debug.Log("LUNE_SETUP rendering: " + PipelinePath + ", colour space " + PlayerSettings.colorSpace);
Debug.Log("LUNE_SETUP rendering: " + PipelinePath + ", colour space " + PlayerSettings.colorSpace + ", skinning " + PlayerSettings.meshDeformation);
return asset;
}

View file

@ -69,6 +69,10 @@ namespace Luneraria.EditorTools
public float Rim;
/// <summary>U5.4: bind the PBR set even when Quality is 0 (units: the portraits switch it on).</summary>
public bool BindMaps;
/// <summary>U5.5: emission of the albedo where its alpha marks glowing parts (UV figures; 0 = none).</summary>
public float Glow;
/// <summary>U5.5: share of URP's normal offset in the shadow caster (0 for the Meshy figures' creased seams).</summary>
public float ShadowNormalScale = 1f;
}
static Shader _surface;
@ -176,6 +180,11 @@ namespace Luneraria.EditorTools
public const float UnitDetailScale = 1f;
/// <summary>Rim light of the figures (see LuneSurface.shader).</summary>
public const float UnitRim = .35f;
/// <summary>
/// U5.5: glow of the lava the Meshy figures mark in their albedo alpha: albedo x 1.25, the
/// emission the Phase-4 ember material (SW_HD_ember) has over its own colour.
/// </summary>
public const float UnitGlow = 1.25f;
/// <summary>
/// One shared Surface material per material name of the figures (units, monsters, peoples,
@ -226,6 +235,32 @@ namespace Luneraria.EditorTools
BindMaps = true,
};
string family = UnitFamily(name);
if (family == "authored")
{
// U5.5: a Meshy figure (tools/meshy/build_figure.py) brings its own UV maps:
// AI_Kohlenbeisser -> Textures/ai-kohlenbeisser-{albedo,normal,orm}-2k.png. The
// maps are the colour, roughness and metalness themselves and glow in the albedo alpha.
string stem = Textures + "/ai-" + name.Substring(3).ToLowerInvariant();
Texture2D albedo = Map(stem + "-albedo-2k.png", TextureImporterType.Default, true);
Texture2D normal = Map(stem + "-normal-2k.png", TextureImporterType.NormalMap, false);
Texture2D orm = Map(stem + "-orm-2k.png", TextureImporterType.Default, false);
if (albedo == null || normal == null || orm == null)
throw new InvalidOperationException("maps missing for " + name + ": " + stem + "-*-2k.png");
spec.UvMaps = true;
spec.UvAlbedo = albedo;
spec.UvNormal = normal;
spec.UvOrm = orm;
spec.Base = Color.white;
spec.Roughness = 1f;
spec.Metallic = 1f;
spec.NormalStrength = 1f;
spec.ObjectSpace = false;
spec.EmissionRaw = Color.black;
spec.Glow = UnitGlow;
spec.ShadowNormalScale = 0f;
spec.Quality = 1f;
return spec;
}
if (family == "cutwood")
{
// Ringborke's cut log faces carry the authored 4k set (bake_cutwood.py of phase 11).
@ -277,6 +312,8 @@ namespace Luneraria.EditorTools
public static string UnitFamily(string name)
{
string n = name.ToLowerInvariant();
if (n.StartsWith("ai_", StringComparison.Ordinal))
return "authored";
if (n == "rb_cutwood")
return "cutwood";
if (n.Contains("nietenkonvent_"))
@ -587,6 +624,8 @@ namespace Luneraria.EditorTools
material.SetFloat("_UvMaps", spec.UvMaps ? 1f : 0f);
material.SetFloat("_ObjectSpace", spec.ObjectSpace ? 1f : 0f);
material.SetFloat("_Rim", spec.Rim);
material.SetFloat("_Glow", spec.Glow);
material.SetFloat("_ShadowNormalScale", spec.ShadowNormalScale);
material.SetFloat("_Cull", spec.DoubleSided ? 0f : 2f);
material.SetTexture("_StoneMap", _stone);
ApplyPbr(material, spec);

View file

@ -64,7 +64,8 @@ namespace Luneraria.EditorTools
/// <summary>
/// One entry per exported unit model (tools/blender/export_manifest.json): rigid models by
/// their id, skinned figures with an animator controller. A skinned figure also stands in
/// for the Godot id it replaced (w04 is Ringborke, worker is the Arbeiter, ...).
/// for the Godot id it replaced (w04 is Ringborke, worker is the Arbeiter, ...) or the id
/// it replaces in the port ("replaces": the Meshy Kohlenbeißer of U5.5 for g01).
/// </summary>
static List<LuneUnitLibrary.UnitModel> Models()
{
@ -83,7 +84,7 @@ namespace Luneraria.EditorTools
bool skinned = (string)asset["kind"] == "skinned";
var model = new LuneUnitLibrary.UnitModel { Id = id, Prefab = prefab, Controller = skinned ? Controller(id, Art + group + "/" + id + ".fbx") : null };
models.Add(model);
string godotId = (string)asset["godot_manifest"]?["id"];
string godotId = (string)asset["godot_manifest"]?["id"] ?? (string)asset["replaces"];
if (skinned && godotId != null && godotId != id)
aliases.Add(new LuneUnitLibrary.UnitModel { Id = godotId, Prefab = prefab, Controller = model.Controller });
}

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.62
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.85
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.42
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.84
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 1
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 0
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.85
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 0
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.85
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 0
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.85
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 9
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 9
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 9
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 9
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 9
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 9
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 9
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.9
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.42
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.8
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.52
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.9
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.32
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.9
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.32
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.9
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.32
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 2
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.93
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.13
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.5
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.5
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.5
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.5
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 2
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.9
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 2
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 2
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.1
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.82
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 1

View file

@ -181,6 +181,10 @@ MonoBehaviour:
Neutral: {fileID: 2100000, guid: 5a6942f0733ed4ba0bc5c60732179c3d, type: 2}
Blau: {fileID: 0}
Rot: {fileID: 0}
- Key: AI_Kohlenbeisser
Neutral: {fileID: 2100000, guid: 19529a85bbe534478a40059f9505d897, type: 2}
Blau: {fileID: 0}
Rot: {fileID: 0}
- Key: BB_Basalt
Neutral: {fileID: 2100000, guid: 37c64b9b93d784d8ba407e7c9682aae4, type: 2}
Blau: {fileID: 0}

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 5
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.4
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 2
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 6
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 6
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 6
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 2
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 3
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 0
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 1
@ -53,6 +54,7 @@ Material:
- _Rim: 0
- _Roughness: 0.8
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 0.23
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.78
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.40000004
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.92
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.45
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.120000005
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.7
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.9
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.3
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.72
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.18000007
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.35000002
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.75
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.40000004
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View 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_Kohlenbeisser
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: 3a62593b651284f258bd09ae4663d133, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 2800000, guid: 964c605eb748b4fb29306f2fec8b8458, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OrmMap:
m_Texture: {fileID: 2800000, guid: 19b3b72c3b25e434a94571624c7d5fc6, 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

View file

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 19529a85bbe534478a40059f9505d897
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 2100000
userData:
assetBundleName:
assetBundleVariant:

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.92
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.88
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.40000004
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.5500001
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.86
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.27000004
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.31
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.22000003
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.33999997
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.32999998
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.75
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.64
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.8
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.7
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.33999997
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.26
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.13999999
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.3
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.38
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.58
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.5500001
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.86
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.7
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.3
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.95
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.95
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.78
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0.7
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.33999997
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

View file

@ -44,6 +44,7 @@ Material:
- _Cull: 2
- _Energy: 1
- _Flicker: 0
- _Glow: 0
- _Metallic: 0
- _Mode: 0
- _NormalStrength: 0.8
@ -53,6 +54,7 @@ Material:
- _Rim: 0.35
- _Roughness: 0.7
- _Seed: 0
- _ShadowNormalScale: 1
- _StoneScale: 1
- _UvMaps: 0
- _VertexColor: 0

Some files were not shown because too many files have changed in this diff Show more