|
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
SIZE REFRESHRATE
Text
instructions:
FONT
TEXT
TEXT3D
Miscellaneous instructions:
ACTIVEBUTTONS SEQUENCEFILE
TRANSITION
AUTOMODE AUTOMODETIME
CLICKEVENT
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 showed 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
|
| 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=showed 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 showed
when the mouse is over the button imageDown: The image
showed when the mouse 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 showed 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 showed 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 graphic
button in a 2D coordinates of the viewer.
The button is defined by 3 images, only one
image is showed in button coordinates. The image showed depends of
button state. 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.
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=showed 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 =
point1x, point1y, point1z, point2x, point2y, point2z, point3x,
point3y, point3z, point4x, point4y, point4z, tilt, pan,
zoom, objectName [, imageName];
NOTE: imageName is the name of the
object in the script, it defines the icon image, this parameter
is optional. |
| Values: |
Four vertices position, and the rotations
and name of the next object |
| 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 imageName parameter is not defined,
default image is showed. |
| Example: |
|
(obj1) { TYPE=MOV; FILE=filename1.mov; NODO=26,26,198, -26,26,198, 26,-26,198,
-26,-26,198, 0,0,1, obj2; NODO=
300,184,930,-195,173,962, 297,-274,912, -215,-268,935, 0,0,1,
obj3,icon; } (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 showed 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 showed.
|
| 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 =
left, top, width, height, alignment, objectName;
|
| Values: |
2D screen coordinates of the
rectangle that defines the total area of the menu, and the
object name that defines the menu settings. |
| Description: |
This instruction defines a menu in 2D
coordinates over the scene.
The "left", "top", "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.
This MENU object has this syntax:
(objectName) {
TYPE = MENU;
CONFIGMENU = backgroundColor, activeBackgroundColor, textColor,
activeTextColor, alphaBackground, activeAlphaBackground;
OPCIONMENU = Option text 1 ;
NODO1 = positionX , positionY, positionZ , tilt , pan,
zoom, objectName1;
OPCIONMENU = Option text 2 ;
NODO1 = positionX , positionY, positionZ , tilt , pan,
zoom, objectName2;
...
... }
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).
OPCIONMENU defines the text showed in the
menu option.
NODO1 defines the name of the object
loaded when the menu option is pressed. The five first parameters
define initial camera position and rotation values when the next
object is loaded. For panoramic images positionX, positionY and
positionZ must be 0.
Each option in the menu are defined by one
OPCIONMENU instruction and one NODO1 instruction.
|
| Example: |
|
(pano1) { TYPE =
MOV;
FILE = panorama1.mov; MENU = 0, 0, 140, 40, #00,
menu1; }
(menu1) { TYPE = MENU; CONFIGMENU=
#7777FF, #DDDDFF, #FFFFFF, #444444, 70, 90; OPCIONMENU=
View panorama 2 ; NODO1 =
0,0,0,0,0,1, pano2; OPCIONMENU=
View panorama 3 ; NODO1 =
0,0,0,0,0,1, pano3; }
(pano2) { TYPE =
MOV;
FILE = panorama2.mov; MENU = 0, 0, 140, 20, #00,
menu2; }
(pano3) { TYPE =
MOV;
FILE = panorama3.mov; MENU = 0, 0, 140, 20, #00,
menu2; }
(menu2) {
TYPE=MENU;
CONFIGMENU = #7777FF, #DDDDFF, #FFFFFF, #444444, 70,
90;
OPCIONMENU= View panorama 1;
NODO1=0,0,0,0,0,1,pano1; }
|
|
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 showed 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 showed in hotspots. |
| Description: |
This instruction defines the effects applied
to the image showed 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,
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=showed 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. 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 showed in
the viewer in 2D coordinates. Image is showed 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 |
To set the effects applied to the image
several constants exist. 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 |
: 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 | |
| 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,
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=showed x, y, z: Coordinates of
insertion point of the image, 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.
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 showed in
the viewer in a 3D position. The image is showed
over 3D content (over panoramic image).
|
| 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 showed
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=showed 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; }
|
|
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 |
|
| Syntax: |
PROPERTYCODE = [group,] name, initialState,
property, 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"
"closefullscreen"
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 object in the
script to load it (objects are loaded in same order than defined
order 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 showed 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 = name, visible, x, y, alignment,
color, background, backgroundcolor, alpha, fontName, text
; |
| Values: |
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=showed 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. background: Visibility of the text's background,
0=hidden 1=showed. 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 | |