Champions of Luneraria - Unity Game Engine Project (Co-op Action Tower Defense)
Entscheidung des Projektinhabers vom 2. Oktober 2026: Weg 2 (Stufen) statt Gleichziehen oder Drosseln. Der Lankorridor trägt die vollen PBR-Sätze; Berge, Kluft und ferner Hintergrund behalten Farbe und Steinschicht. - LuneZones: Korridor von 22 m um eine Lane-Mittellinie, ein Gebäude oder die Grotte. NearLane entscheidet die Stufe eines Weltknotens. - Surface-Shader _Quality: 1 bindet Albedo, Normal und ORM triplanar; 0 lässt die neun Map-Samples weg und behält Farbe, Vertex-Tönung, Steinschicht und Emission — das U2-Aussehen der Berge. - LuneMaterialFactory: Spec.Quality, TerrainEdge.mat für die umgebenden Berge; Randmaterialien binden keine PBR-Sätze. - LuneWorldBuilder.ApplyTier: jeder Weltknoten jenseits des Korridors bekommt _Quality 0 über einen MaterialPropertyBlock. Gebäude, Einheiten, Wege, Wasser und der innere Boden bleiben Lane-Stufe. - Nachweis: screenshots/u5/edge-mountains.png (Randstufe) und lane-and-edge.png (Übergang Lane → Rand in einem Bild). - Leistung (macOS-Player, 116 Einheiten): 133 fps Übersicht, 180 fps Mid nah — auf dem Niveau des Slices, weil die Messfenster den Korridor sehen. Die Ersparnis liegt in Weitwinkeln und am Rand. - Tests: EditMode 29/29, PlayMode 13/13, Kerntests 457/457. Keine Regeländerung. - Dokumentation: U5-VISUAL (Entscheidung und Umsetzung), PORT-QA, PORT-STATUS, KNOWN-BEHAVIOR-DIFFERENCES. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| Assets | ||
| docs/port | ||
| Packages | ||
| ProjectSettings | ||
| tools | ||
| .gitignore | ||
| README.md | ||
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, Zweigluneraria/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.unityist 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 nachtools/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 (Bot-Partie, Kamera mit WASD, Mausrad, Q/E, R, O).
Leistung (.NET bzw. Editor über -executeMethod Luneraria.Core.Tests.CoreBatch.Benchmark):
dotnet run -c Release --project tools/dotnet/Luneraria.Core.Bench