Panorama blenden während dem drehen möglich? (solved)

  • Hallo zusammen

    Ich habe ein variierendes LED Haus 5x abgelichtet und soweit alle Panoramen online.
    Wenn ich dieses Panorama(offline, ENDRESULTAT im Post 8) starte und nichts tue, funktioniert die Blenderei der einzelnen Panos wunderbar.
    Jedoch kann ich nach dem ersten "Blend" die Maus wegschmeissen, weil das Pano sich nicht drehen lassen will.
    Umgekehrt, wenn ich das Panorama sofort drehe und dann loslasse, tut sich nichts mehr.
    Desweiteren möchte ich natürlich die gerade aktuellen "Lookto" Koordinaten mitübermitteln.
    Wie krieg ich den Code gebacken? Soviel ich gelesen habe, ist "rotate und loadpano" gleichzeitig nicht möglich, richtig?
    Ich könnte auch mit "blend"leben, das den "inaktiven" User voraussetzt.
    Der aktuelle Versuch...


    ...verursacht die momentanen Probleme.

    Wer kann helfen?

    Gruss und danke im Voraus

  • Hallo,

    also nicht das ich jetzt so direkt wüsste woran es liegt, aber vielleicht kannst du uns einmal deine XML zeigen, da muss ja irgendwas im argen sein.

    Das mit dem Blend ist ja nicht das Problem, ich schätze da haste dich woanders verhaspelt, das danach nix mehr geht bei der Bedienung.

    Grüße

  • Hm, also:

    da die 3 Sekunden"blend" Sequenz von einer Farbe zur anderen ja die Navigation lahmlegt und die Wechsel alle 5 Sekunden stattfinden, kommt die Navigation anscheinend gar nie zum Zuge.

    Ich möchte aber per User "rotate" und "blend" gleichzeitig!
    Frage: Grundsätzlich überhaupt möglich mit krpano? Wenn ja, wie?

    Da nur die Frontfläche des LED Hauses sich ändert und der Rest der anderen 5 Panoramen exakt zu 100% der gleiche Inhalt ist,
    gibt es andere Wege, z.B. die einzelnen Cubes auswechseln?
    -->Slider blend cubes?
    Edit: Scheint vielversprechend...

    Nur so als Idee:
    Wäre der Umweg via JPG Einbindung der LED Fassade nicht auch eine Lösung? Wahrscheinlich wird die Positionierung schwierig..
    Edit: Jepp, funktioniert, leider dauert das Positionieren eine Ewigkeit via Hotspot rx, ry & rz.... matched:99%
    Kanns auch nicht sein...

    Ich bleib dran
    Danke

  • Interessanterweise funktioniert es halbwegs (offline) mit delayedcall:

    Zumindest kann teilweise zwischen dem blenden navigiert werden. Sogar die Koordinaten werden übermittelt, wenn nicht grad die Maustaste gehalten und bewegt wird.
    Überzeugend ist die aber nicht...

  • Rumspielen macht Spass!

    Habe aus den examples mal die "Slider blend cubes" Variante bearbeitet.

    Da das Beispiel nicht Navigieren und Sliden gleichzeitig zulässt, habe ich "autorotate" eingefügt und dann am Slider rumgespielt. SIEHE DA!
    Navigieren UND blenden geht also doch!

    Die nächsten Probleme sind:
    Slider umbauen in Automatisierung & Erweiterung auf 5 Panoramen.
    Hier steh ich voll am Zaun, der Aufbau des Blendeffektes im Slider verstehe ich nicht.
    Und woher dieser kurze Abblendeffekt kommt beim Sliden suche ich auch noch...
    Wer kennt sich aus?

  • Mit dem example "interactivearea.xml " lässt sich das ganz easy programmieren.
    Hier der neueste Stand des Irrtums umgesetzt (offline)


    Klappt mit einem Cube bis jetzt ganz gut, nun noch der 2. Cube (linke Gebäudehälfte).


    Wie loopt man eigentlich die Blenderei in einer sauberen "action"?

  • So, nach diesem autodidaktischen Beinah-Monolog und mehrfacher Nutzung des Freds als Ideen-Post-it nun die finale Version:

    5 - Layer Blendmix von 2 Cubes

    Mein CPU Kühler läuft nach 1 Min zuschauen ziemlich hochtourig, "tween" scheint ihren Tribut zu fordern...

    Bei Grafik- oder Performanceproblemen wäre ich dankbar für Feedback...wenn im Code noch ein paar Watt & Celsius gespart werden können ebenso!

  • Hi namenloser,

    vom Grundprinzip her stimmt eigentlich alles, auch wenn Du wohl noch etwas Rechenpower einsparen könntest, indem Du jeweils immer nur einen delayedcall laufen lässt und die verschiedenen Hotspots beim start auf "visible=false" setzt und erst direkt vor dem alpha-tween das tag auf true wechselst. Denn momentan sind alle Hotspots beim Start zwar wie gewollt unsichtbar, da transparent, aber dennoch vorhanden und aktiv.

    Anstelle der vielen gleichzeit ablaufenden delayedcalls würde ich empfehlen eine action zu schreiben welche nur einen einzigen delayedcall nutzt und die jeweilige Farbe, und damit auch den hotspotnamen, per rotierender variable übermittelt bekommt. Ich hab zwar keine Ahnung wieviel performance mehrere delayedcall-Aufrufe wirklich verschlingen, aber auf diese Weise wäre das hinzufügen weiterer Farben auch wesentlich leichter.

    Gruß
    Nupsi

  • Hi,

    das delayedcall und das tween selbst sollte Performance-mäßig kaum etwas aus machen, allerdings mehrere große distorted Hotspots zusammen mit alpha-blending zu zeichnen ist für eine CPU einfach eine extreme Arbeit!

    Wenn möglich versuchen, die aktuell nicht verwendetet Hotspots per visible="false" oder auch autoalpha="true" entfernen - das entlastet den Flashplayer, da dieser dann weniger Hotspots zeichnen und überblenden muss.

    Schöne Grüße,
    Klaus

  • Danke Euch beiden!

    Ja, das visible="false", holt die CPU von ihrem Trip runter, nur noch Ressourcen-Peaks beim blenden und Lüfterstufe 2-3, vorher 5-6.

    Der Code wurde soweit umgeschrieben und im Post 8 korrigiert.
    Nupsi
    Leider fehlt mir genau die Krpano Lektion, wie man mit Variablen um sich schmeisst. Insofern würde mich dieses Thema schon interessieren, um noch ein paar Codezeilen zu sparen.
    Wo genau muss mein Verständnis ansetzen?

    Gruss

    der Namenlose alias 2d3d

  • Autoalpha ist ja genial *blink* Krpano hört doch nie auf mich zu verblüffen!

    r2d2 *g*
    Die krpano beiliegenden Beispiele sollten einen guten Start ermöglichen. Und zur Hilfe dann die Doku und Forum. Die Arbeit mit Variablen ist aber sehr einfach und schnell zu erlernen. In Deinem Beispiel koennte das in etwa so ausschauen:

    set(h1,rot);
    set(h2,blau);
    set(h3,lila);

    Usw. bis alle gewuenschten Hotspot-Farben abgedeckt sind. Und dann kannst Du diese Variablen nutzen um eine automatische Schleife zu kreieren:

    <action name="blend">
    if(ct == null, set(ct,1)); <!--ct ist eine variable welche wir jetzt als counter/zaehler nutzen -->
    txtadd(hsname,'h',get(ct));
    set(hotspot[get(hsname)].visible,true);
    inc(ct,1);
    if(ct LE 5,action(blend)); <!-- neustart der Schleife bis alle x Farben durchgeschaltet sind -->
    </action>

    ist natuerlich so nicht lauffaehig, aber es zeigt hoffentlich den Weg. Sorry fuer Fehler, ist schon spaet und das tippen von code auf dem iPad ist echt grausam *wink*

    Gruss
    Nupsi

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!