[Tutorial KRPanotools] Automatisation

Répondre
Avatar de l’utilisateur
Job.1
Messages : 2758
Inscription : 12 août 2008, 21:54 35

[Tutorial KRPanotools] Automatisation

Message par Job.1 »

Bon j'ai commis ce petit tuto afin d' automatiser vos sphériques avec votre navigation propre
Alors dans le dossier krpanotools

Image

dans le dossier "templates"

Image

sont tous les fichiers de configuration correspondants aux dropplets, j'ai édité "normal.config" avec un éditeur de texte et changé la ligne entourée de rouge

Image

et rajouté ces quelques lignes

Code : Tout sélectionner

xmltemplate_additional_file=templates/xml/skin/defaultskin.xml
xmltemplate_additional_file=templates/xml/skin/buttons.png
xmltemplate_additional_file=templates/xml/skin/qtvr-cursors.png
xmltemplate_additional_file=templates/xml/skin/drag-cursors.png
Image

donc je viens de lui demander de rajouter des fichiers au xml principal qui seront ma navigation personnalisée, il donc possible de rajouter tous les fichiers que vous voulez, plugins, hotspots, etc..., il faut bien sûr rajouter ces fichiers dans le dossier "template/xml/skin"

dans ce dossier "template/xml/skin"

Image

je vais maintenant éditer les boutons d'origine "buttons.png"

Image

et les transformer avec photoshop (pour info mes nouveaux boutons sont à la taille de 36pix X 36pix)

Image

il me reste à éditer le fichier "defaultskin.xml" pour enlever ce qui ne me servira plus et rajouter tout ce que vous avez rajouter dans le "normal.config", càd, les logos, plugins, hotspots, etc...

Code : Tout sélectionner

