Commit Graph

65 Commits

Author SHA1 Message Date
ae3caacebf Weiter Fixes 2026-08-10 20:06:25 +02:00
145db8317f Weitere Bugfixes und kleine Feature Erweiterungen 2026-08-10 19:41:32 +02:00
753af2dc13 Platzierung und Bearbeitung von OPbjekten angepasst 2026-08-10 14:41:44 +02:00
294a080a3c Bug behoben bei den Texturen 2026-08-10 12:33:10 +02:00
9561966071 Spawn Punkte korrigiert 2026-08-10 11:51:42 +02:00
21036a579c Texturierung von Voxel Popoxel ermöglicht 2026-08-10 09:50:47 +02:00
accdd2fa75 Gras System so angepasst, dass es auf dem gebackenen Voxel kram funktioniert 2026-08-09 22:55:19 +02:00
0a657a5831 Back Effekte hinzugefügt 2026-08-09 22:22:44 +02:00
46be9ffe57 Zwischenstand gesichert bei den voxel poxoxeln 2026-08-09 22:02:00 +02:00
00a7ccbe47 Zwischenstand gesichert bei den voxel poxoxeln 2026-08-09 21:48:23 +02:00
936efb7bcc Fehler beim Backen von Voxels behoben 2026-08-08 18:16:32 +02:00
96483fada9 Bug behoben, der das gebackene terrain zu hoch generiert hat 2026-08-08 13:31:27 +02:00
3b7f3b7e86 Saubere Kante beim Voxel backen, Höhenindikator hinzugefügt 2026-08-08 13:05:54 +02:00
8feaf24490 Weiter am Voxel kram gebastelt 2026-08-06 22:48:54 +02:00
0329390d31 Weiter am Voxel/Gebirgsterrain gearbeitet 2026-07-26 22:01:09 +02:00
944b3fae34 Commit vor dem Urlaub 2026-07-26 17:36:09 +02:00
d7aeb890c9 Bugfixes, weitere Vegetationsgeneratoren hinzugefügt 2026-07-25 20:16:13 +02:00
919f70bb44 Weiter am Wettersystem gearbeitet, ordentliche Wolken und Regen etc ergänzt 2026-07-24 11:41:05 +02:00
5a7d9897e4 Voxel Klippen System weiter optimiert, Monolog System implementiert, Compiler Warnungen behoben 2026-07-23 20:29:51 +02:00
9ebde59d40 Bug in der Camera behoben, was nahgelegene Objekte anbelangt, weitere Modelle hochgeladen 2026-07-22 21:39:36 +02:00
032345b2bc Fehler im Importer behoben - weitere Models importiert 2026-07-22 19:57:02 +02:00
2d492fe1e2 Model Importer Bug Fixes und weitere Modelle importiert 2026-07-22 11:58:58 +02:00
40be463ced Fehler im LOD System behoben 2026-07-21 07:10:49 +02:00
1b3d9bf0af Fehler im LOD System behoben 2026-07-21 07:08:26 +02:00
b17a71286a An den LOD im Editor gearbeitet 2026-07-20 13:35:27 +02:00
bdd69e282c Fehlende Datei ergänzt 2026-07-19 10:43:10 +02:00
0913da2f93 Imposter Generation angepassst 2026-07-19 10:37:10 +02:00
0b1cb4d0e9 Sichtweite und Nebel hinzugefügt 2026-07-17 22:20:44 +02:00
5ed7b4017c Am Lightning System gearbeitet 2026-07-17 11:23:44 +02:00
975161e2cc Fehler bei Vollbild und NinePAtch behoben 2026-07-15 18:39:54 +02:00
6cf8f52faf Weiter am Menü und an der Vollbildproblematik gearbeitet 2026-07-12 22:27:22 +02:00
f109241e1f Weiter an den Dialogen gearbeitet 2026-07-09 21:31:37 +02:00
8bcee4491e Character und Dialog System weiter gebaut 2026-07-06 21:06:27 +02:00
b05eb1055d Lokalisierungs-Editor: liest/schreibt messages_<lang>.properties in blight-lang
TextBundleIO von JSON auf Java-Properties-Format umgestellt (messages_*.properties).
Reihenfolge der Keys bleibt beim Laden erhalten. EditorApp zeigt jetzt auf
blight-lang/src/main/resources/lang/ statt blight-assets/localization/.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-06 07:15:14 +02:00
76a192df67 VegetationEditor: EZ-Tree Windanimation + Palm-Textur-Rotation fix
EzTreeState: addWindWeights() setzt VertexBuffer.Color (R = Wind-Gewicht)
nach der Mesh-Erzeugung. Blätter bekommen 1.0 (volle Animation), Äste
werden per Y-Position normiert. Tree.vert liest windW aus inColor.r —
ohne diesen Buffer blieb windW=0 und kein Schwingen sichtbar.

