JirkaDellOro / FUDGE_Story

A FUDGE module for the easy development of interactive stories, visual novels and simple adventure games
https://jirkadelloro.github.io/FUDGE_Story/
7 stars 9 forks source link

Animation zerhaut Transition und Bildschärfe #44

Open FrankeSa opened 1 year ago

FrankeSa commented 1 year ago

ich hatte den Issue schon in Fudge gepostet, allerdings vergessen ihn hier auch zu posten -.-* Vielleicht kann das Problem ja bis zur Abgabe gelöst werden :)

ich brauche bitte Hilfe... Wenn in einer Szene eine Animation ausgeführt wird, dann wird die Transition aller nächsten Szene nicht richtig ausgeführt. Außerdem werden die Umrisse aller darauffolgenden Bilder unscharf und verpixelt. :-(

In Szene 03 wird, wenn man die Auswahl "Anfassen" wählt, eine Animation ausgeführt. Wenn dann die nächste Szene kommt sieht man schon was ich meine.... Wählt man aber eine andere Option z.B. "Ignorieren", dann läuft die Transition normal und die Bilder sehen scharf aus.

Und...in Szene 09 springt mir die Taube nach dem sie das Pflaster bekommen hat an eine andere Stelle. Dabei soll sie, laut Code, an der gleichen Stelle bleiben. Wenn ich nur diese Szene teste funktioniert es einwandfrei. Ich weiß nicht, ob das auch an der zerhauenen Transitions oder an der vorherigen Animationen liegt.

JirkaDellOro commented 1 year ago

@FrankeSa Du hattest noch gepostet, dass es nicht mit allen Transitions auftritt. https://github.com/JirkaDellOro/FUDGE/issues/359#issuecomment-1427038308

Auf den ersten Blick kann ich keine Ursache für dein Problem erkennen.

@Rina14 das müsste eigentlich schonmal woanders aufgetaucht sein, ist das ein bekanntes Problem?

JirkaDellOro commented 1 year ago

Und das hatte ich auf Discord geschrieben: Jirka — 02/12/2023 9:47 AM @Rina14 : kannst Du mal eine kleine Test-Story machen? Es scheint so, als würde es Probleme mit der Transition geben, wenn man eine Animation abgespielt hat. Ein Weg, sich dem Problem zu nähern ist, ein Minimalprogramm zu haben, das den Fehler provoziert. Das können wir dann leichter z.B. auf eine alte Story-Version loslassen....

Rina14 commented 1 year ago

ich hab's gelesen und geantwortet

Rina14 commented 1 year ago

38 hier geht es um dasselbe, damit das auch mal verlinkt ist. Testreihe in Arbeit...

Rina14 commented 1 year ago

@FrankeSa kannst du bitte dein Repo und andere relevante Dateien noch verlinken?

Rina14 commented 1 year ago

@JirkaDellOro Testergebnisse:

Ab der folgenden Version (15. August 2022, im Tutorial_SS22 getestet) fängt das Verzerrungsproblem an: https://github.com/JirkaDellOro/FUDGE_Story/tree/b26aa0b5c4dde3bf8b9135309f98f87d3b7a920b

Was genau passiert?

Rina14 commented 1 year ago

farbig_gefolgte_gleiche_und_dadurch_verzerrte_transition_nach_Animation

farbig_gefolgte_transition_nach_Animation

korrekt_gefolgte_transition_nach_Animation

JirkaDellOro commented 1 year ago

Mit dieser Information sollte ich das Problem schnell finden und beheben können. Ich werde allerdings erst am Wochenende dazu kommen.

JirkaDellOro commented 1 year ago

Zumindest scheint es nicht im Core zu stecken, das hilft.

@Rina14 Bitte mal Zeile 56 (adjustingFrames) in Global.ts auskommentieren und neu compilieren. Oder die entsprechende Zeile im Kompilat FudgeStory.js finden und dort auskommentieren.

Rina14 commented 1 year ago

Halleluja, danke @JirkaDellOro! Funktioniert jetzt alles wunderbar. Neue FS-Version verfügbar. @FrankeSa @Hanhan139 bitte neue FS-Version ziehen!

JirkaDellOro commented 1 year ago

So ganz schließen sollten wir den Issue noch nicht. Ich schätze, dass jetzt der Canvas nicht mehr richtig mitskaliert, wenn man zur Laufzeit die Fenstergröße ändert. Da muss ich nochmal reinschauen. Es ist jetzt lediglich das geringere Übel.

Rina14 commented 1 year ago

inwiefern skaliert der Canvas nicht mehr richtig?

Kannst Du übrigens bitte entweder hier oder per Discord zumindest noch ausführen, welchen Zweck viewport.adjustingFrames = true; erfüllte? Ich will nur gern nachvollziehen, was den Fehler warum auslöste

JirkaDellOro commented 1 year ago

welchen Zweck viewport.adjustingFrames = true; -> dann wird der WebGL-RenderingCanvas skaliert, wenn die Fenstergröße sich ändert. Das ist eine interne Funktionalität, es wird die Darstellungsgröße ermittelt und dann in einem mehrstufigen Verfahren zur Bildquelle zurückgerechnet und diese mitskaliert. Mit false wird dieser Automatismus ausgeschaltet, und die Darstellung ggf. verzerrt.

was den Fehler warum auslöste -> das weiß ich leider auch noch nicht, da schaue ich vielleicht am Wochenende rein. Durch deine Tests konnte ich lediglich und sofort erkennen, dass es mit dem Frame-Adjustment zu tun hat.

Rina14 commented 1 year ago

ah, danke für's Erläutern :) Ich hatte jedenfalls keine Probleme während dem Skalieren des Fensters, falls das hilft & Alles klar, danke Dir! Sag jedenfalls Bescheid, falls ich noch etwas tun kann.