Personalisation KrPano

quoideneufdocteur?
Messages : 358
Inscription : 29 sept. 2009, 19:42 05

Personalisation KrPano

Message par quoideneufdocteur? »

Chris-3D a écrit :Bonjour à tous,
Je réalise mes panoramiques avec les logiciels Autopano Giga et Panotour Pro.
Je dispose d'une NJ4 avec un Nikon D5500 et un fisheye Samyang 8mm.
Je recherche des infos sur Kr Pano(xml) pour personnaliser mes visites.
Merci et à bientôt :hello:
Chris
Bonjour et bienvenue Chris,
Tu veux faire quoi avec Krpano que ne ferait pas Panotour ?
quoideneufdocteur?
Messages : 358
Inscription : 29 sept. 2009, 19:42 05

Re: Bonjour

Message par quoideneufdocteur? »

Je ne suis pas sur d'avoir compris exactement ce que tu veux faire.
Tu as une visite avec plusieurs panos différents, dans chacun des panos tu as une vidéo différente de celles existantes sur les autres panos.
A l'ouverture de chaque pano la vidéo concernée se lance toute seule et tu peux au moins gérer la lecture/pose de la vidéo avec le bouton du menu , non ?
Genre http://assets.361degres.fr/panoramas_new/indian/
Tu veux faire quoi avec tes 5 boutons ?
quoideneufdocteur?
Messages : 358
Inscription : 29 sept. 2009, 19:42 05

Re: Bonjour

Message par quoideneufdocteur? »

Chris-3D a écrit :Hello quoideneufdocteur?,

voici un exemple :

j'ai une visite avec plusieurs panos et un hotspot vidéo (video_1.mp4) dans chacun des panos.

Je voudrais pouvoir changer le lien videourl (videourl="%FIRSTXML%/spots/video_1.mp4")dans les hotspots vidéo à l'aide de 5 boutons.
bouton 1 = video_1
bouton 2 = vidéo_2
etc....

- J'ai créé ma visite avec les hotspots vidéo (video_1) dans Panotour Pro

- J'ai copié 4 vidéos de même résolutions (video_2.mp4, video_3.mp4 etc... ) dans le dossier \spot

- J'ai intégré 5 boutons dans le fichier xml.

pour le test, voici le code avec seulement spotvideo33 et le plugin bouton2 avec sa fonction onclick.

Merci ;)

Code : Tout sélectionner

  <!-- **** 1 Video Spots **** -->
  <krpano videospots_playing="0" />

  <hotspot name="spotvideo33"
           style="RectVideoDefaultVideoSpotStyle"
           tag="video"
           descriptionid=""
           ath="-35.537013" atv="-14.118694"
           width="144"
           height="246"
           rx="-15.525260567467491"
           ry="28.48268078697977"
           rz="0.43811319515792591"

           onclick="onclickspotvideo33_stateVideo();onclickspotvideo33(true);"
           onvideoreadyspecific="onvideoreadyspotvideo33"
           posterurl="%FIRSTXML%/spots/video_1.jpg"
         />
  <hotspot name="spotvideo33" devices="flash" zorder="2"/>
  <hotspot name="spotvideo33" devices="html5" zorder="2"/>
  <hotspot name="spotvideo33" videourl="%FIRSTXML%/spots/video_1.mp4" devices="desktop" onunsupported="trace('not supported');" />
  <hotspot name="spotvideo33" videourl="%FIRSTXML%/spots/video_1.mp4" devices="tablet.or.mobile" onunsupported="trace('not supported');" />
  <hotspot name="spotvideo33Loader"
           style="RectVideoDefaultVideoSpotStyleLoader"
           ath="-35.537013" atv="-14.118694"
           rx="-15.525260567467491"
           ry="28.48268078697977"
           rz="0.43811319515792591"
           activated="false"
           onloaded="onloadedspotvideo33Loader"         
                 />
  <plugin name="bouton2"  visible="true" url="graphics/bouton2.png" keep="true" align="leftbottom"  x="80" y="7" 
onclick=" ???????????? "
 />
Regarde si tu peux t'en tirer avec ça

Code : Tout sélectionner

    <layer name="button"
         keep="true"
         url="%FIRSTXML%/graphics/button/bouton1.png" 
         align="top"
         x="10"
         y="10"
         zorder="16"
         visible="false"
         onclick="buttonOnClick"
         height="100"
         width="100"
         />
  <action name="buttonOnClick">set (hotspot[spotvideo33].visible,false);
      </action>
A partir d'un clic sur ton bouton1 ta vidéo "spotvideo33" ne va plus s'afficher, (si visible "true" tu peux la réafficher.)

Code : Tout sélectionner

<action name="buttonOnClick">set (hotspot[spotvideo33].visible,true);set (hotspot[spotvideoXX].visible,false);set (hotspot[spotvideoXX].visible,false);
      </action>
Avec ça tu peux décider d'afficher ou non certaines vidéos à partir du bouton XX, bon courage ! (l'idée, c'est évidemment d'avoir XX hotspots vidéo empilés les un par dessus les autres et de lire uniquement celui sélectionné par le bouton, pas de changer le flux vidéo d'un hotspot, ce qui doit être impossible)
quoideneufdocteur?
Messages : 358
Inscription : 29 sept. 2009, 19:42 05

