This plugin allow a new kind of user interaction, from now users do not need to be searching for hotpsots, which at the same time mess your panoramas, but rather just clicking around to any point in the panorama and go forward in case we can offer scenes in that direction, otherwise performing a specific action in order to make user know there's no way in that direction.
As all the plugin information is generated by everpano 3D software, the plugin can not be used without the software.
There's a free version included, which allows a basic functionality, you can click around and jump to other panoramas.
But you do not have the ability to set up any of the additional features, for that you will need a Navigator Plugin License
The free version is included in the software and all the projects created will include it.
You just need to declare it as a plugin an no additional attributes are allowed.
<plugin name="navigator" keep="true" devices="html5" url="%VIEWER%/plugins/navigator.js" />
leftkey = "65"
rightkey = "68"
forwardkey = "87"
backwardkey = "83"
angletolerance = "60"
hotspotvisibility = "model"
notfoundmove = "10"
notfoundtime = "0.3"
navigationmode = "jumping"
navigationclick = "true"
navigationspeed = "100"
loadsceneflags = "MERGE|KEEPVIEW|KEEPMOVING"
loadsceneblend = "BLEND"
loadsceneblendtime = "0.2"
Note:
0.- you need a everpano 3D License to make usage of the navigator plugin
1.- with the free version is not possible to set specific values, and the default ones will always be used
2.- you need a Navigator Plugin License to edit the attributes
With the pro version of the Navigator Plugin License you can edit and have access to a bunch of attributes that will allow you to set up the plugin according to your own project and needs.
<plugin name="navigator" keep="true" devices="html5"
url="%SWFPATH%/plugins/navigator.js"
leftKey = "65"
rightKey = "68"
forwardKey = "87"
backwardKey = "83"
upKey = "81"
downKey = "69"
angleTolerance = "60"
hotspotVisibility = "scene"
notFoundMove = "10"
notFoundTime = "0.3"
navigationMode = "jumping"
navigationClick = "true"
navigationSpeed = "80"
walkingSpeed = "0.1"
walkingFriction = "0.9"
walkRatioChange = "0.8"
loadsceneblendtime = "0.2"
editMode = "true"
/>
navigationMode = "walking | jumping"
angleTolerance = "0 - 180"
modeReturn = "true"
returnAction = "sceneFound"
<action name="sceneFound" >
debug('we have found %1 at a distance of %2');
loadscene(%1, null, MERGE|KEEPVIEW|KEEPMOVING, BLEND(0.5));
set(events.onviewloaded, null);
set(events.onkeydown, stoptween(view.tx|view.ty|view.tz);set(events.onkeydown,null); );
tween(view.tx|view.ty|view.tz, calc('' + image.ox + '|' + image.oy + '|' + image.oz), 2, default, set(events.onkeydown,null);
</action>
Note: distance can be used to calculate the time dynamically based on speed constant, so then the movements would be performed at same speed always
<action name="sceneFound" >
debug('we have found %1 at a distance of %2'); set(distance,%2); set(speed,10);
calc(transitionTime,distance / speed);
loadscene(%1, null, MERGE|KEEPVIEW|KEEPMOVING, BLEND(0.5));
set(events.onviewloaded, null);
set(events.onkeydown, stoptween(view.tx|view.ty|view.tz);set(events.onkeydown,null); );
tween(view.tx|view.ty|view.tz, calc('' + image.ox + '|' + image.oy + '|' + image.oz), get(transitionTime), default, set(events.onkeydown,null);
</action>
returnNotFoundAction = "sceneNotFound"
<action name="sceneNotFound" >
txtsplit(%1,'|',p0x,p0z,p1x,p1z);
debug('no scene was found, current location is x:', p0x,' z:',p0z,' and click point is x:',p1x,' z:', p1z);
tween(view.tx|view.tz, calc(p1x + '|' + p1z) ,0.3, default,tween(view.tx|view.tz, calc( p0x + '|' + p0z) ,0.3, default));
</action>
editMode = "true | false"
Note: After setting all the attributes, the values can be just copied using the copy to clipboard button
To control the plugin walking effect from outside the plugin.
That would allow to create your own buttons in krpano project to control the walking effect inside the navigator plugin from any where, buttons|keys|...
<layer name="walkinfo_touch" keep="true" type="text" align="bottom" y="85"
html="drag around[br]for walking" bgalpha="0.3" devices="handheld"
css="color:#FFFFFF;text-align:center;" txtshadow="0 1 4 0x000000 1.0"
vcenter="true"
width="140" height="140" bgroundedge="180"
ondown="dragcontrol();"
/>
<action name="dragcontrol" scope="local">
copy(mx,mouse.x);
copy(my,mouse.y);
tween(caller.alpha,0);
asyncloop(caller.pressed,
calc(walkaround.forward, (mouse.y - my) * -0.25);
calc(walkaround.left, (mouse.x - mx) * -0.25);
copy(mx, mouse.x);
copy(my, mouse.y);
,
set(walkaround.left, 0);
set(walkaround.forward, 0);
tween(caller.alpha,1);
);
</action>
If you want to make quick and still nice projects, you can build tours only using references, no need to model any geometry.
When you render that type of project, everpano 3D will ask if you want to give some additional usage for that tour, we have 2 options here :
If we choose the first one, the navigator plugin will get configured so it can print the hotspots correctly.
The next attributes allow to customize the aspect of the floor hotspots :
floorspots = "true"
floorstylesize = "20"
floorstyleborder = "3"
floorstylealpha = "0.6"
floorstylebordercolor = "0x000000"
floorstylecirclecolor ="0xfafafa"
* additionally tooltips for the hotspots can be activated
floortooltip = "true"