<krpano version="1.0.8">


	<!-- default quality settings -->
	<display flash10="on" movequality="LOW" stillquality="HIGH" movequality10="HIGH" stillquality10="HIGH" />


	<!-- events: set the custom cursor on start and fullscreen events for button changes -->
	<events onxmlcomplete="action(setuppano);"
	        onenterfullscreen="set(plugin[openfs].visible,false); set(plugin[closefs].visible,true);"
	        onexitfullscreen ="set(plugin[openfs].visible,true);  set(plugin[closefs].visible,false);"
	        />



	<!-- button showtext() style -->
	<textstyle name="buttonstyle" font="Arial" fontsize="12" bold="true" italic="true"
	           textcolor="0x000000" background="false" border="false"
	           blendmode="layer" effect="glow(0xFFFFFF,0.85,4,4);dropshadow(2,45,0x000000,4,1);"
	           origin="cursor" edge="bottom" xoffset="15" yoffset="-5" showtime="0.1" fadeintime="0.1" fadetime="0.1"
	           />

	<style name="button" url="%SWFPATH%/skin/buttons.png" keep="true" />


	<!-- some default buttons (zooming, direction, hotspots on/off, fullscreen) -->
	<plugin name="in"       align="bottom" x="-160" y="10" style="button" crop="160|0|40|40" onovercrop="160|40|40|40" ondowncrop="160|80|40|40" ondown="set(fov_moveforce,-1);"  onup="set(fov_moveforce,0);" />
	<plugin name="out"      align="bottom" x="-120" y="10" style="button" crop="200|0|40|40" onovercrop="200|40|40|40" ondowncrop="200|80|40|40" ondown="set(fov_moveforce,+1);"  onup="set(fov_moveforce,0);" />
	<plugin name="left"     align="bottom" x="-80"  y="10" style="button" crop=  "0|0|40|40" onovercrop=  "0|40|40|40" ondowncrop=  "0|80|40|40" ondown="set(hlookat_moveforce,-1);"  onup="set(hlookat_moveforce,0);" />
	<plugin name="right"    align="bottom" x="-40"  y="10" style="button" crop= "40|0|40|40" onovercrop= "40|40|40|40" ondowncrop= "40|80|40|40" ondown="set(hlookat_moveforce,+1);"  onup="set(hlookat_moveforce,0);" />
	<plugin name="up"       align="bottom" x="+0"   y="10" style="button" crop= "80|0|40|40" onovercrop= "80|40|40|40" ondowncrop= "80|80|40|40" ondown="set(vlookat_moveforce,-1);"  onup="set(vlookat_moveforce,0);" />
	<plugin name="down"     align="bottom" x="+40"  y="10" style="button" crop="120|0|40|40" onovercrop="120|40|40|40" ondowncrop="120|80|40|40" ondown="set(vlookat_moveforce,+1);"  onup="set(vlookat_moveforce,0);" />
	<plugin name="quality"  align="bottom" x="+80"  y="10" style="button" crop="240|0|40|40" onovercrop="240|40|40|40" ondowncrop="240|80|40|40" onhover="showtext(Toggle Quality, buttonstyle);" onclick="switch(display.flash10,on,off);invalidatescreen();" />
	<plugin name="dragmode" align="bottom" x="+120" y="10" style="button" crop="400|0|40|40" onovercrop="400|40|40|40" ondowncrop="400|80|40|40" onhover="showtext(Change Controlmode, buttonstyle);"  onclick="action(dragcursor);" visible="true"  />
	<plugin name="movemode" align="bottom" x="+120" y="10" style="button" crop="360|0|40|40" onovercrop="360|40|40|40" ondowncrop="360|80|40|40" onhover="showtext(Change Controlmode, buttonstyle);"  onclick="action(qtvrcursor);" visible="false" />
	<plugin name="openfs"   align="bottom" x="+160" y="10" style="button" crop="280|0|40|40" onovercrop="280|40|40|40" ondowncrop="280|80|40|40" onhover="showtext(Fullscreen, buttonstyle);"      onclick="set(fullscreen,true);"  visible="true"  />
	<plugin name="closefs"  align="bottom" x="+160" y="10" style="button" crop="320|0|40|40" onovercrop="320|40|40|40" ondowncrop="320|80|40|40" onhover="showtext(Exit Fullscreen,buttonstyle);"  onclick="set(fullscreen,false);" visible="false" />


	<!-- right-click context menu to change the viewing settings -->
	<contextmenu>
		<item caption="KRPANO"     />
		<item caption="FULLSCREEN" />
		<item caption="normal view"        onclick="action(view_normal);"        separator="true" />
		<item caption="fisheye view"       onclick="action(view_fisheye);"       />
		<item caption="architectural view" onclick="action(view_architectural);" />
		<item caption="stereographic view" onclick="action(view_stereographic);" />
		<item caption="pannini view"       onclick="action(view_pannini);"       />
		<item caption="little planet view" onclick="action(view_littleplanet);"  />
	</contextmenu>



	<!-- actions to change the mouse cursor -->
	<action name="dragcursor">
		set(plugin[dragmode].visible, false);
		set(plugin[movemode].visible, true);
		set(control.mousetype, drag2D);
		set(cursors.url, %SWFPATH%/skin/drag-cursors.png);
		set(cursors.type, drag);
		set(cursors.move,  2|0|30|32);
		set(cursors.drag, 37|0|30|32);
	</action>

	<action name="qtvrcursor">
		set(plugin[dragmode].visible, true);
		set(plugin[movemode].visible, false);
		set(control.mousetype, moveto);
		set(cursors.url, %SWFPATH%/skin/qtvr-cursors.png);
		set(cursors.type, 8way);
		set(cursors.move,       0|0|16|16);
		set(cursors.drag,      16|0|16|16);
		set(cursors.arrow_u,   32|0|16|16);
		set(cursors.arrow_d,   48|0|16|16);
		set(cursors.arrow_l,   64|0|16|16);
		set(cursors.arrow_r,   80|0|16|16);
		set(cursors.arrow_lu,  96|0|16|16);
		set(cursors.arrow_ru, 112|0|16|16);
		set(cursors.arrow_rd, 128|0|16|16);
		set(cursors.arrow_ld, 144|0|16|16);
	</action>



	<!-- actions for view changing -->
	<action name="view_normal">
		tween(view.fovmax,       150.0, distance(179, 1.00), easeoutquad);
		tween(view.architectural,  0.0, distance(1.0, 0.45), easeoutquad);
		tween(view.fisheye,        0.0, distance(1.0, 0.45), easeoutquad, set(view.stereographic,false); set(view.pannini,false); set(display.flash10,on); );
	</action>


	<action name="view_fisheye">
		set(display.flash10,off);
		tween(view.architectural, 0.0, distance(1.0, 0.30), easeoutquad);
		tween(view.fisheye,       0.0 ,distance(1.0, 0.30), easeoutquad, set(view.stereographic,false); set(view.pannini,false); set(view.fovmax,179); tween(view.fisheye, 0.35, distance(1.0,1.25)); );
	</action>


	<action name="view_architectural">
		tween(view.fovmax,       150.0, distance(179, 1.00), easeoutquad);
		tween(view.architectural,  1.0, distance(1.0, 0.45), easeoutquad);
		tween(view.fisheye,        0.0, distance(1.0, 0.45), easeoutquad, set(view.stereographic,false);set(view.pannini,false);set(display.flash10,on); );
	</action>


	<action name="view_stereographic">
		set(display.flash10,off);

		tween(view.architectural, 0.0, 0.25);

		set(backtonormalfirst,false);
		if(view.pannini       == true,  set(backtonormalfirst,true) );
		if(view.stereographic == false, set(backtonormalfirst,true) );

		if(backtonormalfirst, tween(view.fisheye, 0.0 ,distance(1.0, 0.25), easeoutquad, WAIT); );

		set(view.pannini, false);
		set(view.stereographic, true);
		set(view.fovmax, 150);

		tween(view.fisheye, 1.0, distance(1.0, 0.75), easeoutquad);
	</action>


	<action name="view_pannini">
		set(display.flash10,off);

		tween(view.architectural, 0.0, 0.25);

		set(backtonormalfirst,false);
		if(view.pannini       == false, set(backtonormalfirst,true) );
		if(view.stereographic == false, set(backtonormalfirst,true) );

		if(backtonormalfirst, tween(view.fisheye, 0.0 ,distance(1.0, 0.25), easeoutquad, WAIT); );

		set(view.pannini, true);
		set(view.stereographic, true);
		set(view.fovmax, 150);

		tween(view.fisheye, 1.0, distance(1.0, 0.75), easeoutquad);
	</action>


	<action name="view_littleplanet">
		set(display.flash10,off);

		tween(view.architectural, 0.0, 0.25);

		tween(view.vlookat,  90, distance(179, 1.50), easeoutquad);

		set(backtonormalfirst,false);
		if(view.pannini       == true,  set(backtonormalfirst,true) );
		if(view.stereographic == false, set(backtonormalfirst,true) );

		if(backtonormalfirst, tween(view.fisheye, 0.0 ,distance(1.0, 0.25), easeoutquad, WAIT); );

		set(view.pannini, false);
		set(view.stereographic, true);
		set(view.fovmax, 150);

		tween(view.fisheye, 1.0, distance(1.0, 0.75), easeoutquad);
		tween(view.fov,     150, distance(179, 0.75), easeoutquad);
	</action>



	<!-- setup pano, will be called on the onxmlcomplete event -->
	<action name="setuppano">
		<!-- set qtvr cursor -->
		action(qtvrcursor);

		<!-- hide the other view settings in the context menu on partial panos -->
		if(ispartialpano === true, set(showviewitems,false), set(showviewitems,true));

		set(contextmenu.item[2].visible, get(showviewitems));
		set(contextmenu.item[3].visible, get(showviewitems));
		set(contextmenu.item[4].visible, get(showviewitems));
		set(contextmenu.item[5].visible, get(showviewitems));
		set(contextmenu.item[6].visible, get(showviewitems));
		set(contextmenu.item[7].visible, get(showviewitems));
	</action>

