DevalVR - script instructions
Object definition instructions:
INCLUDE
TYPE FILE DESCRIPTION PROJECTION
Camera rotation and movement limits:
ROT ZOOM LIMROTX LIMROTY LIMZOOM
MOUSEMODE
PARTIALWIDTH
Interactive instructions:
BUTTON BUTTON3D NODO NODO1 KEY MENU
Image
instructions:
IMAGENODO FLAGSIMAGENODO
IMAGE
IMAGE3D
MASKFILE
COMPASS BROWSER
SIZE REFRESHRATE
Text
instructions:
FONT
TEXT
TEXT3D
Miscellaneous instructions:
ACTIVEBUTTONS SEQUENCEFILE
TRANSITION
LENSFLARE
AUTOMODE
AUTOMODETIME
CLICKEVENT
LOADED
KEEPPOSITION
JOYSTICK SETTIMER
ACTIVITYCODE PROPERTYCODE
Object definition
instructions
TYPE |
|
Syntax: |
TYPE =value; |
Values: |
MOV
Load .mov files PANORAMIC Load
.jpg panoramic
images AERIAL
Load a .jpg file to show it like an aerial flat map IMAGE
Show .jpg, .bmp, .tif, .swf,
.png files MENU
(obsolete, use BUTTON instructions instead of MENU) INCLUDE |
Description: |
This instruction defines the object type. Value must be one of
the predefined values.
|
Example: |
(objectName1) { TYPE=MOV; ... }
(objectName2) { TYPE=IMAGE; ... }
| |
FILE |
|
Syntax: |
FILE =filename; |
Values: |
Path and file name. Path can be absolute (in
Internet, beginning by "http://") or relative, from the path of
script file. |
Description: |
This instruction sets the filename for the
object.
Depending of the object type, the type of the
file can be:
MOV: MOV PANORAMIC: JPG, SWF IMAGE: BMP (without compression), TIF (without
compression), HTML, SWF, PNG LINK: HTML
|
Example: |
(objectName1) { TYPE=MOV; FILE=panos/panorama.mov; }
| |
DESCRIPTION |
|
Syntax: |
DESCRIPTION=value; |
Values: |
A text string.
|
Description: |
It sets the description text for the
panorama. This text will be shown when the mouse stay over an
access node to the panorama.
|
Example: |
(objectName1) { TYPE= MOV; FILE=panos/panorama.mov; DESCRIPTION= This is the title of
the image ; }
| |
PROJECTION |
|
Syntax: |
PROJECTION = value; |
Values: |
Number of used projection. |
Description: |
Defines the projection of the view.
This parameter only works with JPEG images, because QTVR files
selects automatically cubical or cylindrical projection.
0: Normal projection (automatic
selection) 1: Polar coordinates 2: Sinusoidal polar coordinates 3: Force spherical projection 4: Force cylindrical
projection 5: Stereographic projection
|
Example: |
(objectName1) { TYPE=PANORAMIC; FILE=panorama.jpg; PROJECTION = 3; }
| |
INCLUDE |
|
Syntax: |
INCLUDE = objectName; |
Values: |
Name of INCLUDE object. |
Description: |
This instruction is used to add a portion of
script code to current object. It can be used to define a common set
of instructions that are required in several places in the script.
This instrution requires an INCLUDE object to define all script
instructions that will be added to current object, use TYPE= INCLUDE
statement to define this object:
(objectName) { TYPE=INCLUDE; ... }
After TYPE= INCLUDE statement, all desired
instructions can be defined. All these instructions will be the code
to include.
Several INCLUDE objects can be defined in
the same script. And several INCLUDE instructions can be added in
each object.
|
Example: |
Sample script with INCLUDE instruction:
(object1) { TYPE=MOV; FILE=panorama1.mov; INCLUDE = common1; } (object2) { TYPE=MOV; FILE=panorama2.mov; INCLUDE = common1; } (common1) { TYPE=INCLUDE; ROT=50,100; ZOOM=1.5; SEQUENCEFILE=
mysequence.txt; }
|
Equivalent script without INCLUDE
instruction:
(object1) { TYPE=MOV; FILE=panorama.mov; ROT=50,100; ZOOM=1.5; SEQUENCEFILE=
mysequence.txt; } (object2) { TYPE=MOV; FILE=panorama.mov; ROT=50,100; ZOOM=1.5; SEQUENCEFILE=
mysequence.txt; }
| |
Camera rotation and
movement limits
ROT |
|
Syntax: |
ROT= rotationX, rotationY, rotationZ;
|
Values: |
Camera rotation angle in degrees. It can be
expressed in positive angles from 0 to 360 or negative angles from
-180 to 180 degrees. |
Description: |
This instruction sets the initial rotation
angles of the camera. This rotation only works in the first panorama
of the script. When the panorama is accessed from a node (hotspot),
the initial rotations are configured in the node. |
Example: |
(objectName1) { TYPE=MOV; FILE=panorama.mov; ROT= -10, 180; }
| |
ZOOM |
|
Syntax: |
ZOOM= value; |
Values: |
Camera zoom value, from 0.3 to
5.0 |
Description: |
This instruction sets the initial zoom
value of the camera. By default the initial zoom is 1.0
Zoom value can be calculated with the
"field of view" value, with this formula:
zoom = 45.0 /
fieldOfView |
Example: |
(objectName1) { TYPE=MOV; FILE=panorama.mov; ZOOM= 0.5; }
| |
LIMROTX |
|
Syntax: |
LIMROTX= minRotationX, maxRotationX;
|
Values: |
Values are expresed in degrees, with float
numbers. Rotation limits can be expressed in negative
angles from -90 to 90 degrees. |
Description: |
When the camera rotates down, the X rotation
is negative. When the camera rotates up, the X rotation is positive.
This instruction sets the rotation angles limits of the camera in
the X axis (tilt limits).
|
Example: |
(objectName1) { TYPE=MOV; FILE=panorama.mov; LIMROTX= -45, 45; }
| |
LIMROTY |
|
Syntax: |
LIMROTY= minRotationY, maxRotationY;
|
Values: |
Values are expresed in degrees, with float
numbers. Rotation limits can be expressed in positive angles
from 0 to 360 or negative angles from -180 to 180 degrees. |
Description: |
When the camera rotates to the left, the X
rotation is positive. When the camera rotates to the right, the X
rotation is negative. This instruction sets the rotation angles
limits of the camera in the Y axis (pan limits). |
Example: |
(objectName1) { TYPE=MOV; FILE=panorama.mov; LIMROTX= -120, 70.5;
} | |
LIMZOOM |
|
Syntax: |
LIMZOOM= minZoom, maxZoom; |
Values: |
Camera zoom values, from 0.3 to
5.0 |
Description: |
This instruction sets
the zoom limits of the camera. By default, the zoom limits
are defined from 0.3 to 5.0
|
Example: |
(objectName1) { TYPE=MOV; FILE=panorama.mov; LIMZOOM= 0.8, 2; }
| |
MOUSEMODE |
|
Syntax: |
MOUSEMODE= mode; |
Values: |
Possible values: 0:
default behavior (it depends of content type) 1: dragging mode 2: panoramic mode (default mode
for panoramas) 3: aerial
mode 4: trackball dragging mode (click is not needed
to move the
camera) |
Description: |
This instruction configures the mouse
behavior when user interacts with the content.
|
Example: |
(objectName) { TYPE=MOV; FILE=panorama.mov; MOUSEMODE= 1; }
| |
Interactive instructions
BUTTON |
|
Syntax: |
BUTTON= [group,] name, visible, x, y, width,
height, alignment, imageUp, imageOver, imageDown, alphaUp,
alphaOver, alphaDown, effectsUp, effectsOver, effectsDown, cursor,
key, activation, description, code;
|
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of
objects. name: The name
of this object. This name is useful to access this object, for
example, to show and hide it visible: Initial state of the
object: 0=hidden 1=visible x: Horizontal position in pixels y: Vertical position in pixels width: Horizontal size in pixels.
If it's 0, then width is the width of imageUp height: Vertical size in pixels. If
it's 0, then height is the height of imageUp alignment: Same value that IMAGE
instruction imageUp: The name of the object in
the script that represents the image to show when button is in
normal state imageOver: The image shown
when the mouse is over the button imageDown : The
image shown when the user clicks into the button alphaUp,
alphaOver, alphaDown: Transparency value for
each image of the button (up, over and down states),
values from 0 to 100 effectsUp, effectsOver,
effectsDown: Effects applied to each image of
the button, see description in IMAGE instruction cursor: Mouse cursor shown when
the mouse is over the button, see description for possible values key: Key assigned to this
button, to activate it from the keyboard. See KEY instruction
for possible values activation: Command that specifies
when the button will activate its function, see description for
possible values description: Text shown in the
tooltip when the mouse is over the button code: Executed functions when
button is activated, these functions must be written in DevalVR
internal programming language (similar to Flash's Action
Script)
|
Description: |
This instruction defines a graphic
button in a 2D coordinates of the viewer.
The button is defined by 3 images in imageUp, imageOver and imageDown parameters, but only one image is shown
in button coordinates. The image shown depends of the state of
the button. It exists 3 possible states for the button, 'up',
'over' and 'down': 'Up' state is the normal
state of the button, when mouse is not over the button area. 'Over' state is activated
when mouse is over the button area and left mouse button is not
pressed. 'Down' state is
activated when mouse is over the button area and left mouse button
is pressed.
A color can be defined in the image
parameters instead of the name of an image. A color is
defined with '#' character and six numbers representing the color in hexadecimal
code. For example, to define a yellow button, write "#FFFF00" in the
image parameters.
effectsUp, effectsOver,
effectsDown can have the effect
"mask" to restrict the active area to the visible area of button
image (when the image has an alpha mask, for example PNG
images). This is useful to create buttons with an active area
different than a rectangle.
Possible values for "cursor" parameter: 0 = Normal
cursor 1 =
Standard hand cursor 2 = Hand
cursor
Possible values for "activation" parameter: "disabled" = Function
is not activated
"press" = Function is activated
when mouse is over the area and left mouse button is kept
pressed
"click" = Function is
activated when left mouse button is pressed over the button area "release" =
Function is activated when left mouse button is released over the
button area
"rollover" = Function is activated when button
changes from 'Up' state to 'Over' state
"rollout" = Function is activated
when button changes from 'Over' or 'Down' state to 'Up'
state "stayinto" =
Function is activated when mouse is over the button area
To deactivate tooltip message, write "" in
"description"
parameter.
"Code"
parameter is a text parameter with the definition of all
functions that will be executed when button is activated. Several
functions can be defined, each sentence is separated by ';'
character. See this page for a complete list of all available
functions: DevalVR programming
NOTE: key parameter does not work yet.
|
Example: |
This example shows a button in 50,50
coordinates and starts automatic rotation when it's activated.
(object1) { TYPE=MOV; FILE=filename1.mov;
BUTTON= playbutton ,1
, 50,50,0,0, #00, play, play, play, 100,90,60, no,no,no, 2 ,
nokey , release, "Automatic rotation", "ToolCommand(5);"; } (play) { TYPE= IMAGE; FILE=
playbutton.bmp; }
|
This is an example page with
a custom interface created with BUTTON instructions: interface example |
BUTTON3D |
|
Syntax: |
BUTTON3D= [group,] name, visible, x, y, z,
offsetx, offsety, width, height, alignment, imageUp, imageOver,
imageDown, alphaUp, alphaOver, alphaDown, effectsUp, effectsOver,
effectsDown, cursor, key, activation, description, code;
|
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of
objects. name: The name
of this object. This name is useful to access this object, for
example, to show and hide it visible: Initial state
of the object: 0=hidden 1=visible x, y, z
: Coordinates of insertion point of the button, in 3D space. offsetx : Horizontal displacement of
image from insertion point, in pixels 2D. offsety : Vertical displacement of
image from insertion point, in pixels 2D.
The
rest of parameters are the same than BUTTON instruction.
|
Description: |
This instruction defines an graphic
button in a 3D coordinates of the viewer.
All options are the same than for BUTTON
object.
This instruction has two parameters
"offsetx" and "offsety", same that IMAGE3D instruction, to displace
the button any pixels in 2D from 2D coordinates. The 2D coordinates
of the button are calculated in realtime and depends of camera
values.
|
Example: |
This example shows a button in -200, 14, 64
coordinates and starts automatic rotation when it's activated.
|
NODO |
|
Syntax: |
NODO =
[group,] name, visible,
image, point1x, point1y, point1z, point2x, point2y, point2z,
point3x, point3y, point3z, point4x, point4y, point4z, tilt,
pan, zoom, description, code;
NOTE: imageName is the name of the
object in the script, it defines the icon image, this parameter
is optional. |
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of
objects. name: The name
of this object. This name is useful to access this object, for
example, to show and hide it visible: Initial state of the
object: 0=hidden 1=visible
Four vertices
position, and the rotations and name of the next object
description: Text shown in the
tooltip when the mouse is over the button code: Executed
functions when button is activated, these functions must be written
in DevalVR internal programming language (similar to Flash's Action
Script)
|
Description: |
This instruction defines an access link to
other object. This "access link" is similar to the hotspot
functionality in QTVR files. The access link is defined
by the area of a polygon with four vertices. This polygon can be created with the NODO tool
of DevalVR player .
Tilt, pan and zoom parameters at the end of
instruction define the initial rotation angles and zoom when
the viewer loads the next object "objectName". If these parameters
are defined with 0,0,1 values, the initial values in the next object
are defined by default (for example if the next object is a MOV
file, they will be the values defined in MOV file).
If image
parameter is not defined, default image is shown.
"Code"
parameter is a text parameter with the definition of all
functions that will be executed when button is activated. Several
functions can be defined, each sentence is separated by ';'
character. See this page for a complete list of all available
functions: DevalVR programming
|
Example: |
(obj1) { TYPE=MOV; FILE=filename1.mov; NODO= hot1,1,"",26,26,198, -26,26,198,
26,-26,198, -26,-26,198, 0,0,1,"Go
to obj2!"
,"GoToFrame("obj2");"; NODO=
hot2,1,"icon",300,184,930,-195,173,962, 297,-274,912,
-215,-268,935,
0,0,1
,"Go to obj3!",
"GoToFrame("obj3");"; } (obj2) { TIPO=MOV; FILE=filename2.mov; } (obj3) { TIPO=MOV; FILE=filename3.mov; } (icon) { TIPO=IMAGE; FILE=hotspotimage.bmp; }
|
This is an example page with a
multipanorama script: nodo
example |
NODO1 |
|
Syntax: |
NODO1 =
pointX, pointY, pointZ, tilt, pan, zoom, objectName [,
imageName]; |
Values: |
Point position in 3D coordinates, the
rotation values and name of the next object
NOTE:
imageName is the name of the object in the script, it
defines the icon image, this parameter is optional. |
Description: |
This instruction defines an access link to
other object. This "access link" is similar to the hotspot
functionality in QTVR files. Access link is defined
by the image inserted in defined 3D coordinates.
These 3D coordinates can be obtained with 3D mouse position in
DevalVR player.
Image shown in NODO1 point is the default
image for hotspots. To change this image use IMAGENODO
instruction.
"tilt" , "pan" and "zoom"parameters at the end of the
instruction define the initial rotation angles and zoom value when
the next object "objectName " is loaded. If these
parameters are defined with 0,0,1 values, initial values in the
next object are defined by default (for example if the next object
is a MOV file, they will be the values defined in MOV
file).
If imageName parameter is not defined,
default image is shown.
|
Example: |
(object1) { TYPE=MOV; FILE=filename1.mov; NODO1= 26,26,198, 0,0,1, object2; NODO1=
300,184,930, 0,0,1, object3,icon; } (object2) { TIPO=MOV; FILE=filename2.mov; } (object3) { TIPO=MOV; FILE=filename3.mov; } (icon) { TIPO=IMAGE;
FILE=hotspotimage.bmp; }
|
|
KEY |
|
Syntax: |
KEY = [group,] name, visible, keyname,
state, code; |
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of
objects.
name: The name of this object.
This name is useful to access this object, for example, to show
and hide it. visible: Initial state of the key:
0=disabled 1=enabled
keyname: The name of the key, possible
values:
A to Z 1 to
9 NUMPAD0 to NUMPAD9 MULTIPLY ADD SEPARATOR SUBTRACT DECIMAL DIVIDE F1 to F24 NUMLOCK SCROLL LSHIFT RSHIFT LCONTROL RCONTROL LMENU RMENU LWIN RWIN APPS BACK TAB CLEAR RETURN SHIFT CONTROL MENU PAUSE |
CAPITAL KANA HANGUL JUNJA FINAL HANJA KANJI ESCAPE CONVERT NONCONVERT ACCEPT MODECHANGE SPACE PRIOR NEXT END HOME LEFT UP RIGHT DOWN SELECT PRINT EXECUTE SNAPSHOT INSERT DELETE HELP |
state: state of the key to
activate the function, possible values 0, 1 or 2
0 = key down
1 = key pressed
2 = key up
code: The code to
execute when key is activated. |
Description: |
This instruction defines a key to
execute a programming code from keyboard. See this page
for a complete list of all available programming functions: DevalVR programming
|
Example: |
(object1) { TYPE=MOV; FILE=filename1.mov; KEY= G, 0, "GoToFrame("object2");"
; KEY= H,
0, "GoToFrame("object3");" ; } (object2) { TIPO=MOV; FILE=filename2.mov; } (object3) { TIPO=MOV; FILE=filename3.mov; }
|
|
MENU |
|
Syntax: |
MENU =
[group,] name, visible,
x, y, width, height, alignment, objectName;
|
Values: |
group: The
name of the group of this object. This group name is useful to
access several objects with only one function, for example, to
show and hide a group of objects. name: The name of
this object. This name is useful to access this object, for
example, to show and hide it visible: Initial state
of the object: 0=hidden 1=visible
The "x", "y", "width" and "height" parameters are defined in
pixels. The 0,0 position is the left-top corner of the viewer
and coordinates are incremented to the right and to the bottom of
the screen.
The "alignment" parameter is a
numerical value specifying the horizontal and
vertical alignment, see description in IMAGE instruction.
The "objectName " parameter is the name
of the object in the script which defines all menu options.
This object is defined with MENU type.
|
Description: |
This instruction defines a menu in 2D
coordinates over the scene.
This MENU instruction inserts a menu in the scene, but the menu
must be defined in the script by means of a type=MENU object. The
parameter objectName is
used to select this type=MENU object.
The MENU object has this syntax:
(objectName) {
TYPE = MENU;
CONFIGMENU = backgroundColor,
backgroundColorActive, textColor, textColorActive, alphaBackground,
alphaBackgroundActive, fontName, fontNameActive;
MENUOPTION = "Option text", code ;
MENUOPTION = "Option text", code ;
...
... }
CONFIGMENU instruction is used to define the
colors of the menu. All parameters with 'active' name are used when
mouse cursor is over an option of the menu. The 'alphaBackground'
and 'activeAlphaBackground' parameter defines the transparency of
the menu background, these values can be set from 0 (transparent) to
100 (opaque).
MENUOPTION has two
parameters and defines the text shown in the menu option in first
parameter. The second parameter is a text string with the code to execute when the user
clicks that option.
|
Example: |
This example shows a menu in the top-left corner of the screen to
choose the scene:ç
|
Image
instructions
IMAGENODO |
|
Syntax: |
IMAGENODO= objectName; |
Values: |
Object name in the script that
defines the image to show in hotspots. |
Description: |
This instruction defines the image shown in
all hotspots of the current panorama. This instruction must be
defined only once, and it only changes the hotspot icons in the
object panorama image where it is defined. |
Example: |
(object1) { TYPE=MOV; FILE=panorama.mov; NODO=26,26,198, -26,26,198, 26,-26,198,
-26,-26,198, 0,0, object2; IMAGENODO= hotspotlogo; } (hotspotlogo) { TYPE=IMAGE; FILE=image.jpg; }
(object2) { TYPE=MOV; FILE=panorama2.mov; }
| |
FLAGSIMAGENODO |
|
Syntax: |
FLAGSIMAGENODO= effects; |
Values: |
Name of the effects applied to the
image shown in hotspots. |
Description: |
This instruction defines the effects applied
to the image shown in all hotspots of the current panorama. See
IMAGE instruction for a description of all available values. |
Example: |
(object1) { TYPE=MOV; FILE=panorama.mov; NODO=26,26,198, -26,26,198, 26,-26,198,
-26,-26,198, 0,0, object2; IMAGENODO= hotspotlogo; FLAGSIMAGENODO= mul; } (hotspotlogo) { TYPE=IMAGE; FILE=image.jpg; }
(object2) { TYPE=MOV; FILE=panorama2.mov; }
| |
IMAGE |
|
Syntax: |
IMAGE = [group,] name, visible, x, y,
[width,] [height,] alignment, alpha, effects, objectName;
|
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of
objects. name: The name of this object. This name
is useful to access this object, for example, to show and hide it visible: Initial state of the object: 0=hidden
1=visible x :
Horizontal coordinate of the image, in pixels. y : Vertical coordinate
of the image, in pixels. width:
Horizontal size in pixels. This parameter is optional, if it's
absent or 0 then the size will be read from the image. height: Vertical size in pixels. This parameter
is optional, if it's absent or 0 then the size will be read from the
image. alignment : A
numerical value specifying the horizontal and
vertical alignment, see description. alpha : Transparency value
of the image from 0 (totally transparent) to 100 (totally
opaque). effects : Effects
applied to the image, see description. objectName : Name of
the object in the script that defines the image to show. |
Description: |
This instruction defines an image shown in
the viewer in 2D coordinates. Image is shown over 3D
content (like panoramic image).
To define the image alignment you can specify a
hexadecimal value with two numbers. A hexadecimal number in
DevalVR scripts is preceded of '#' character. Left number defines
the vertical alignment and the right number defines the horizontal
alignment (alignment = #XX ).
These
are the possible values:
Vertical alignment:
0 : Top of
viewer + Image top 1 : Top of
viewer + Image center 2 : Top of
viewer + Image bottom 4 : Bottom
of viewer + Image top 5 : Bottom
of viewer + Image center 6
: Bottom of viewer + Image bottom 8 : Center of viewer + Image top 9 : Center of viewer + Image
center A : Center of viewer
+ Image bottom |
Horizontal alignment: 0
: Left of viewer + Image left 1 :
Left of viewer + Image center 2
: Left of viewer + Image right 4
: Right of viewer + Image left 5 :
Right of viewer + Image center 6 : Right of viewer + Image right 8 : Center of viewer + Image left 9 : Center of viewer +
Image center A : Center
of viewer + Image right |
They exist several predefined constants
to set the effects. These constants define the name
of the effect. It is posible to define several effects
separated with the caracter '+'. These are the available values for
the parameter 'effects':
no copy not trans add sub mul and andn or xor bilinear |
: no effects : Normal mode, no effect : Inverts the source image : Makes transparent the black color
(#000000) of source image : Adds
background and source image :
Subtracts the source image to background : Multiplies background and source
image : Logical 'AND' operation with
background and source image : Logical
'NEGATIVE AND' operation with background and source image : Logical 'OR' operation with background
and source image : Logical 'EXCLUSIVE
OR' operation with background and source image : Bilinear filtering is applied to the
image |
A color can be defined in the objectName parameter
instead of the name of an image. In this case, the image
will be a solid colored rectangle. A color is defined with '#'
character and six numbers representing the color
in hexadecimal. For example, to define a yellow rectangle,
write "#FFFF00" in the objectName parameter.
|
Example: |
This example shows 'logo.jpg' image in
100,50 viewer coordinates, with 75% of transparency, and 'INVERTED'
and 'MULTIPLY' effects.
(object1) { TYPE=MOV; FILE=panorama.mov; IMAGE= imageobject1, 1, 100, 50, #00, 75,
mul+not, image1; } (image1) { TYPE=IMAGE; FILE=logo.jpg; }
|
|
IMAGE3D |
|
Syntax: |
IMAGE3D = [group,] name, visible, x, y, z,
[width,] [height,] offsetx, offsety, alignment, alpha, effects,
objectName; |
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of
objects. name: The
name of this object. This name is useful to access this object,
for example, to show and hide it visible: Initial state
of the object: 0=hidden 1=visible x, y, z: Coordinates of
insertion point of the image, in 3D space. width:
Horizontal size in pixels. This parameter is optional, if it's
absent or 0 then the size will be read from the image. height: Vertical size in pixels. This parameter
is optional, if it's absent or 0 then the size will be read from the
image. offsetx: Horizontal displacement of
image from insertion point, in pixels 2D. offsety: Vertical displacement of
image from insertion point, in pixels 2D.
alignment : A numerical
value specifying the horizontal and vertical alignment, see
description in IMAGE instruction. alpha : Transparency value
of the image from 0 (totally transparent) to 100 (totally
opaque). effects : Effects
applied to the image, see description in IMAGE instruction. objectName : Name of
the object in the script that defines the image to show. |
Description: |
This instruction defines an image shown in
the viewer in a 3D position.
|
Example: |
This example shows 'logo.jpg' image in
200,100,50 3D coordinates, with 75% of transparency,
and 'MULTIPLY' effect.
(object1) { TYPE=MOV; FILE=panorama.mov; IMAGE3D= imageobject1, 1, 200, 100, 50,
0, 0, #00, 75, mul, image1; } (image1) { TYPE=IMAGE; FILE=logo.jpg; }
|
|
MASKFILE |
|
Syntax: |
MASKFILE = filename; |
Values: |
Path and file name of the image. Path can be
absolute (in Internet, beginning by "http://") or relative, from the
path of script file. |
Description: |
This instruction only can be defined in an
object TYPE=IMAGE. This instruction sets the filename for the gray
scale image that represents the alpha channel of defined image.
This image must be a gray-scale bitmap file,
and will be used like alpha channel of the image defined by FILE
instruction to enable transparency effects in this image. The image
loaded with MASKFILE instruction must have the same width and height
than image loaded with FILE instruction.
Each pixel in mask file defines the
transparency of the same pixel in main image. White color represents
an alpha of 100% (opaque), and black color represents 0% alpha
(totally transparent).
NOTE: This instruction will be obsolete with
PNG files, because that format includes the alpha info. But, at this
moment PNG files are not supported, and this instruction helps to
define alpha channels with BMP images.
|
Example: |
This example shows 'logo.bmp' image in
100,50 viewer coordinates, with 75% of transparency. This image is
shown with alpha blending effect, with 'maskimage.bmp' like alpha
channel.
(objectName1) { TYPE= MOV; FILE= panos/panorama.mov; IMAGE= 100, 50, #00, 75,
no, image1; }
(image1) { TYPE= IMAGE; FILE= logo.bmp; MASKFILE=
maskimage.bmp; }
| |
COMPASS |
|
Syntax: |
COMPASS = [group,] name, visible, x, y,
alignment, alpha, effects, type, northAngle, size,
objectName; |
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of objects.
This parameter is optional. name: The name of this object.
This name is useful to access this object, for example, to show
and hide it visible: Initial state of the object: 0=hidden
1=visible x :
Horizontal coordinate of the image, in pixels. y : Vertical coordinate
of the image, in pixels. alignment : A numerical
value specifying the horizontal and vertical alignment, see
IMAGE description. alpha : Transparency value
of the image from 0 (totally transparent) to 100 (totally
opaque). effects : Effects applied to the
image, see IMAGE description. type : The compass type. northAngle : The PAN angle value of the
camera where is the geographical North in the panorama. size : The size of the compass
image in pixels. objectName : Name of
the object in the script that defines the image to show. |
Description: |
This instruction creates a compass in
the viewer in 2D coordinates. The compass is an image that
rotates with current PAN or TILT value of the camera.
This instruction is similar to IMAGE
instruction but with two additional parameters, "type" and
"northAngle".
"type" parameter can be one of these
values:
"linear" or
"horizontal" - The image represents the PAN value of the
camera "vertical" - The image represents the
TILT value of the camera "rotative" - The
image is rotated the PAN value of the camera "irotative" - The image is
rotated the -PAN value of the camera
If type is "linear", "northAngle" parameter must be the
PAN value of the camera when the geographical North of the image is
in the middle of the viewer. This value can be obtained with DevalVR
player. If the type is "vertical" then this value can be used to
shift the TILT value shown, but in almost all cases must be 0.
The latest parameter is the name of the
image used to create the compass. If the compass is "linear", this
image represents a scale with the 360 degrees of the compass and the
North must be defined in the left of the image:
If the type of compass is "vertical", the
image represents a scale of 360 degrees with 0º in the top of
the image:
|
Example: |
This example shows a linear compass in the
top of the viewer, centered horizontally. The North of the image is
in the PAN=40.8 value
(object1) { TYPE=MOV; FILE=panorama.mov; COMPASS= group1, compass1, 1, 0,0, #09,
100, copy, linear, 40.8, 200, image1; } (image1) { TYPE=IMAGE; FILE=compass_image.jpg; }
|
|
BROWSER |
|
Syntax: |
BROWSER = [group,] name, visible, x,
y, width, height, alignment, url; |
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of
objects. name: The name of this object. This name
is useful to access this object, for example, to show and hide it visible: Initial state of the object: 0=hidden
1=visible x :
Horizontal coordinate of the image, in pixels. y : Vertical coordinate
of the image, in pixels. width:
Horizontal size in pixels. height: Vertical size in pixels. alignment : A
numerical value specifying the horizontal and
vertical alignment, see description in IMAGE
instruction. url : The url loaded in
the browser window. |
Description: |
This instruction defines a browser
window into the viewer in 2D coordinates.
This browser window is shown over all the other content of the
viewer. This behavior does not depend of the order of the
instruction in the script and can't be changed, because the browser
window is redering by the system, not by DevalVR viewer.
|
Example: |
See this example
in support pages.
|
Miscellaneous
instructions
ACTIVEBUTTONS |
|
Syntax: |
ACTIVEBUTTONS = masknumber;
|
Values: |
masknumber : A integer value. This
number can be defined in decimal or hexadecimal (with caracter
'#') |
Description: |
This instruction defines the visible
buttons in tools bar, and it can be used to disable some default
functions like "Viewfinder".
Each button (or function) is identified by a
value. The 'masknumber' value is created with the sum of the values
of all visible buttons. These are the value of each button:
1 2 4 8 16 32 64 512 |
Initial zoom Increment zoom Decrement zoom Full screen External window AutoPlay Manual
movement Viewfinder |
Examples:
- To see only
"Initial zoom", "Increment zoom" and "Decrement zoom" buttons,
masknumber = 1 + 2 + 4 = 7, write this
instruction in the script:
ACTIVEBUTTONS = 7;
- To see all
buttons except "Viewfinder" function, masknumber= 1 + 2 + 4 + 8 + 16
+ 32 + 64= 127
ACTIVEBUTTONS = 127;
NOTE: "Open/close menu" and "About
window" buttons are always visible.
|
Example: |
This example shows only "Fullscreen" button
in tools bar, and "Viewfinder" is enabled.
(object1) { TYPE=MOV; FILE=panorama.mov; ACTIVEBUTTONS= 520; }
|
|
SEQUENCEFILE |
|
Syntax: |
SEQUENCEFILE =filename; |
Values: |
Path and file name. This path can be
absolute (on the Internet, beginning by "http://") or relative,
from the path of script file. |
Description: |
This instruction sets the filename
for a sequence file loaded in the escene.
Sequence begins when the user activates
'AutoPlay' button in tools bar, or when autoplay time passes
(configured in 'Autoplay' HTML parameter).
|
Example: |
(objectName1) { TYPE=MOV; FILE=panorama.mov; SEQUENCEFILE =sequence1.txt; }
| |
SETTIMER |
|
Syntax: |
SETTIMER = [group,] name, initialState,
time, code; |
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of objects.
This parameter is optional.
name: The
name of this timer. This name is useful to access this object,
for example, to enable or disable it
initialState: Initial state of the
timer: 0=disabled 1=enabled
time:
Defines the delay time in seconds to activate the timer
code: Executed functions
when timer is activated, these functions must be written in
DevalVR internal programming language (similar to Flash's Action
Script). This is is a text parameter with the definition of all
functions that will be executed when time passes. Several
functions can be defined, each sentence is separated by ';'
character. See this page for a complete list of all available
programming functions: DevalVR programming
|
Description: |
This instruction defines a timer in the
viewer and associates a programming code to this timer. When
the defined time passes and the timer is enabled, then the
programming code is executed.
A timer can be enabled or disabled with Show programming function.
When a timer is enabled with Show function
(previous state is indifferent), its time counting is reset, and the
timer begins again to counting.
|
Example: |
In this example, the viewer loads the
"object2" panorama when 30 seconds pass.
|
ACTIVITYCODE |
|
Syntax: |
ACTIVITYCODE = [group,] name,
initialState, code; |
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of objects.
This parameter is optional.
name: The name of this code.
This name is useful to access this object, for example,
to enable or disable it
initialState: Initial state of the
code: 0=enabled 1=disabled
code: Functions
executed when the user interacts with the viewer, these
functions must be written in DevalVR internal programming language
(similar to Flash's Action Script). Several functions can be
defined, each sentence is separated by ';' character. See this page
for a complete list of all available programming functions: DevalVR programming
|
Description: |
This instruction defines a programming
code to run when the user interacts with the viewer. This code
is executed always that the user press any key, click left mouse
button, or drag the mouse to rotate the camera.
The code is executed on every frame, this is
60 times by second or more when the user is active.
|
Example: |
In this example, the viewer loads the
"object2" when the user leaves 30 seconds the viewer without
interaction.
|
PROPERTYCODE PROPERTYCODE2 |
|
Syntax: |
PROPERTYCODE = [group,] name,
initialState, property, code; PROPERTYCODE2 = [group,] name,
initialState, property, value, code;
|
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of objects.
This parameter is optional.
name: The name of this code.
This name is useful to access this object, for example,
to enable or disable it
initialState: Initial state of the
code: 0=enabled 1=disabled
property: Property used to execute the code, if
this property changes, the code is executed.
This parameter must be one of these
defined properties:
openfullscreen : The code is executed when
fullscreen is open closefullscreen : The
code is executed when fullscreen is close progress : The code is executed when the
loading progress is equal or superior to "value"
parameter
value: Numerical
value required with some properties
code: Functions executed
when the user interacts with the viewer, these functions must
be written in DevalVR internal programming language (similar to
Flash's Action Script). Several functions can be defined, each
sentence is separated by ';' character. See this page for a complete
list of all available programming functions: DevalVR
programming
|
Description: |
This instruction defines a programming
code to run when a property changes in the viewer. The
name of the property is defined in the property parameter.
|
Example: |
In this example, the viewer loads the
"object2" when the user opens the fullscreen, and "object1" is
loaded when the fullscreen is closed.
|
TRANSITION |
|
Syntax: |
TRANSITION = initialPosition,
percentageLoaded, duration, type; |
Values: |
initialPosition: This parameter
enables or disables initial positioning of the camera when the new
scene is loaded. Possible values are 0 or 1 percentageLoaded: This parameter
defines the percentage loaded in the new scene when transition will
begin. duration: Defines the duration
time in seconds for the transition effect. type: Defines effect type for
transition. This value must be one of the next defined
words:
blend : Blend effect from the current scene to the next.
|
Description: |
This instruction enables a transition
effect for all scene changes in the script.
To create transition effect, two scenes must
be loaded, the current scene and the new scene (defined in NODO or
MENU instructions). When a hotspot is activated, loading of the next
scene begins. To do pause of load smaller a "percentage loaded"
value can be defined in this instruction, to begin transition effect
when this percentage is loaded.
User can move the camera while
transition effect is happening.
NOTE: Two scenes must be of the same type,
cubic QTVR to cubic QTVR, spherical to spherical, etc.
|
Example: |
This example sets "blend" transition effect
for all scene changes in the script. Camera position is not modified
when the next scene is loaded, transition begins when 60% of next
scene is loaded and transition duration is 3.5 seconds.
(object1) { TYPE=MOV; FILE=panorama1.mov; NODO=26,26,198, -26,26,198, 26,-26,198,
-26,-26,198, 0,0, object2; TRANSITION= 0, 60, 3.5,
blend; } (object2) { TYPE=MOV; FILE=panorama2.mov; NODO=26,26,198, -26,26,198,
26,-26,198, -26,-26,198, 0,0, object1; }
| |
AUTOMODE |
|
Syntax: |
AUTOMODE = enable, initialTime, sceneTime,
mode; |
Values: |
enable : This parameter enables or
disables automatic mode. Possible values are 0 or 1 initialTime : This parameter defines the
time in seconds to begin automatic mode. sceneTime: Defines the time in
seconds that viewer remains in each scene. mode : Defines behavior mode |
Description: |
This instruction enables the
automatic mode. This mode enables automatic navigation for all
objects in the script when user does not interact with the
scene.
When initialTime seconds pass without
any user action, automatic mode is activated. Viewer selects a
random hotspot (NODO, MENU, etc...) in the current object and
activates it. If selected hotspot loads a new object, viewer
waits sceneTime seconds in the new object
and then a new random hotspot is chosen.
Possible values for mode
parameter: 0: Random selection of hotspot to
load next object 1: Selection of
next frame in the script to load it (frames are loaded in same
order than defined order in the script). 2:
Random selection of any frame in the script.
If user interacts with the scene (mouse
click or keyboard actions) automatic mode is stoped.
|
Example: |
This example enables automatic mode for
this script. Automode will be activated if user does not interact
with the scene in 60 seconds. Viewer changes to other object each 40
seconds.
(object1) { TYPE=MOV; FILE=panorama1.mov; NODO=26,26,198, -26,26,198, 26,-26,198,
-26,-26,198, 0,0, object2; AUTOMODE= 1, 60, 40, 1; } (object2) { TYPE=MOV; FILE=panorama2.mov; NODO=26,26,198, -26,26,198,
26,-26,198, -26,-26,198, 0,0, object1; }
| |
AUTOMODETIME |
|
Syntax: |
AUTOMODETIME = sceneTime; |
Values: |
sceneTime: Defines the time in
seconds that viewer remains in current object when
AUTOMODE function is active. |
Description: |
When AUTOMODE instruction is defined in the
script, all objects are shown for time defined in AUTOMODE
instruction. This instruction (AUTOMODETIME) is used to define a
different time in each object in the script. |
Example: |
This example enables automatic mode for
this script. Automode will be activated if user does not interact
with the scene in 25 seconds. Viewer loads
object2 when 40 seconds pass, and it loads object1 when 30
seconds pass in object2.
(object1) { TYPE=MOV; FILE=panorama1.mov; NODO=26,26,198, -26,26,198, 26,-26,198,
-26,-26,198, 0,0, object2; AUTOMODE= 1, 25, 40, 1; } (object2) { TYPE=MOV; FILE=panorama2.mov; NODO=26,26,198, -26,26,198,
26,-26,198, -26,-26,198, 0,0, object1; AUTOMODETIME=30; }
| |
FONT |
|
Syntax: |
FONT = fontName, typeface name,
height, weight, aspect; |
Values: |
fontName: The name of the font.
This name is useful to use this font in any text
instruction. typeface name: The name of the
font in the system, for example "Verdana", "Times New Roman", ... height: Specifies the height, in
logical units, of the font's character. weight : Specifies the weight of
the font in the range 0 through 9. For example, 4 is normal and 7 is
bold. aspect : Specifies the special
features of this font. These are the possible values
are "normal", "italic", "underground" or "strikeout". It
is posible to define several features separated with the
caracter '+', for example: "italic+underground" |
Description: |
This instruction defines a text font to
be used in later text instructions. A defined font can be used in
any object of the script, you not need to duplicate the FONT
instruction in each object, this is a global instruction.
|
Example: |
This example defines a FONT to be
used in a sample text.
(object1) { TYPE= MOV; FILE=
panorama.mov; FONT= font1, "Times New Roman", 20, 1,
italic;
TEXT= text1, 1, 60,100, #00, #FFFFFF, 0,#000000, 100,
font1,"This is a sample text"; }
|
|
TEXT |
|
Syntax: |
TEXT = [group,] name, visible, x, y,
alignment, color, effect, backgroundcolor, alpha, fontName, text
; |
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of
objects. name: The name
of this object. This name is useful to access this object, for
example, to show and hide it visible: Initial state
of the object: 0=hidden 1=visible x : Horizontal coordinate of
the image, in pixels. y : Vertical coordinate of the
image, in pixels. alignment : A
numerical value specifying the horizontal and
vertical alignment, see description in IMAGE
instruction. color: The color of the text. effect: Effect applied to the text. This
parameter can be one of these predefined values: "background",
"border1", "border2", "globe" backgroundcolor: The color of the background. alpha : Transparency
value of the text from 0 (totally
transparent) through 100 (totally opaque). fontName: Name of the font used to
show this text, the same name that "fontName" parameter in a defined
FONT. text: The text to show. |
Description: |
This instruction creates a text in
the viewer in 2D pixel coordinates.
They exist some predefined words that can be
used to insert a variable in the text. These predefined variables
must be written between '%' character and in uppercase. These are
the available variables:
%PROGRESS% : Replaced by the loading
progress in percentage value
%TILT% : Replaced by tilt value of the camera (rotation on X axis in degrees)
%PAN% : Replaced by pan value of the camera (rotation on Y axis in degrees)
%ZOOM% : Replaced by zoom value of the camera
%FOV% : Replaced by the field of view value of the camera (in degrees)
%FILENAME% :
Replaced by current file name loaded in current
frame %VIEWERTITLE% : Replaced by the text defined with
"viewertitle" parameter of the plugin %DESCRIPTION% : Replaced by
the "description" text of current frame
For example, if the scene is completely
loaded and the text is "Loading: %PROGRESS%" , then the text shown
in the screen will be "Loading: 100"
|
Example: |
This example shows a sample text with
the defined "font1" font.
(object1) { TYPE= MOV; FILE=
panorama.mov; FONT= font1, "Times New Roman", 20, 1,
italic; TEXT= text1, 1, 60,100, #00,
#FFFFFF, 0,#000000, 100, font1,"This is a sample text";
}
| |
TEXT3D |
|
Syntax: |
TEXT3D = [group,] name, visible, x,
y, z, offsetx,offsety, alignment, color, effect, backgroundcolor,
alpha, fontName, text ; |
Values: |
group: The name of the group of this object.
This group name is useful to access several objects with
only one function, for example, to show and hide a group of
objects. name: The name
of this object. This name is useful to access this object, for
example, to show and hide it visible: Initial state
of the object: 0=hidden 1=visible x, y, z
: Coordinates of insertion point of the text, in 3D space. offsetx : Horizontal displacement of the
text from insertion point, in pixels. offsety : Vertical
displacement of the text from insertion point, in pixels. alignment : A numerical
value specifying the horizontal and vertical alignment, see
description in IMAGE instruction. color: The color of the text. effect: Effect applied to the text. This
parameter can be one of these predefined values: "background",
"border1", "border2", "globe" backgroundcolor: The color of the background. alpha : Transparency
value of the text from 0 (totally
transparent) through 100 (totally opaque). fontName: Name of the font used to
show this text, the same name that "fontName" parameter in a defined
FONT. text: The text to show. |
Description: |
This instruction defines a text shown
in the viewer in a 3D position. |
Example: |
This example shows a sample text with
the defined "font1" font.
(object1) { TYPE= MOV; FILE=
panorama.mov; FONT= font1, "Times New Roman", 20, 1,
italic; TEXT3D= text1, 1, 14,118,200,
0,0, #00, #FFFFFF, 0,#000000, 100, font1,"This is a sample
text in a 3D position"; }
|
|
JOYSTICK |
|
Syntax: |
JOYSTICK = name, visible,
joystickNumber, action1, action2, activation, code ;
|
Values: |
name: The name of this object.
This name is useful to access this object, for example,
to enable and disable it visible: Initial state
of the object: 0=enabled 1=disabled joystickNumber : Must be
0 (for primary Joystick) or 1 (for secondary Joystick) action1 : Define the action in the
Joystick that will activate this instruction action2 : If defined, the
second action in the Joystick that must be activated with action1 activation : A
numerical value specifying the state of the action to
activate this instruction,
possible values 0, 1 or 2
0 = first time that action is activated
1 = always when action is activated
2 = first time that action is not activated
code: Executed functions when action1
(and action2 if exists) in the Joystick is activated, these
functions must be written in DevalVR internal programming language
(similar to Flash's Action Script). This is is a text parameter with
the definition of all functions that will be executed. Several
functions can be defined, each sentence is separated by ';'
character. See this page for a complete list of all available
programming functions: DevalVR
programming
|
Description: |
All functions included into "code" parameter
are executed when "action1" and "action2" are activated. "action2"
parameter is optional, this can be set to empty text "".
Available values for "action1" and "action2"
parameters:
"xpos" "xpos+" "xpos-" "ypos" "ypos+" "ypos-" "zpos" "zpos+" "zpos-"
"rpos" "rpos+" "rpos-" "upos" "upos+" "upos-" "vpos" "vpos+" "vpos-"
"nobutton" "button1" to "button32" |
X axis Positive X coordinates (joystick to
the right) Negative X coordinates
(joystick to the left) Y axis Positive Y coordinates (joystick
backwards) Negative Y coordinates
(joystick to the front) Z axis
(third axis, if exists) Positive Z coordinates Negative Z coordinates
R axis
(Rudder value. The rudder is a fourth axis of movement) Positive R coordinates Negative R coordinates U axis (Fifth axis of movement) Positive U coordinates Negative U coordinates V axis (Sixth axis of movement) Positive V coordinates Negative V coordinates
Activates when
no button is activated Buttons from 1
to 32 |
|
Example: |
In this example, the camera moves in X
and Y axis with Joystick. Zoom value is changed when user click
"button1" and moves the Joystick to the front and backwards.
|
PARTIALWIDTH |
|
Syntax: |
PARTIALWIDTH = value; |
Values: |
Horizontal field of view in degrees of the
cylindrical panorama. |
Description: |
This instruction sets the horizontal field
of view value, to create a partial cylindrical panorama. This is
useful to show an image with less than 360 degrees.
|
Example: |
This example defines a cilindrical panorama
of 180.3 degrees |
CLICKEVENT |
|
Syntax: |
CLICKEVENT = state; |
Values: |
state : This parameter must be 0
(disabled) or 1 (enabled) |
Description: |
This instruction enables a Javascript event
through DoDVLCommands function
when the user clicks in the panorama. This event is sent to
Javascript code always while this event is enabled, with "event"
text in command parameter and "_clickevent_" text in data
parameter. |
Example: |
This example enables this event |
LOADED |
|
Syntax: |
LOADED = state; |
Values: |
state : This parameter must be 0
(unloaded) or 1 (loaded) |
Description: |
This instruction defines the initial state
of a resource in the script, for example an image. By default
all resources are defined loaded, and automatically the viewer will
load these resources when needs them. But with this instruction it's
possible to define any resource as a void object, and load it in any
moment with the Load() function.
|
Example: |
This example defines a unloaded image
in the script |
KEEPPOSITION |
|
Syntax: |
KEEPPOSITION = state; |
Values: |
state : This parameter must be 0
(disabled) or 1 (enabled) |
Description: |
By default, this feature is disabled in all
scenes. If this feature is enabled, all camera values of are
recorded when the viewer loads another scene. When the user come
back to the scene, the camera will recover the previous values.
|
Example: |
This example enables this feature in an
AERIAL scene |
ADDEVENT |
|
Syntax: |
ADDEVENT= objectName, event, code;
|
Values: |
objectName: The name of the object in
the scene to asign the new event
event: The name of the event. This must
be one of the next predefined values:
"press"
= Function is activated when mouse is over the area and
left mouse button is kept pressed
"click" = Function is
activated when left mouse button is pressed over the button area "release" =
Function is activated when left mouse button is released over the
button area
"rollover" = Function is activated when button
changes from 'Up' state to 'Over' state
"rollout" = Function is activated
when button changes from 'Over' or 'Down' state to 'Up'
state "stayinto" =
Function is activated when mouse is over the button area "releasecaptured" = Function
is activated when left mouse button is released and the
object is captured
code:
Is a text parameter with the definition of all functions
that will be executed when button is activated. Several functions
can be defined, each sentence is separated by ';' character. See
this page for a complete list of all available functions: DevalVR programming
|
Description: |
This function defines a new event in a
BUTTON or any other active element and assigns a code to execute
when this event is activated in the element.
|
Example: |
This example assigns the events "rollover"
and "rollout" to a NODO element. By default, the NODO object has the
event "release", in this example, this default event is used to jump
to other panorama with GoToFrame instruction. With the help of
"rollover" event , an image is shown in the scene when the mouse is
over the NODO area, and with "rollout" event, this image is hidden
when the mouse leaves the NODO area.
|
|