VRML
- Virtual Reality Modeling Language
Af Michael Viskum, UNI-C
07/03 2000
VRML er et stærkt sprog til dynamiske og interaktive 3d virtuelle verdener på Internettet
VRML er populær til brug for beskrivelse af 3d-scener og interaktive miljøer på Internettet. Den teknologi, som VRML er baseret på, har en meget bred anvendelighed, såsom web-baseret underholdning, distribueret visualisering, virtuelle museer, 3d-brugergrænseflade for internetbaserede ressourcer, 3d- kollaborative omgivelser, interaktive simuleringer inden for undervisning, virtuelle rum ved detailsalg, web-baseret fjernundervisning, og meget mere …
VRML er således en teknologi, der vil forme fremtidens Internet.
Grundlæggende er VRML et format til udveksling af 3d-modeller og interaktive miljøer. Selve VRML-filen er en tekstfil med.wrl som extension og indeholder ét eller flere objekter og disses indbyrdes sammenhænge samt instruktioner for animation, lyd og interaktivitet. VRML blev udviklet som et sprog, der hovedsagligt skulle bruges på (inter)aktive hjemmesider.
VRML er ikke et programmeringssprog i traditionel forstand som f.eks. C, Java, JavaScript, Visual Basic etc. Det ligger derimod i samme katagori som HTML - man kan sige, at VRML er en 3d-analogi til HTML.
Mange har den opfattelse, at man skal være god til programmering for at lave hjemmesider med VRML-scener. Dette er ikke rigtigt. Der udvikles hele tiden nye udviklingsværktøjer (f.eks. Simply3D - se senere), som gør det muligt at lave endda meget flotte animerede modeller uden én eneste linie programmering "i hånden". Man behøver således overhovedet ikke at have den mindste smule kendskab til selve VRML-filformatet - kun lidt grundlæggende HTML er nødvendigt.
De to mest almindelige måder at inkludere en VRML-fil på (f.eks. verden.wrl) i et HTML-dokument er:
- ved at åbne filen direkte i VRML-browseren og dermed udfylde hele siden: <A href "verden.wrl">Min VRML verden</A>
- at EMBEDde filen i HTML-siden og dermed udfylde et rektangel: <EMBED SRC="verden.wrl" HEIGHT=300 WIDTH=300>
Om Grundlæggende om VRML
Nyhedsbrev
I VRML kan både 3d-objekter, billeder, lyd, video, animation og interaktivtet kombineres og synkroniseres. Det er således muligt at lave komplette 3d virtuelle verdener.
VRML understøtter programmeringssprog som Java og JavaScript, hvilket betyder, at man kan lave endda meget komplicerede former for interaktivitet/animationer.
Selve VRML-koden gemmes i ren tekst og er derfor nem at overføre via Internettet.
Det største minus er nok, at der til normale browsere kræves et plugin for at se en VRML-scene, dertil kommer den noget besværlige
syntaks - der dog efter lidt tilvænning faktisk ikke er så slem.
For at se en liste af tilgængelige VRML-browsere/plugins henvises til
[1].
I det følgende præsenteres et program til udvikling af 3d-interaktive dynamiske modeller.
| Simply3D er velegnet til at lave komplicerede interaktive VRML-verdener |
Programmet Simply3d fra firmaet MicroGrafx
[2] er et udviklingsværktøj designet specielt til at lave 3d-verdener til brug på interaktive hjemmesider samt i forbindelse med PowerPoint præsentationer.
Simply3D har en lækker brugergrænseflade med adskillige værktøjsmenuer og bl.a. "drag and drop" animation/lys/farve/materiale editors. Se et
skærmdump af brugergrænsefladen. Desuden er programmet billigt, da det kun koster 395,00 kr.(nov. 1999).
Når man har lavet en model/scene, så kan man vælge at gemme i forskellige formater, bl.a. VRML, gif, animeret gif, jpeg.
Simply3D er god til at lave spændende animerede tekst og endda meget komplicerede objekter. Det er nemt og hurtigt at lære - og måske vigtigst af alt, der kræves ingen kendskab/kundskaber til/i programmering overhovedet. Man kan endda få programmet til selv at lave en hjemmeside, der inkluderer den nydannede VRML/gif model.
Af ekstra plusser til Simply3D kan nævnes:
- 800 medfølgende textures
- 1000 macro 3d objekter (biler, huse, redskaber, etc.) lige til at bruge
- 100 prædefinerede animationsformer
- 20 forskellige prædefinerede lyssætninger
- En "Project Wizard", der guider dig igennem hele skabelsesprocessen.
Denne scene er lavet i Simply3D. Den består af en jordklode samt en 3d-tekst. Jordkloden er
animeret til at rotere omkring sig selv, mens teksten roterer omkring kloden.
Hvis du har en VRML-viewer/plugin installeret, kan du
se samme scene gemt i VRML-format. Brug musen til at flytte på objekterne.
Det hele er lavet uden at skrive én eneste programlinie! Nemmere kan det næsten ikke blive.
Udviklingsværktøjer er en god ting men kan selvfølgelig ikke det hele. Hvis man derfor laver komplicerede modeller eller animationer, vil man givetvis opdage, at den eneste løsning er selv at programmere "i hånden". Et rimeligt kendskab til VRMLs opbygning og syntaks er derfor nyttig.
Hvis man har adgang til et kraftigere udviklingsværktøj, såsom 3d Studio, så kan de fleste af disse værktøjer faktisk eksportere til VRML2.0/VRML97, som er den nuværende stardard.
En VRML-verden er opbygget af ét eller flere objekter ( i VRML kaldet "nodes"). I VRML 2.0/VRML97 findes der 54 sådanne nodes. Der findes nodes til at lave simple geometriske objekter (såsom kasser, kugler, cylindere,), disses udseende, lyd, videoklip og til gruppering af nodes.
Nodes gemmer data i felter (på engelsk "fields"), hvoraf der findes 20 forskellige typer.
Til at generere (inter)aktivitet er der desuden defineret en række "følere" (Sensornodes), som aktiveres enten ud fra tiden eller ved, at brugeren klikker med musen et eller flere bestemte steder.
Til at udføre animationer kan man enten bruge prædefinerede interpolatorer (såsom en ColorInterpolator, PositionInterpolator eller en OrientationInterpolator node), eller man kan skrive sin egen animation med den mere generelle Script-node.
Til at udveksle information mellem objekterne bruges en ROUTE-kommando, der definerer stier mellem events-dannere og events-modtagere.
En meget simpel VRML-scene kan se ud som følger:
| #VRML V2.0 utf8
Transform { |
Her defineres en cylinder belagt med en texture (marmor.gif). Cylinderen er flyttet ud ad z-aksen og roteret 45 grader omkring x-aksen.
Hvis du har en VRML-viewer/plugin installeret, kan du
se scenen. Brug musen til at flytte på cylinderen.
For den interesserede er her et lidt mere avanceret eksempel med indbygget animation.
Til dem, der har mod på selv at gå i gang med egentlig VRML-programmering, findes der mange hjemmesider på Internettet, hvor man kan lære de basale ting i VRML og få gode tips. Et par af de bedre er Bob Crispens VRML-webside, der udover at give en historisk redegørelse for VRMLs udvikling på nettet også indeholder mange gode links samt nyttige VRML-verdener [4]. Floppy's VRML-guide [5] er en god pædagogisk introduktionsguide til VRML.
Der findes desuden en del bøger, hjælpeprogrammer og flotte VRML-verdener på nettet. Et godt sted at starte sin søgning, er på VRMLs officielle hjemmeside (som nu er en del af web3d konsortiet)
[3] eller på VRML- ressourcecentret
[1].
VRML97-specifikationen kan varmt anbefales og er tilgængelig i en online-version på
[6].
Desuden kan "The Annotated VRML 2.0 Reference Manual", varmt anbefales
[7] skrevet af Rikk Carey og Gavin Bell ( begge medudviklere af VRML 2.0 og forfattere af VRML97-specifikationen), og som indeholder detaljerede beskrivelser af syntaksen, alle nodes og mange gode eksempler.
- VRML Repository Officiel VRML-side med links, baggrundsartikler, etc. [Red: Websitet har ændret sig. Se http://www.web3d.org/x3d/vrml/index.html]
- MicroGrafx Forhandler af Simply3D
- WEB3D Consortium Den officielle web3d hjemmeside
- VRML Works En guldgrube af materiale, eksempler, links om VRML (bliver løbende opdateret) af Bob Crispen
- Floppy's VRML guide En god pædagogisk introduktionsguide til VRML
- VRML97 Specification Den officielle VRML97-specifikation - kan downloades [Red. november 2003: specifikationen findes desværre ikke længere på webstedet www.vrml.org]
- The Annotated VRML 2.0 Reference Manual skrevet af Rikk Carey og Gavin Bell [Red: Websitet har desværre ændret sig lidt. Se i stedet http://www.web3d.org/x3d/specifications/vrml/]

Udskriv…
Hjælp til udskrift
Om…
Nyhedsbrev
Sitemap
Teknik
Skriv til
RSS
Søg

