Anpassung des Seitenverhältnisses bei 3d-Objekten

  • Hallo zusammen,


    ich nutze Krpano vordergründig für 3d-Objekte und Flat-Panos. Funktioniert soweit ganz gut.

    Eine Sache stört mich allerdings:
    Wenn das krpano.swf sagen wir Abmaße von 16:9 hat und das Bild ist im Hochkant-Format, dann wird das Bild der Breite nach an das 16:9-Format angepasst. Das Bild wird zwar horizontal und vertikal zentriert, aber die Höhe ist zu groß und das Bild wird oben und unten abgeschnitten. Bisher hab ich leider keine zuverlässige Einstellung oder Zoom-Stufe erraten können, die einerseits das Bild an der Höhe orientieren lässt bzw. das ganze Bild im "kleinen" krpano.swf sowie im Vollbildmodus anzeigt. Des Weiteren kann man allgemein den Zoom bei CYLINDER wenig beschränken. Ich gehe davon aus, das dies der fehlenden Notwendigkeit bei 360°-Panoramen und jungen Implementierung geschuldet ist.

    Außerdem ist noch auffällig, dass wenn man ein 3d-Objekt nicht zoomt und in den Vollbildmodus wechselt, das Plugin kurzzeitig einfriert. Das ist recht suboptimal, da es für den Nutzer so aussieht, als wäre das ganze Flash tot.


    Gruß dyron

  • Hallo Klaus,

    hier die Beispiele. Im Ersten ist der Stuhl "zu groß", so dass er über die Ränder hinausgeht. Man kann ihn aber noch soweit herauszoomen, dass er wie in Bild zwei vollständig zu sehen ist. Das habe ich nun auch mit limitview="fullrange" geschafft. Allerdings konnte ich keinen Einfluss von fovtype erkennen. Hab es nun auf MFOV gestellt.

    Was den Zoom beim Verlassen des Vollbild-Modus angeht, bin ich auch einen Schritt weitergekommen. Durch set(view.fov, 179.0); fährt er wieder ganz heraus, allerdings möchte ich gern view.fovmax nehmen. Das Problem ist, dass view.fovmax zu dem Zeitpunkt eine Zeichenkette ist und view.fov dann auf NaN steht. Gibts eine to_int() Methode?

    Ist es sogar so, dass limitview="fullrange" fovmax und fovmin ignoriert und man es nur durch maxpixelzoom beschränken kann?

    Gruß dyron

  • Hi,

    Was den Zoom beim Verlassen des Vollbild-Modus angeht, bin ich auch einen Schritt weitergekommen. Durch set(view.fov, 179.0); fährt er wieder ganz heraus, allerdings möchte ich gern view.fovmax nehmen. Das Problem ist, dass view.fovmax zu dem Zeitpunkt eine Zeichenkette ist und view.fov dann auf NaN steht. Gibts eine to_int() Methode?

    hast du ein Beispiel von dem Problem?


    Ist es sogar so, dass limitview="fullrange" fovmax und fovmin ignoriert und man es nur durch maxpixelzoom beschränken kann?

    wenn maxpixelzoom gesetzt ist, dann wird das fovmin ignoriert bzw. ständig aufgrund von maxpixelzoom und der Fenstergröße neu berechnet,

    fovmax wird nie ignoriert, es kann aber natürlich sein das die Limitierung durch limitview="fullrange" schon vorher greift,
    mittels - limitview="offrange" - wird der Zoom durch Bildgröße selbst nicht mehr limitiert, dann kann bis zu fovmax herausgezoomt werden,

    Schöne Grüße,
    Klaus

  • Hallo Klaus,

    hast du ein Beispiel von dem Problem?

    Beispiel 1:

    Code
    trace(view.fov);
    //set(view.fov, view.fovmax);
    set(view.fov, 179.0);
    trace(view.fov);

    Beispiel 2:

    Code
    trace(view.fov);
    set(view.fov, view.fovmax);
    //set(view.fov, 179.0);
    trace(view.fov);

    wenn maxpixelzoom gesetzt ist, dann wird das fovmin ignoriert bzw. ständig aufgrund von maxpixelzoom und der Fenstergröße neu berechnet,

    Müsste da nicht foxmax immer neu berechnet werden? Soweit ich maxpixelzoom verstanden hab, wird ein 4000x4000px Bild um diesen Faktor verkleinert also bei .5 ist das Flatpan maximal 2000x2000px. Denn ich hab ja auch bei maxpixelzoom="1.0" oder maxpixelzoom="2.0" die gleiche am weitesten herausgezoomte Ansicht (kleinstes Level-Bild wird abhängig vom fovtype komplett unskaliert im krpano.swf angezeigt). Wenn ich maxpixelzoom durch fovmax und fovmin (fovmax="89.0" fovmin="10.0") ersetze, wird es weiter herausgezoomt dargestellt

    allerdings kann ich dann weder per Mausrad noch Buttons zoomen.

    Gruß dyron

  • Hi,

    set(view.fov, view.fovmax);

    das geht nicht, damit wird view.fov auf den Text "view.fovmax" gesetzt,
    um den Inhalt von fovmax zu setzen entweder:

    Code
    set(view.fov, get(view.fovmax));

    oder:

    Code
    copy(view.fov, view.fovmax);

    verwenden


    bzgl. maxpixelzoom - damit wird der max. Zoom der Pixelgröße des Panoramas kontrolliert,
    z.B. wenn das Panoramabild 100x100 Pixel groß wäre und maxpixelzoom=1.0 ist, dann wäre es nicht
    möglich das Bild weiter zu vergrößern diese 100x100 Pixel am Bildschirm, als maximal bis zu einer
    1:1 Darstellung (unabhängig von Fenster und Bildschirmgröße),
    mit der Herauszoomen (also verkleinern) hat das nichts zu tun,

    allerdings kann ich dann weder per Mausrad noch Buttons zoomen.

    standardmäßig funktioniert die Maus nur über dem Panoramabild selbst,
    durch das Einrichten einer farbigen Hintergrundebene ist es aber möglich
    die Maus trotzdem überall zu verwenden,
    z.B. mit:

    Code
    <krpano bgcolor="0x000000">

    Schöne Grüße,
    Klaus

  • Hallo Klaus,


    an get() hatte ich natürlich nicht gedacht. Danke.


    Das mit dem Heraus- und Hereinzoomen werde ich mir an anderer Stelle noch mal genauer anschauen. Mir scheint die bisherige Funktionalität erstmal ausreichend.

    Vielen Dank noch mal.


    Gruß dyron

Participate now!

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