Re: Bonjour

Message par quoideneufdocteur? »

Chris-3D a écrit :Merci pour ta réactivité. :super:
J'ai essayé avec 2 boutons, le code fonctionne bien avec le système des layers.
Par contre avec 5 boutons et pleins de spotvideos, comment faire ?
J'ai seulement 5 vidéos dans toute ma visite (video_1,video_2,video_3,video_4 et video_5)
Voici l'arborescence de mon projet :
Pano 1 affiche les 5 boutons et 5 layers Hotspotvideo
- layer spotvideo1 = video_1
- layer spotvideo2 = video_2
- layer spotvideo3 = video_3
- layer spotvideo4 = video_4
- layer spotvideo5 = video_5


Pano 2 affiche les 5 boutons et 5 layers Hotspotvideo
- layer spotvideo6 = video_1
- layer spotvideo7 = video_2
- layer spotvideo8 = video_3
- layer spotvideo9 = video_4
- layer spotvideo10 = video_5

En sachant que j'ai plusieurs panos

Comment coder en mettant les spotvideos les uns après les autres ?
Pour la video_1 j'utilise le bouton1
bouton 1 si Onclick (spotvideo1 et spotvideo6 visible,true) (spotvideo2,spotvideo3,spotvideo4,spotvideo5,spotvideo7,spotvideo8,spotvideo9,spotvideo10,visible,false)

Pour la video_2 j'utilise le bouton2
bouton 2 si Onclick (spotvideo2 et spotvideo7 visible,true) (spotvideo1,spotvideo3,spotvideo4,spotvideo5,spotvideo6,spotvideo8,spotvideo9,spotvideo10,visible,false)

etc...
Si tu as une meilleur solution, je suis preneur. ;)


Par contre tu me dis que c'est pas possible de changer le lien url du spotvideo.
Voici l'original avec le lien videourl
<hotspot name="spotvideo33" videourl="%FIRSTXML%/spots/video.mp4" devices="desktop" onunsupported="trace('not supported');" />

J'aurai voulu pouvoir remplacer le lien videourl par un nom. ex : name video
<hotspot name="spotvideo33" videourl="name video" devices="desktop" onunsupported="trace('not supported');" />

et ensuite de demander au bouton de mettre un lienurl à name video ex :
bouton 1 - onclick name video =videourl="%FIRSTXML%/spots/video_1.mp4"
bouton 2 - onclick name video =videourl="%FIRSTXML%/spots/video_2.mp4"
Cela demanderait moins de codage

Je ne sais pas dans quelle mesure on peut faire les modifications que tu proposes, je ne suis pas un cador du xml, je suis un tâcheron incapable de partir d'une feuille blanche et de pondre du code à la volée pour réaliser une visite !
Ce que je sais pour l'avoir testé c'est qu'il est possible de lire plusieurs vidéos empilées une par une en cliquant sur un bouton dédié à chaque vidéo..
Chris-3D a écrit : Comment coder en mettant les spotvideos les uns après les autres ?
Pour la video_1 j'utilise le bouton1
bouton 1 si Onclick (spotvideo1 et spotvideo6 visible,true) (spotvideo2,spotvideo3,spotvideo4,spotvideo5,spotvideo7,spotvideo8,spotvideo9,spotvideo10,visible,false)
Je n'ai pas essayé cette syntaxe bizarre, si tu fais ça de toute façon tu as deux vidéo en "true" en même temps. Ma proposition était celle-ci, j'ai testé avec trois boutons et trois vidéos, ce bout de code est à dupliquer pour chaque vidéo en modifiant les valeurs true/false en fonction de la vidéo que tu veux afficher (et en modifiant de nom du "buttonOnClick")

Code : Tout sélectionner

<action name="buttonOnClick">set(hotspot[spotvideo28].visible, true); set(hotspot[spotvideo34].visible, false); set(hotspot[spotvideo35].visible, false);
      </action> 
Chris-3D a écrit : Voici l'arborescence de mon projet :
pano1 affiche les 5 boutons et 5 layers Hotspotvideo
- layer spotvideo1 = video_1
- layer spotvideo2 = video_2
- layer spotvideo3 = video_3
- layer spotvideo4 = video_4
- layer spotvideo5 = video_5


pano2 affiche les 5 boutons et 5 layers Hotspotvideo
- layer spotvideo6 = video_1
- layer spotvideo7 = video_2
- layer spotvideo8 = video_3
- layer spotvideo9 = video_4
- layer spotvideo10 = video_5
Cette présentation laisse supposer que tu as 5 vidéos différentes sur chaque panos et que ces vidéos sont aussi différentes pour l'ensemble de tes 5 panos , soit 25 vidéo différentes (?) Dans le cas contraire (5 vidéos pour l'ensemble de la visite qui sont les mêmes sur les cinq panos) tu as juste besoin de 5 spotvideo qui vont se répéter sur l'ensemble de la visite.

Tu vas faire ça avec krpano ou panotour ?
Répondre

Revenir à « KRPano »