Champions of Luneraria - Unity Game Engine Project (Co-op Action Tower Defense)
Find a file
Martin Stickelbroeck c386206876 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>
2026-10-09 14:14:59 +02:00
Assets U5.5-pilot Figuren: Meshy-Kohlenbeißer, Lava-Glut, GPU-Skinning 2026-10-09 14:14:59 +02:00
assets-source/meshy/g01 U5.5-pilot Figuren: Meshy-Kohlenbeißer, Lava-Glut, GPU-Skinning 2026-10-09 14:14:59 +02:00
docs/port U5.5-pilot Figuren: Meshy-Kohlenbeißer, Lava-Glut, GPU-Skinning 2026-10-09 14:14:59 +02:00
Packages U1.5 Unity Core Integration (1/2): Unity-Projekt, Test Runner, Diagnose 2026-09-30 15:19:08 +02:00
ProjectSettings U5.5-pilot Figuren: Meshy-Kohlenbeißer, Lava-Glut, GPU-Skinning 2026-10-09 14:14:59 +02:00
tools U5.5-pilot Figuren: Meshy-Kohlenbeißer, Lava-Glut, GPU-Skinning 2026-10-09 14:14:59 +02:00
.gitignore U2C Simulation/View Binding 2026-10-01 17:31:18 +02:00
README.md U4-Nachtrag: Startbildschirm in der Szene, Rückkehr aus der Partie 2026-10-08 05:37:51 +02:00

Champions of Luneraria · Unity

Drei-Lane-Autobattler 3 gegen 3 (Mischung aus Dota 2 und Legion TD 2), portiert von Godot nach Unity.

  • Engine: Unity 6.3 LTS (6000.3.20f1), URP.
  • Zielplattformen: Fedora 44, Windows 11. macOS ist die Entwicklungsplattform.
  • Referenz: ../saumwacht-godot, Zweig luneraria/g3 (1b540f2).

Aufbau

  • Assets/Luneraria/Core/: Regelkern ohne Unity-Abhängigkeit (Luneraria.Core).
  • Assets/Luneraria/View/: Host-Schleife (fester Takt), Ansichten, Kamera (Luneraria.View); Scenes/G1_Map.unity ist die spielbare Karte.
  • Assets/Luneraria/Art/: FBX aus der Blender-Pipeline (tools/blender/); World/Bake/: gebackene G1-Welt aus dem Godot-Generator.
  • Assets/Luneraria/Editor/: Importregeln, Asset-Prüfung, Welt- und Szenenbau, Player-Build.
  • Assets/Luneraria/Tests/Core/: Prüfsuiten mit Golden-Referenzen aus Godot, Diagnose (Float-Probe, Schritt-Trace, Benchmark); laufen im Unity Test Runner und mit dem .NET SDK.
  • tools/: .NET-Projekte (Ausgabe nach tools/out/), Godot-Referenzwerkzeuge, Portwerkzeuge.
  • docs/port/: Stand, Entscheidungen und QA je Meilenstein (PORT-STATUS.md).

Befehle

Kerntests mit dem .NET SDK (Protokoll nach $LUNE_TEST_REPORT, Standard tools/out/):

sh tools/run_core_tests.sh

Dieselben Tests im Unity Test Runner:

/Applications/Unity/Hub/Editor/6000.3.20f1/Unity.app/Contents/MacOS/Unity -batchmode -projectPath "$PWD" -runTests -testPlatform EditMode -testResults "$PWD/tools/out/editmode-results.xml" -logFile -

Szene neu bauen (nach geänderter Welt, Materialien oder Assets):

/Applications/Unity/Hub/Editor/6000.3.20f1/Unity.app/Contents/MacOS/Unity -batchmode -projectPath "$PWD" -executeMethod Luneraria.EditorTools.LuneWorldBuilder.BuildScene -logFile -

Spielen: Assets/Luneraria/Scenes/G1_Map.unity im Editor öffnen und Play drücken. Zuerst kommt der Startbildschirm (Allein spielen, Hosten, Beitreten), dann die Partie mit HUD (Kamera mit WASD, Mausrad, Q/E, R, O). „Menü“ führt zurück zum Startbildschirm.

Selbsttest eines Players (Startbildschirm, Partie, Rückkehr; Bilder und report.json im Ordner):

Builds/macOS/Luneraria.app/Contents/MacOS/luneraria-unity -screen-fullscreen 0 -screen-width 1920 -screen-height 1080 -luneSmoke "$PWD/tools/out/smoke"

Leistung (.NET bzw. Editor über -executeMethod Luneraria.Core.Tests.CoreBatch.Benchmark):

dotnet run -c Release --project tools/dotnet/Luneraria.Core.Bench