</krpano>
voici le nouveau xml

Code : Tout sélectionner

<krpano version="1.0.8">


	<!-- default quality settings -->
	<display flash10="on" movequality="LOW" stillquality="HIGH" movequality10="HIGH" stillquality10="HIGH" />


	<!-- events: set the custom cursor on start and fullscreen events for button changes -->
	<events onxmlcomplete="action(qtvrcursor);"
	        onenterfullscreen="set(plugin[openfs].visible,false); set(plugin[closefs].visible,true);"
	        onexitfullscreen ="set(plugin[openfs].visible,true);  set(plugin[closefs].visible,false);"
	        />



	<!-- button showtext() style -->
	<textstyle name="buttonstyle" font="Arial" fontsize="12" bold="true" italic="true"
	           textcolor="0x000000" background="false" border="false"
	           blendmode="layer" effect="glow(0xFFFFFF,0.85,4,4);dropshadow(2,45,0x000000,4,1);"
	           origin="cursor" edge="bottom" xoffset="15" yoffset="-5" showtime="0.1" fadeintime="0.1" fadetime="0.1"
	           />

	<style name="button" url="%SWFPATH%/skin/buttons.png" keep="true" />


	<!-- some default buttons (zooming, direction, hotspots on/off, fullscreen) -->
	<plugin name="in"       align="bottom" x="-160" y="10" style="button" crop="160|0|37|37" onovercrop="160|37|37|37" ondown="set(fov_moveforce,-1);"  onup="set(fov_moveforce,0);" onhover="showtext(Zoom +,buttonstyle);" />
	<plugin name="out"      align="bottom" x="-120" y="10" style="button" crop="200|0|37|37" onovercrop="200|37|37|37" ondown="set(fov_moveforce,+1);"  onup="set(fov_moveforce,0);" onhover="showtext(Zoom -,buttonstyle);"/>
	<plugin name="left"     align="bottom" x="-80"  y="10" style="button" crop=  "0|0|37|37" onovercrop=  "0|37|37|37" ondown="set(hlookat_moveforce,-1);"  onup="set(hlookat_moveforce,0);" onhover="showtext(Vers la gauche,buttonstyle);"/>
	<plugin name="right"    align="bottom" x="-40"  y="10" style="button" crop= "40|0|37|37" onovercrop= "40|37|37|37" ondown="set(hlookat_moveforce,+1);"  onup="set(hlookat_moveforce,0);" onhover="showtext(Vers la droite,buttonstyle);"/>
	<plugin name="up"       align="bottom" x="+0"   y="10" style="button" crop= "80|0|37|37" onovercrop= "80|37|37|37" ondown="set(vlookat_moveforce,+1);"  onup="set(vlookat_moveforce,0);" onhover="showtext(Vers le bas,buttonstyle);"/>
	<plugin name="down"     align="bottom" x="+40"  y="10" style="button" crop="120|0|37|37" onovercrop="120|37|37|37" ondown="set(vlookat_moveforce,-1);"  onup="set(vlookat_moveforce,0);" onhover="showtext(vers le haut,buttonstyle);"/>
	<plugin name="rotation" align="bottom" x="+80"  y="10" style="button" crop="240|0|37|37" onovercrop="240|37|37|37" onhover="showtext(Rotation, buttonstyle);" onclick="switch(autoratate.enabled);" />
	<plugin name="sound" 	align="bottom" x="+120" y="10" style="button" crop="400|0|37|37" onovercrop="400|37|37|37" onhover="showtext(Son, buttonstyle);"  onclick=""   />
	<plugin name="info" 	align="bottom" x="+200" y="10" style="button" crop="360|0|37|37" onovercrop="360|37|37|37" onhover="showtext(Informations, buttonstyle);"  onclick=""  />
	<plugin name="openfs"   align="bottom" x="+160" y="10" style="button" crop="280|0|37|37" onovercrop="280|37|37|37" onhover="showtext(Plein écran, buttonstyle);"      onclick="set(fullscreen,true);"  visible="true"  />
	<plugin name="closefs"  align="bottom" x="+160" y="10" style="button" crop="320|0|37|37" onovercrop="320|37|37|37" onhover="showtext(Sortir du plein écran,buttonstyle);"  onclick="set(fullscreen,false);" visible="false" />
	<plugin name="help"  	align="bottom" x="-200" y="10" style="button" crop="440|0|37|37" onovercrop="440|37|37|37" onhover="showtext(Aide,buttonstyle);"  onclick=""  />

	<action name="qtvrcursor">
		set(plugin[dragmode].visible, true);
		set(control.mousetype, moveto);
		set(cursors.url, %SWFPATH%/skin/qtvr-cursors.png);
		set(cursors.type, 8way);
		set(cursors.move,       0|0|16|16);
		set(cursors.drag,      16|0|16|16);
		set(cursors.arrow_u,   32|0|16|16);
		set(cursors.arrow_d,   48|0|16|16);
		set(cursors.arrow_l,   64|0|16|16);
		set(cursors.arrow_r,   80|0|16|16);
		set(cursors.arrow_lu,  96|0|16|16);
		set(cursors.arrow_ru, 112|0|16|16);
		set(cursors.arrow_rd, 128|0|16|16);
		set(cursors.arrow_ld, 144|0|16|16);
	</action>

