Du bist nicht angemeldet.

1

Donnerstag, 11. Juni 2015, 15:25

KrPano - Frage zu Hotspot

Hallo zusammen,

in Sachen krpano bin ich noch ziemlich am Anfang und taste mich nun langsam vor. Ich habe mit dem Droplet "MAKE VTOUR (NORMAL) droplet" eine kleine Tour aus drei Panoramen erstellt. War ja nicht so schwer. Das Startpano lasse ich als Little Planet starten. So weit so gut.

Was mich stört ist, dass die Hotspots bereits bei Seitenaufruf sichtbar sind, also auch beim Little Planet, das sieht unschön aus. Wie ist es möglich, die Hotspots erst anzuzeigen, nachdem das Pano vollständig geladen ist, also erst nach der Little Planet Transformation?

Ein Einsteiger in krpano würde sind über einen Tipp sehr freuen... :-)

neoman

2

Donnerstag, 11. Juni 2015, 15:55

Ohne XML Code Beispiel immer schwierig zu beantworten. Bei der Darstellung der Hotspot könnte man eine Verzögerung einbauen. Ich glaube aber im KRpano Forum wirst du schneller eine Antwort bekommen.
mein Blog | VRpix.ch | mein Panorama Head

3

Donnerstag, 11. Juni 2015, 17:50

Im krpano-Forum kann mir bis jetzt leider auch keiner helfen. Aber vielleicht hier...

Hier ist meine XML...

