|
|||||||
|
|
|
|||||
|
|
|||||||
FAQ -Virtual Reality Modeling Language (VRML)
VRML stands for Virtual Reality Modeling Language. It is an ISO/IEC language developed by a combined effort of a group of companies and 3D designers and programmers for describing 3D scenes on the Web (fortunately from the beginning the effort converged to make it standard, no such luck with HTML until W3C was created). The documents have *.WRL extensions that can be viewed by a browser with an appropriate plugin or helper-application.
This language is gaining more and more acceptance as a technology for displaying 3D graphics because it's a simple and accessible way to create interactive worlds. Also an important feature is that VRML is encoded in UTF-8 (Unikey) format, similar to your web page's HTML encoded in ASCII, so you can make very detailed 3D scenes using very small files, that can be downloaded quickly - which is one of the main concerns when putting something on the internet. For example: you can make a 3D animation logo embedded on your homepage that takes much less time to be downloaded than an usual animated gif.
You can use any text editor to write your VRML code, there are also a great number of programs available in the Web for different platforms, some for free and others pretty expensive. For viewing your work, as I said before, you'll need a browser with a plug-in, there's quite a variety that you can choose from for different platforms. If you have some programming knowledge learning VRML will be piece of cake, if not it still pretty easy.
No. Unlike Java, VRML doesn't need to be compiled at all. That's why it requires a plugin for viewing it.
The structure of the VRML document is a header, scene graphs, prototypes, routes and comments. It's very important to put the header on the first line of all of your documents preceded by a # character. When the browser starts reading them it will search for the VRML's version you used, so get it right otherwise you might not get a correct response from the browser.
For version 2.0: #VRML
V2.0 utf8.
And for version 1.0: #VRML V1.0 ascii.
Scene graphs are a hierarchical representation of all the objects, visual and/or audio, that composes your virtual world. The representation is made through node statements that have fields and values to be determined, similar to HTML tags and their parameters
Nodes are the basic blocks for creating your scene. Each kind of node has specific field, values and children statements that are always inserted between { }, so never forget to close your nodes
Primitives are basic geometric shapes that are built into the language. The shapes available are: Sphere, Box, Cylinder and Cone. You should abuse these nodes because they are defined in a small number of lines, keeping the size of your document at a minimum.
Just put the # character before your comment line, just like // for JavaScript. Remember that if your comment has two lines, you must put the # before each line!
Tridimensional shapes and routes are described using three coordinates X, Y and Z. Cutting down simple the X-axis is left to right, the Y-axis down to up and the Z-axis is back to front. The Z-axis requires a further abstraction if you want to comprehend it in a theoretical basis, but talking practical it's just the stretching of the image.
The unit for describing the distances in your virtual world is relative, but almost everyone uses the meter unit. Of course if your making a model of a molecule you're not going to use meters but rather Angstrom.
Angles' unit is radians, this confuses some but after a while you'll get around it easily. Just remember that pi = 180º, which is approximately 3,1416 rad, so pick up your calculator and divide, nothing more to it.
Yes! The most common errors are from mis-typed case letters.
Yes, but no worries, the great majority of VRML 2.0 plugins will read your 1.0 code. Just don't forget to specify in the header which version you used.