</krpano>
Vous pouvez bien sûr rajouter des actions pour l'ouverture des infos ou de l'aide

Il ne vous reste qu'à entrer un équirectangle dans le dropplet "MAKE PANO( NORMAL)" pour qu'automatiquement tous les fichiers se créent

Image

et voici le résultat

En conclusion vous avez dans les fichiers créés 6 faces de cube, les cubes tablet, les cubes mobile, j'ai choisi ce dropplet car je ne fais de multirules, mais il est possible de le faire avec n'importe quel dropplet de krpanotools ;-)

N'oubliez pas de sauvegarder le fichier "template", sinon à la prochaine mise à jour, vous risquez de tout perdre...
Avatar de l’utilisateur
pano
Messages : 2119
Inscription : 15 déc. 2008, 13:39 14

Re: [Tutorial] KRPanotools

Message par pano »

Un tuto que je vais mettre à éxécution très vite.
Un grand merci à toi.
Avatar de l’utilisateur
sam houraille
Messages : 210
Inscription : 27 mars 2009, 10:29 02

Re: [Tutorial] KRPanotools automatisation

Message par sam houraille »

Bonsoir,

Merci beaucoup
EOS 7D/EOS 30D /EOS 300D
Canon f:15-85 IS USM /CANON 100-300 L /CANON 50 F/1.8 Autopano Pro II / SamYang f:8 mm / SamYang f:85 1:1,4

