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

 

Copyright © 2005 - 2019 HEAP. Alla rätter förbehållna. Integritetspolicy