VRML - Alan Dix
Download
Report
Transcript VRML - Alan Dix
VRML
virtual reality modeling
language
what is it?
• standardised (sort of) notation for virtual
reality over the web
• text file (use normal text editor)
• bit like a programming language
• also special world building software
how do you use it?
• you need a VRML viewer
– Netscape/IE plug-in
– stand alone VRML viewer
• and a world
– find one on the net
– write your own!
interactivity over the web???
• 'world' is downloaded
• interaction is local
– moving within the world
• links to the web?
– can be linked to from web pages
– active objects link back
versions
• VRML 1.0
first version
'static' worlds - only viewpoint changes
• VRML 2.0
animated objects in world
tidying up etc.
N.B. VRML browsers highly inconsistent
VRML file format
• filename (URL) ends ".wrl”
– c.f. .html, .gif, .jpg etc.
• VRML 1.0 first line:
#vrml 1.0 ascii
• VRML 2.0 first line:
#vrml 2.0 utf8
• can have binary versions too
contents of VRML file
• one or more nodes
– general format
DEF object objecttype {
fieldname value
. . .
}
– or simply:
objecttype {
fieldname value
. . .
}
types of nodes
• objects that appear in the world
– e.g. sphere, cone, cube etc.
• nodes that alter subsequent objects
– e.g. texture, color, transformations
• nodes that group other nodes
– also limit the effect of transformations etc.
Examples
When you are looking at a virtual
world in Netscape you can use:
View Menu - Page Source
and similar commands in other
browsers.
sphere
#VRML V1.0 ascii
Sphere {
radius 1
}
add colour
#VRML V1.0 ascii
Separator {
# groups things
together
Material {
diffuseColor 1.0 0 0
# red green blue
}
Sphere {
radius 1
}
}
or texture map an image
#VRML V1.0 ascii
Separator {
Texture2 {
filename
"big_alan.jpg"
}
Sphere {
radius 1
}
}
a cone
#VRML V1.0 ascii
Separator {
Material {
diffuseColor
}
Cone {
height 3
}
}
0 0 1 # bright blue
put them together ...
#VRML V1.0 ascii
Separator {
Separator { # for sphere
Texture2 {
filename "big_alan.jpg"
}
Sphere { radius 1 }
}
Separator { # for cone
Material {
diffuseColor 0 0 1 # bright blue
}
Cone { height 3 }
}
}
transform ...
…
Sphere { radius 1 }
...
Transform {
translation 4 2 0
# 4 to the right and 2 up
}
…
Cone { height 3 }
…
putting bits together
simply several cuboids
texture mapped with wood grain
and with a photo.
again and again
• include other
VRML files
• add hyperlinks
WWWAnchor {
name "http://www.hiraeth.com/alan/"
description "Alan's home page"
WWWInline { name "alan.wrl” }
}