iMac 20' Intel 2.16 GHz 2 G MacBook
Avatar de l’utilisateur
gibie
Administrateur
Messages : 22930
Inscription : 9 déc. 2007, 22:30 09

Re: [Tutorial KRPanotools] Automatisation

Message par gibie »

Un grand merci à toi pour le partage de la part de la toute la communauté des utilisateurs de KRPano ! :merci: :amen: :merci: :amen:
Avatar de l’utilisateur
Mattpano
Animateur Hugin
Messages : 4293
Inscription : 10 déc. 2007, 16:27 04

Re: [Tutorial KRPanotools] Automatisation

Message par Mattpano »

Merci Job pour cette astuce, tu en avais parlé rapidement à Régusse !
Matthieu SELME
- Mon site de panoramas 360° : www.360x180.fr
- Des panoramas à 360° réalisés en cerf-volant : 360° aériens
- Retrouvez-moi sur Twitter (@mattpano)
sol
Veille technologique logiciel Autopano Giga, DXO et PanoTour
Messages : 1008
Inscription : 15 nov. 2009, 15:45 02

Re: [Tutorial KRPanotools] Automatisation

Message par sol »

Merci pour ce tuto instructif :super:
Avatar de l’utilisateur
Paul M-P
Messages : 21
Inscription : 23 mars 2010, 22:07 57

