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.