$this->cacheCode('[php]','
<krpano version="1.18" title="Virtual Tour" onstart="startup();">

<!-- plugins -->
<plugin name="options" url="plugins/options.swf" keep="true" />

<include url="skin/vtourskin.xml" />

<!-- set skin settings: bingmaps? gyro? thumbnails? tooltips? -->
<skin_settings maps="false"
maps_type="bing"
maps_bing_api_key=""
maps_zoombuttons="false"
gyro="true"
title="true"
thumbs="true"
thumbs_width="120" thumbs_height="80" thumbs_padding="10" thumbs_crop="0|40|240|160"
thumbs_opened="false"
thumbs_text="false"
thumbs_dragging="true"
thumbs_onhoverscrolling="false"
thumbs_scrollbuttons="false"
thumbs_scrollindicator="false"
thumbs_loop="false"
tooltips_thumbs="false"
tooltips_hotspots="false"
tooltips_mapspots="false"
loadscene_flags="MERGE"
loadscene_blend="BLEND(0.5)"
controlbar_offset="20"
/>

<!-- set optional skin logo url -->
<layer name="skin_logo" url="" scale="0.25" opened_onclick="openurl('...',_blank);" />


<action name="startup">
if(startscene === null, copy(startscene,scene[0].name));
loadscene(get(startscene), null, MERGE);
</action>

<!-- hotspot style predefines - white hotspot -->
<style name="hotspot_ani_white"
url="skin/hotspot_ani_white_64x64x20.png"
crop="0|0|64|64"
framewidth="64" frameheight="64" frame="0" lastframe="19"
onloaded="hotspot_animate();"
/>

<!-- hotspot animation action -->
<action name="hotspot_animate">
inc(frame,1,get(lastframe),0);
mul(ypos,frame,frameheight);
txtadd(crop,'0|',get(ypos),'|',get(framewidth),'|',get(frameheight));
delayedcall(0.03, if(loaded, hotspot_animate() ) );
</action>


<scene name="scene_pano_aussen_7000x3500" title="pano_aussen_7000x3500" onstart="" thumburl="panos/pano_aussen_7000x3500.tiles/thumb.jpg" lat="" lng="" heading="">

<!--<view hlookat="44.776" vlookat="0.000" fovtype="MFOV" fov="120.000" maxpixelzoom="2.0" fovmin="70" fovmax="140" limitview="auto" />-->

<!-- startup view settings for 'little planet view' (stereographic=true + fisheye=1.0 + fov>120 + vlookat>70) -->
<view stereographic="true"
fisheye="1.0"
fov="155"
fovtype="VFOV"
fovmax="150"
hlookat="-60"
vlookat="77"
/>

<!-- fisheye and little planets projections are needing more cpu rendering performance,
to reduce the cpu need and get better performance and frame rate, switch to Flash9
rendering while in fisheye/littleplanet/stereographic mode -->
<display flash10="off" details="24" />

<!-- when the loading is done, wait 2 seconds and then start with the animation to an view -->
<events name="littlePlanet" onloadcomplete="delayedcall(2.0, normalview()); set(events.onloadcomplete,null);" />

<action name="normalview">
tween(view.hlookat, 50, 2.5, easeInOutQuad);
tween(view.vlookat, 0, 2.5, easeInOutQuad);
tween(view.fov, 85, 2.5, easeInOutQuad);
tween(view.fisheye, 0.0, 2.5, easeInOutQuad);
tween(view.fovmin, 55, 2.5, easeInOutQuad);
tween(view.fovmax, 115, 2.5, easeInOutQuad);
wait(2.7);
set(display.flash10, on);
showtext('krpano[br]little planet intro example', infostyle)
</action>

<preview url="panos/pano_aussen_7000x3500.tiles/preview.jpg" />

<image>
<cube url="panos/pano_aussen_7000x3500.tiles/pano_%s.jpg" />
<mobile>
<cube url="panos/pano_aussen_7000x3500.tiles/mobile_%s.jpg" />
</mobile>
</image>

<!-- place your scene hotspots here -->
<!--<hotspot name="spot1" style="skin_hotspotstyle" ath="29.684" atv="17.225" linkedscene="scene_pano_vorne_7000x3500" />-->
<hotspot name="spot1"
style="hotspot_ani_white"
ath="29.684"
atv="5"
onclick="lookto(get(ath),5,60);
loadscene(scene_pano_vorne_7000x3500,null,MERGE,BLEND(1));
lookat(0, 0, 100);
set(view.architectural,1.0);
wait(BLEND);
tween(view.architectural,0.0,2.0);
oninterrupt( tween(view.architectural,0.0,0.5) );
lookto(-60, 0, 100, smooth(100,100,200));
"
/>

</scene>

<scene name="scene_pano_mitte_7000x3500" title="pano_mitte_7000x3500" onstart="" thumburl="panos/pano_mitte_7000x3500.tiles/thumb.jpg" lat="" lng="" heading="">

<view hlookat="0" vlookat="0" fovtype="MFOV" fov="100" fovmin="70" fovmax="130" limitview="auto" />

<preview url="panos/pano_mitte_7000x3500.tiles/preview.jpg" />

<image>
<cube url="panos/pano_mitte_7000x3500.tiles/pano_%s.jpg" />
<mobile>
<cube url="panos/pano_mitte_7000x3500.tiles/mobile_%s.jpg" />
</mobile>
</image>

<!-- place your scene hotspots here -->
<hotspot name="spot1" style="skin_hotspotstyle" ath="-133.109" atv="6.843" linkedscene="scene_pano_aussen_7000x3500" />
<!--<hotspot name="spot2" style="skin_hotspotstyle" ath="-152.020" atv="7.440" linkedscene="scene_pano_vorne_7000x3500" />-->
<hotspot name="spot2"
style="hotspot_ani_white"
ath="-152.020"
atv="7.440"
onclick="lookto(get(ath),5,60);
loadscene(scene_pano_vorne_7000x3500,null,MERGE,BLEND(1));
lookat(0, 0, 100);
set(view.architectural,1.0);
wait(BLEND);
tween(view.architectural,0.0,2.0);
oninterrupt( tween(view.architectural,0.0,0.5) );
lookto(-60, 0, 100, smooth(100,100,200));
"
/>


</scene>

<scene name="scene_pano_vorne_7000x3500" title="pano_vorne_7000x3500" onstart="" thumburl="panos/pano_vorne_7000x3500.tiles/thumb.jpg" lat="" lng="" heading="">

<view hlookat="0" vlookat="0" fovtype="MFOV" fov="100" fovmin="70" fovmax="130" limitview="auto" />

<preview url="panos/pano_vorne_7000x3500.tiles/preview.jpg" />

<image>
<cube url="panos/pano_vorne_7000x3500.tiles/pano_%s.jpg" />
<mobile>
<cube url="panos/pano_vorne_7000x3500.tiles/mobile_%s.jpg" />
</mobile>
</image>

<!-- place your scene hotspots here -->
<!--<hotspot name="spot1" style="skin_hotspotstyle" ath="-55.768" atv="7.890" linkedscene="scene_pano_mitte_7000x3500" />-->
<hotspot name="spot1"
style="hotspot_ani_white"
ath="-55.768"
atv="7.890"
onclick="lookto(get(ath),5,60);
loadscene(scene_pano_mitte_7000x3500,null,MERGE,BLEND(1));
lookat(0, 0, 100);
set(view.architectural,1.0);
wait(BLEND);
tween(view.architectural,0.0,2.0);
oninterrupt( tween(view.architectural,0.0,0.5) );
lookto(-140, 0, 100, smooth(100,100,200));
"
/>
<!--<hotspot name="spot2" style="skin_hotspotstyle" ath="179.986" atv="21.371" linkedscene="scene_pano_aussen_7000x3500" />-->
<hotspot name="spot2"
style="hotspot_ani_white"
ath="179.986"
atv="9"
onclick="lookto(get(ath),5,60);
loadscene(scene_pano_aussen_7000x3500,null,MERGE,BLEND(1));
lookat(0, 0, 100);
set(view.architectural,1.0);
wait(BLEND);
tween(view.architectural,0.0,2.0);
oninterrupt( tween(view.architectural,0.0,0.5) );
lookto(-140, 0, 100, smooth(100,100,200));
"
/>

</scene>


</krpano>
')

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »neoman666« (11. Juni 2015, 18:49)


4

Donnerstag, 11. Juni 2015, 19:08

Hi!

Mach die Hotspots unsichtbar.

Zitat

<krpano>
<events onloadcomplete=


Und damit die Hotspots erst anzeigen.

Gruß

5

Freitag, 12. Juni 2015, 14:26

Wäre schön wenn du den Aufruf für mich noch vervollständigen könntest, da ich es momentan einfach noch nicht hinbekomme...

6

Montag, 15. Juni 2015, 09:05

Bin nicht sicher ob das hier geht... oder halt am richtigen Ort einbauen dass Hotspot erst sichtbar wenn geladen

$this->cacheCode('[php]','
<krpano onstart="set(hotspot.alpha,0)" onloadcomplete="set(hotspot.alpha,1);" />
')
mein Blog | VRpix.ch | mein Panorama Head

7

Dienstag, 16. Juni 2015, 07:46

Danke für Deinen Hinweis, hat super funktioniert. Man muss nur noch hinter dem hotspot den Namen des Hotspots mitgeben, also so

$this->cacheCode('[php]','<krpano onstart="set(hotspot[namedeshotspots].alpha,0);" ...>')

Ohne den Hotspotnamen hat es bei mir nicht geklappt.

Danke euch nochmal für die Hilfe...


mfg neoman