PalmMeshBuilder/PalmGeneratorState: stemLeft immer true (Stiel entlang U),
leafTextureAspect immer h/w. Behebt die 90°-Drehung von palm.png.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-05 22:32:16 +02:00
dea1aa3d3e Impostor-Texturen: kein Dateisystem-Write mehr, eingebettet in .j3o
saveImpostor() in TreeGeneratorState, PalmGeneratorState und EzTreeState
schreibt keine PNG-Dateien mehr ins .impostors-Verzeichnis. Die Texture2D
wird direkt aus dem In-Memory-ByteBuffer erstellt und via BinaryExporter
in der .j3o-Datei eingebettet. Bestehende .impostors-Dateien entfernt.
deleteJ3oSideFiles() und populateAssetTree() ohne Impostor-Logik.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-05 22:27:34 +02:00
4fd337aea4 OceanSound: L/R-Panning fix via Dual-Source + constant-power panning
Zwei AudioNodes pro Sound (L + R) fest auf ±90° der Kamera positioniert;
Lautstärkeverhältnis (constant-power) bestimmt die wahrgenommene Richtung.
Behebt HRTF-0°-Stille wenn Kamera aufs Wasser zeigt. Außerdem weitere
Soundsystem- und Editor-Korrekturen aus dieser Session.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-05 22:22:06 +02:00
66d7956a28 Soundsystem weiter ausgebaut 2026-07-05 10:39:32 +02:00
63aa7aa104 Commit vor Änderung Umstellung auf eine einzelne Animation 2026-06-28 22:59:36 +02:00
6d061cd621 Sicherstellen des Zustands der passt 2026-06-28 21:31:00 +02:00
b44d583dc3 Bank-Sitz-Fix: clearKfOffset-Timing, Approach-Distanz, Animationsübergänge
- clearKfOffset() erst nach get_up-Animation (Callback) statt sofort beim Start
  → kein Slide des Visuals während der Aufsteh-Animation
- Approach-Distanz zur Bank um 17.5cm verkürzt (läuft näher ran, sitzt tiefer)
- blockingAnimRemaining um 1 Frame (1/60s) gekürzt → verhindert Extra-Keyframe-Hold
  am Animationsende (noch zu beobachten)
- Diverses aus vorheriger Session: AnimSet-Editor, Navigation, Assets

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-26 22:51:11 +02:00
ba0b80f524 Navigation, Bank-Setzen und AnimSet-Editor Keyframes
- CharacterNavigator: universelle Pfad-Navigation für Spieler und NPCs
  (PathFinder + Terrain-Slope-Check + Stuck-Erkennung, Walk/Run)
- PlayerInputControl: navigateTo/stopNavigation-API, Navigator hat Vorrang
  vor WASD; setNavigationSources für PathFinder + TerrainChunkState
- WorldInteractableState: Bank-Setzen komplett neu (< 5m, E-Taste),
  Navigator läuft zum Sitzpunkt, dreht Rücken zur Bank, spielt
  sit_down_bench / sitting / get_up_sitting; Bett weiterhin mit Rücklauf