Re: [Tutorial KRPanotools] Automatisation

Message par Paul M-P »

Merci beaucoup !
Avatar de l’utilisateur
Job.1
Messages : 2758
Inscription : 12 août 2008, 21:54 35

Re: [Tutorial KRPanotools] Automatisation

Message par Job.1 »

Je viens d'éditer le premier post, pour ajouter 2 ou 3 petites choses, ;-)

Désolé pour le copyright sur les boutons, mes c'est ceux que j'utilise sur mon site et pas envie de les retrouver un peu partout sur la toile
Avatar de l’utilisateur
sagedavid
Modérateur
Messages : 8639
Inscription : 11 déc. 2007, 19:40 45

Re: [Tutorial KRPanotools] Automatisation

Message par sagedavid »

Merci bien...
Je pense pouvoir y comprendre quelque chose en relisant une dizaine de fois ;)
Mes derniers sphériques sur le forum : Dernier sphérique de Madinina : l'Habitation Clément. Votre avis sera le bienvenu ;)...
Image Image
Avatar de l’utilisateur
Amedee
Animateur KRPano
Messages : 2555
Inscription : 7 oct. 2008, 9:02 09

Re: [Tutorial KRPanotools] Automatisation

Message par Amedee »

Tu as le copyswf=true mal placé dans ta copie d'écran et dans le bout de code juste au dessus ;)
Phil.
Mes dernier panos sont sur mon blog!
Avatar de l’utilisateur
Job.1
Messages : 2758
Inscription : 12 août 2008, 21:54 35

Re: [Tutorial KRPanotools] Automatisation

Message par Job.1 »

Amedee a écrit :Tu as le copyswf=true mal placé dans ta copie d'écran et dans le bout de code juste au dessus ;)
Absolument, tu as un oeil de linx Amedee, je corrige de suite

Merci

édit c'est ok
Avatar de l’utilisateur
estragon
Administrateur
Messages : 5323
Inscription : 17 déc. 2007, 11:48 05

Re: [Tutorial KRPanotools] Automatisation

Message par estragon »

Merci Ô grand maitre de l'optimisation :merci: :merci: :merci:
J'exagère...
... mais pas assez.
www.lightroom-et-plus.com
Avatar de l’utilisateur
vincen
Messages : 4231
Inscription : 13 déc. 2007, 8:20 29

Re: [Tutorial KRPanotools] Automatisation

Message par vincen »

Merci grand maitre de KRPano :D
Pas de messages privés pour des questions sur la photo ou le panoramique, le forum est fait pour ça !
Blog: http://www.skivr.com
Revendeur Matos photo panoramique: http://magasin.skivr.com
Nikon D800 + Nikkor 14/24 + 10.5 + GPS JJC
Pentax 645D + 55mm f/2.8 + GPS Pentax
Nodal Ninja 4 R-D16 + Ultimate M2
RawTherapee + Autopano Giga/Panotour Pro sur MacPro Quad-Xeon Ubuntu
stepmond

Re: [Tutorial KRPanotools] Automatisation

Message par stepmond »

Bonjour, je suis nouveau sur le forum. une erreur s'est glissée dans le xml defaultskin
onclick="switch(autoratate.enabled);" a remplacer par onclick="switch(autorotate.enabled);"
sinon le style des boutons de contrôle peut contenir y="10" et aussi align="bottom" histoire d'alléger le code sur les paramètres de chaque plugin bouton

Merci à Job1 pour ce tuto en tt cas
Avatar de l’utilisateur
Job.1
Messages : 2758
Inscription : 12 août 2008, 21:54 35

Re: [Tutorial KRPanotools] Automatisation

Message par Job.1 »

Le code des xml n'est là qu'en exemple, mais merci de cette correction ;-)
Avatar de l’utilisateur
vinda
Messages : 515
Inscription : 22 avr. 2009, 9:55 53

Re: [Tutorial KRPanotools] Automatisation

Message par vinda »

Merci Marc ! :hello:
Répondre

Revenir à « KRPano »