VRML (Virtual Reality Modeling Language)
För länge sedan när jag gick på Konsthögskolan så fanns där en kille som introducerade mig i VRML och Cosmoplayer. Den var den bästa VMRL spelaren då (det fanns nog inte så mycket annat). För att få denna spelare att funka idag behöver förmodligen en gammal dator (se länk här nedan). Det som var bra med den var att det gick att köra ganska komplexa animerade scener i den med svaga datorer. Cortona är nog det bästa valet idag.
Tyvärr har utvecklingen gått trögt med VRML språket. Jag gillade VRML språket och har gjort en del jobb med det. Här nedan finner du en kortfattad introduktion till VRML syntaxen.
Installera Cortona och se om du kan kolla på dessa exempel:
Enklare VRML Syntax
Vyer eller Viewpoint är kamerans placering och egenskaper.
#VRML V2.0 utf8
# North by East by South by West
# Hans E. Andersson 1999-11-12
###############
# Vyer
DEF Enter Viewpoint {
fieldOfView 1.22
position 0 1 4.4
orientation 0 1 0 0
jump TRUE
description "Enter"
}
DEF Enter Viewpoint {
fieldOfView 1.22
position 4 1 4
orientation 0 1 0 0.7
jump TRUE
description "South East"
}
DEF Enter Viewpoint {
fieldOfView 1.22
position -4 1 4
orientation 0 1 0 -0.7
jump TRUE
description "South West"
}
VRML "känner av" andra objekt i rummet, även kallat collition detection. Hur stor den "egna" kroppen är anges med "NavigationInfo".
NavigationInfo {
avatarSize [ 0.2 , 1 , 0.05 ]
headlight TRUE # sätt denna till "FALSE" om lampor är på
speed 1
#type "WALK"
visibilityLimit 0
}
Enkel Geometri
Nedanstående exempel beskriver hur man skapar en box och en sfär.
###############
# Monolit
DEF Monolit Transform {
translation 0 -1 0
#rotation 0 1 0 3.14
children [
DEF Block Shape {
appearance Appearance {
material Material {
ambientIntensity 0.7
diffuseColor 0 0 0
specularColor 0.33 0.33 0.33
shininess 0.66
#emissiveColor 1 1 1
#transparency 0.77
}
}
geometry Box {
size 1.5 0.5 4.5
}
}
# Extra
DEF Klot Transform {
translation 0 0.25 -2
children [
Shape {
appearance Appearance {
material Material {
ambientIntensity 0.7
diffuseColor 0.3 0.4 0.4
specularColor 0.6 0.7 0.8
shininess 0.4
}
}
geometry Sphere {
radius 0.1
}
}
]
}
Transform {
translation 0 0.25 1
#rotation 0 1 0 3.14
children USE Klot
}
Transform {
translation 0 0.5 2
children USE Klot
}
Transform {
translation 0 0.75 3
children USE Klot
}
Transform {
translation 0 1 4
children USE Klot
}
Animation
# Animator
DEF oi OrientationInterpolator {
key [ 0 0.5 1 ]
keyValue [
0 1.0 0 0,
0 1.0 0 3.14,
0 1.0 0 6.28
]
}
DEF ts TimeSensor {
cycleInterval 10
loop FALSE
}
# touchsensor
DEF mon_sensor TouchSensor {}
]
}
Styr Animation
ROUTE ts.fraction_changed TO oi.set_fraction
ROUTE oi.value_changed TO Monolit.set_rotation
ROUTE mon_sensor.touchTime TO ts.set_startTime # eller timer.
VRML Viewers
Cortona (bästa valet)
http://www.cortona3d.com/Products/Cortona-3D-Viewer/install.aspx
Cortona OBJECT/EMBED Syntax
http://www.parallelgraphics.com/print/developer/products/cortona/html/parameters/
Win, Mac, Linux
http://freewrl.sourceforge.net/download.html
Octaga Player
http://www.octaga.com/joomla/index.php?option=com_content&task=view&id=17&Itemid=40
Detector
http://cic.nist.gov/vrml/vbdetect.html
Cosmo Player (Win, gammal och funkar dåligt idag)
http://cic.nist.gov/vrml/cosmoplayer.html
"vrml-syntax", Hans E Andersson: 2009-12-30 18:10:23, ändrad: 2011-09-27 09:22:47