- AnimSet-Editor: Kamera startet mit -45° Pitch; AnimKeyframe-Offset-Editor
- WorldScene: PathFinder + ObstacleRoot an PlayerInputControl übergeben

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 18:18:58 +02:00
79f9cf12a3 Animationen jetzt heil und Keyframes eingebaut 2026-06-23 17:44:22 +02:00
914bf6e673 Zwischenstand - animationen passen weitesgehend 2026-06-22 22:36:44 +02:00
b3b943e588 Charakter-Liegend-Fix: T-Pose im Editor, CullHint im Spiel, Strip in src+bin
Editor (AnimPreviewState):
- __tpose__ AnimClip mit Einzel-Frame-Track für Root-Joints (behebt NPE in
  ClipAction.doInterpolate; leerer Clip hatte null-tracks-Array)
- Beim Laden: eingebettete Clips automatisch strippt und in src+bin speichern;
  danach __tpose__ abspielen → Charakter steht in Bind-Pose
- stopAll(): zurück zur T-Pose statt SkinningControl deaktivieren
- Achsen-Indikator immer fest auf (0,0,0) statt bounding-box-Mitte

Spiel (WorldScene):
- CullHint.Always beim Laden, Inherit nach Animation-Setup (kein liegender Charakter)
- stripEmbeddedClips: speichert jetzt in src + bin + build (alle bekannten Pfade);
  besseres Logging bei fehlendem Pfad

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 22:25:23 +02:00
d3c6e8ed77 Zwischenstand: CullHint-Workaround gegen liegenden Charakter + stripEmbeddedClips-Fix
- WorldScene: Charakter wird beim Laden mit CullHint.Always versteckt, erst nach
  setupAnimationContext (idle läuft) wieder sichtbar
- WorldScene: stripEmbeddedClips nutzt jetzt AnimationLibrary.findAssetRoot() statt
  hartkodierter Pfad-Liste; besseres Logging wenn Datei nicht gefunden
- AnimPreviewState: Modell beim Laden versteckt (CullHint.Always), erst bei playClip
  sichtbar; stopAll versteckt Modell wieder
- PlayerInputControl: tryPlay setzt Action VOR SkinningControl-Aktivierung

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 22:03:48 +02:00
7a3b2b8733 snapRootBoneXZ: Achsen-Fix für Mixamo-Hips (X=0, Y=0/frei, Z=frei)
In diesen Mixamo-Exporten ist Local-Y die Vorwärts-Richtung (nicht Höhe),
Local-Z die Höhe. Bisheriger Code fror Z=0 ein → Charakter 1m zu tief.
Und Y war frei → Lauf-Drift blieb.

Neue Logik:
  X → 0 (kein Seiten-Drift)
  Y → 0 für Lauf-Clips (running/walking/sprinting/running_jump), normalisiert sonst
  Z → vollständig frei (Höhe und Setz/Aufsteh-Bewegung erhalten)

Nur der flachste Bone (Hips) wird modifiziert, alle anderen unberührt.
Clips vollständig neu importiert mit korrektem Snap.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-22 18:28:51 +02:00
e669e29096 Zwischenstand 2026-06-21 23:04:40 +02:00
07a4c6a323 Animations neu importiert, SLF4J-Format-Bugs gefixt, stripRootXZ als tote Methode für später
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-21 09:58:15 +02:00
c8f1dd9432 Animations-Import, Massenimport-Queue, Asset-Archivierung, Voxel-Refactor
- Animations-Import: GLB wird direkt vom Ursprungspfad geladen (kein Zwischenkopieren), J3O in clips/ gespeichert
- RetargetingSystem: Translations-Tracks im Full-Retarget-Pfad erhalten (Hips-Y für sit_down)
- AnimationLibrary: lädt nur J3O, Clip-Name wird bei applyTo() auf Library-Key umbenannt
- SharedInput: animPreviewAddAnimPath → ConcurrentLinkedQueue animImportQueue (Massenimport-Fix)
- EditorApp: archiveOriginal() archiviert Originaldateien nach assets/imported/<assettyp>/
- EditorApp: Animations-Unterknoten im Asset-Baum zeigen enthaltene Clip-Namen
- Neue Animations-Clips: sit_down, get_up_sitting, sitting, pickup, sprinting u.a.
- Voxel: VoxelChunkState entfernt, VoxelChunkNode/MarchingCubes überarbeitet
- Map: Voxel-Chunks bereinigt, Terrain-Chunks aktualisiert

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-20 20:52:04 +02:00