Beacons
3D hotspots
Animated, floating and more
by Virtual Tuur | Arthur van den Enk
A 'simple', basic plugin with some small functionality, but it can also be powerfull in many cases.
I started it to have 'floating 3d hotspots' that i can animate a bit, as you can see in the first three examples at the bottom. Later in the process i came to VR and 3D environments..and multiple materials.
Of course there could be much more possible, but i decided to stop the development of this here, for now.
Keep in mind that most animations are very basic, like blinking between the material color and another color in a certain time, possible for each material.
But you also can tween colors as seen in example 4.
For more complex animations you can do that in Blender (or another 3d software) or custom code it yourself.
Simple, and possible floating, 3d hotspots that can have multiple, manipulable and animatable materials.
A default hotspot (obj/mtl), and its Blend file are included, but you can also make your own 3d models and assign multiple materials to be animated.
We use obj/mtl because it seems that renders better with the opacity.
The package includes various examples. For example: different kinds of style, animations, material change, 3d transitions, 3D etc.
Besides the licensed 3D version there are also
some opensource 2D/flat examples.
The 'floating' hotspots part of the plugin is designed to be used in 'normal' 360˚ pano tours. It also works in VR and 3D/Splats but in a different way; not floating but just a 3d position. See the included examples.
The examples on this page are not included in the package!
The plugin (3d version) uses the threejs_krpanoplugin.js. The minimal Krpano version for that is 1.22
Beacons version 1.0 / 2026-01-14 - Virual Tuur
The way to add it to your project:
<plugin api="threejs"
keep="true"
url="%VIEWER%/plugins/threejs_krpanoplugin.js" />
<include url="code/beacons.xml" />
In beacons.xml you'll find the plugin being added. The full plugin and it's settings:
You need to define materials for your 3d hotspots. This needs to be done in the plugin, like:
<plugin name="beacons" keep="true"
url="%VIEWER%/beacons/beacons.js"
preload="true"
key="***YOUR LICENSE KEY***"
radius="0.2"
y_offset="9"
..your settings
Materials.. for example:
material_count="2"
material_1_name="chevron"
material_1_color="0x000000"
material_1_opacity="0.6"
material_2_name="disk"
material_2_color="0xffffff"
material_2_opacity="0.5"
/>
You can overwrite these vallues in the hotspot it self.
For example:
<hotspot name="hs1" style="beacons" ath="30" onclick="DoScene(bla,*ath)" m1c="0x00ff00" m2c="0xffff00" />
m1c="0x00ff00" means the color of material 1 for this hotspot is set to green.
m2c="0xffff00" means the color of material 2 for this hotspot is set to yellow.
These are not 'dynamic', as in 'onchange' or onclick="m2c = 0xff0000;" !
You can change the material though, with a specific action call, like: onover="BeaconChange(*name,disk,0xffffff);"
-
m1c
-
m7o
- The opacity of material 7
The folowing plugin actions are available:
In the beacons.xml there are the folowing, important, system settings:
<events name="beacon" keep="true" onnewscene="image.objectsize = 0;" />
and
< view oz="30" />
The VR alternative / switch can be found in the example package.
The plugin package will cost €39,-
You wil get:
- The 3D beacons plugin, licensed to your krpano license name, and 14 simple examples.
- A Blend file (for Blender) with a 3d hotspot as an example.
- The opensource, not licensed, 2D version and 5 simple examples.
You can order the Beacon Package
HERE
In these old panos (2011) I show the most simple and basic use of the plugin.
This example can work also in VR but i left it out here.
View example 1 in your browser
HERE
In this example we use it for 'trajects'. Select a traject, and perhaps close the map. The hotspot to the next point of the traject is blinking in the 'traject color'. The 2 other hotspots are the two scenes closest without being part of the traject and without being to close to eachother. These are only visible when in a scene that is part of a traject.
Also here most panos are really old.
View example 2 in your browser (also best when on mobile)
HERE.
In this example the arrows on the hotspots, except on the first one, blink onover. Blinking red means you have not visited that 'target' pano before, blinking blue means you have seen that scene already.
There is also a splat scene involved with two hotspots. The splat is taken very quickly, windy and restless last summer with less than 90 pictures. The size, though, is 32 mb, and i didn't put a loader on it.. so maybe be patient a bit
This example can work also in VR but i left it out here.
View example 3 in your browser
HERE
In this example i use another 3d model. The texts on the top 2 models are sloppy placed text type hotspots. Each model hotspot has it's own animation.
The top 2 models have 4 materials: outside, ouside1, outside2, inside.
The hotspot/model at the top blinks, inside and outside, between some red and green colors.
The middel one, outside, tweens from white to a yellow and back.. The inside between a yellow and black.
The bottom model has 10 materials...
View example 4 in your browser
HERE
If you have questions or suggestions or did find a bug, please let me know in the forum thread.
This plugin is provided "As Is" without warranty of any kind, either express or implied, including any warranty of quality, merchantability, or fitness for a particular purpose. In no event will the author of the plugin be liable for loss of data, costs of procurement of substitute goods or services or any special, consequential or incidental damages, under any cause of action and regardless of whether or not the plugin author have been advised of the possibility of such damage. This limitation will apply notwithstanding any failure of essential purpose of any limited remedy provided herein. In any event the plugin author will have no liability arising out of this agreement.