lookto() erzeugt gelegentlich einen Ruck in der Bewegung

  • Hallo,

    ich bin Daniel, der Neue *wink*

    Zwar bin ich PanotourPro-Nutzer, aber inzwischen beschäftige ich mich viel mit dem erzeugten krpano-Code und versuche, individuelle Anpassungen vorzunehmen, um die Touren interessanter zu gestalten.

    Ich habe jetzt eine Frage zu lookto() und hoffe, dass ihr mir weiterhelfen könnt:

    Wenn ich mit lookto() eine Animation programmiere, die heraus- oder hereinzoomt, kommt es oft vor, dass die Bewegung nicht geradelinig ist und mittendrin hart "abbiegt". Das sieht manchmal sehr unschön aus. Ich dachte erst, das passiert nur beim Herauszoomen, wenn eine Bildkante auf eine Browser-Fenster-Kante trifft (warum tut sie das eigentlich? Müsste doch nicht sein, passiert mir aber bei Gigapixelpanoramen ab und zu mal), aber es passiert hier nun sogar beim Hereinzoomen.

    Beispiel: https://hertrich.photo/pano/Highspeed-Fotos.html
    EDIT: Ich habe in einem anderen Forum etwas anderes zu dieser Tour gefragt, dazu musste ich den Code ändern. Sorry. Ich habe nicht bedacht, dass hier die "lookto"s noch funktoinieren sollten. Sie tun es gerade nicht mehr.
    Bitte also stattdessen lieber den Screencast (s.u.) angucken!

    Es handelt sich um die drei ersten Animations-Bewegungen des ersten Bildes nach dem Intro.

    Hier ist ein Screencast, der zeigt, wie die Bewegungen bei mir aussehen. Nur für den Fall, dass das bei euch nicht reproduzierbar ist:
    https://www.hertrich.photo/cloud/s/KxYT36VFVzEyvC5

    (kann evtl. nicht im Browser abgespielt werden, dann bitte den "Herunterladen"-Button nutzen und lokal abspielen.)
    Man sieht hier bei 15 Sekunden einen Ruck nach links, bei 18 Sekunden einen sanfteren Ruck nach oben und bei 33 Sekunden einen Ruck nach rechts.
    Der Screencast ist grundsätzlich so ruckelig, weil mein Rechner das nicht gepackt hat, es ruckelfrei abzuspielen, während der Screencast aufgezeichnet wurde. Aber ich denke, die "Rucke", die ich meine, sind trotzdem deutlich genug sichtbar.


    Der Code, der diese Bewegungen erzeugt, ist Folgender.
    Es ist unerheblich, ob der Parameter "shortestway" auf true oder false steht. Die Bewegungen sehen immer gleich aus.

    Code
    <action name="countdowntotheDelayAction">
          delayedcall	(9.0, 
          mainloadscene(pano1894);
    lookto(-0.048354, -0.170358, 0.052099, smooth(0.5,0.05,0.5), true);
    mainloadscene(pano1894);
    lookto(0.096593, -0.149603, 0.101526, smooth(0.1,0.002,0.1), true);
    mainloadscene(pano1894);
    lookto(get(panoview.h), get(panoview.v), get(panoview.fov), smooth(0.5,0.05,0.5), true);      );
      </action>

    Gibt es eine Möglichkeit, die Bewegungen völlig linear zu machen in ihrer Richtung? Bzw. woher kommt das hier beobachtete Verhalten überhaupt? Ich kann es mir gar nicht erklären.

    Vielen Dank!
    Herzliche Grüße
    Daniel

    P.S:: Ich arbeite mit PanoTour Pro 2.5.9, das krpano 1.19 benutzt.

    Edited 2 times, last by daniel908 (February 1, 2018 at 8:40 PM).

  • Hi,

    ich bin mir nicht ganz sicher was gemeint ist, aber versuche einmal die limitview Einstellung auf 'off' zu setzen - z.B.

    Code
    <view ... limitview="off" />

    Wenn sich die Lookto Koordinaten außerhalb des 'limitview-Bereichs' dann werden diese davon 'beschränkt' - und davon kann diese Bewegung kommen.

    Schöne Grüße,
    Klaus

  • Hallo Klaus,

    besten Dank für deine Antwort.
    Ja, das hilft tatsächlich, allerdings nicht überall.
    Bitte schau mal kurz rein, wenn du Zeit hast (achtung: Der Content hinter dem Link wird sich evtl. bald wieder ändern - aber bis Donnerstag 8.2.2018 abends wird er den hier beschriebenen Stand haben):
    https://hertrich.photo/pano/Highspeed-Fotos.html


    Im ersten Bild sind die Bewegungen jetzt schön linear.
    Aber im zweiten Bild sind Bewegung 1 und 3 jeweils wieder mit einem für mich nicht verständlichen RIchtungswechsel.

    Ich habe alle limitview="fullrange" im Tour-XML durch limitview="off" ersetzt, für alle Bilder.

    Ein weiteres Problem, das sich durch die Änderung erst ergibt, ist (natürlich), dass der Benutzer das Bild komplett aus dem Sichtbereich schieben kann. Kann man das wieder irgendwie verhindern? Ich verstehe die limitview-Parameter nicht ganz. Würde "offrange" da z.B. helfen? Quasi das Range so weit vergrößern, dass genug "Platz" für lineare Bewegungen ist, aber so weit limitieren, dass der Benutzer das Bild nur soweit schieben kann, dass zumindest noch eine Ecke oder Kante des Bildes sichtbar bleibt?

    Viele Grüße,
    Daniel

  • Bitte schau mal kurz rein, wenn du Zeit hast (achtung: Der Content hinter dem Link wird sich evtl. bald wieder ändern - aber bis Donnerstag 8.2.2018 abends wird er den hier beschriebenen Stand haben):

    Sorry, keine Ahnung was da ablaufen soll, irgendwie wird das ständig das Panorama gewechselt...
    Im Log gibt es auch ständig Warnungen über fehlerhafte lookto Aufrufe, ich schätzte da stimmt erst einmal etwas grundsätzliches mit der Tour Logik nicht...

    Mehr kann ich leider nicht sagen, die XML Dateien von Panotour sind leider nicht sehr übersichtlich...

    Ein weiteres Problem, das sich durch die Änderung erst ergibt, ist (natürlich), dass der Benutzer das Bild komplett aus dem Sichtbereich schieben kann. Kann man das wieder irgendwie verhindern? Ich verstehe die limitview-Parameter nicht ganz. Würde "offrange" da z.B. helfen? Quasi das Range so weit vergrößern, dass genug "Platz" für lineare Bewegungen ist, aber so weit limitieren, dass der Benutzer das Bild nur soweit schieben kann, dass zumindest noch eine Ecke oder Kante des Bildes sichtbar bleibt?

    Versuche limitview="range" oder limitview="lookto" und gibt mit den hlookatmin/hlookatmax/vlookatmin/hlookatmax Einstellungen manuell einen Bereich vor - zB.

    Code
    <view ... limitview="lookto" hlookatmin="-1.0" hlookatmax="+1.0" vlookatmin="-1.0" vlookatmax="+1.0" />
  • Oh, okay. Dann ist da ein Logik-Bug drin. Die Tour ist mit Panotour Pro erzeugt, mit einigen INstanzen des Delayed-Action-Plugins sowie einigen Actions, die von Panorama-Start-Triggern ausgelöst werden. Scheint, als ob da was schief läuft.
    Die Tour sollte allerdings flüssig laufen, wenn man in den ersten drei Bildern nichts macht, sondern alles erstmal automatisch ablaufen lässt. (Nach den ANimationen ist erstmal 10 Sekunden Delay, dann wird das nächste Bild geladen).

    Die fehlerhaften Lookto()-Aufrufe muss ich mir mal ansehen. Wie kann ich die Meldungen denn sehen? Das Log wird ja nur bei ERRORs angezeigt normalerweise. Da das bei mir nicht angezeigt wird, scheinen es keine ERRORs zu sein.

    Ich werde morgen mal deine Vorschäge ausprobieren.
    Danke derweil!

  • Hi,

    was noch ein Problem sein könnte: die fov(zoom)-Beschränkungen (fovmin oder maxpixelzoom) - wenn das lookto über diese hinauszoomen möchte, wird dieses von diesen begrenzt.

    D.h. kontrolliere die fovmin und lookto fov Werte.

    Schöne Grüße,
    Klaus

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!