X3D - Page 3
September 16, 2002
Let's immediately bite into an example. This comes from
http://www.web3d.org/TaskGroups/x3d/translation/examples/contents.html,
a page hidden away in the deep recesses of the Web3D site.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC
"http://www.web3D.org/TaskGroups/x3d/translation/x3d-compact.dtd"
"/www.web3D.org/TaskGroups/x3d/translation/x3d-compact.dtd">
<X3D>
<head>
<meta name='filename' content='geometryExample.x3d'/>
<meta name='author' content='Don Brutzman'/>
<meta name='created' content='8 July 2000'/>
<meta name='revised' content='5 January 2001'/>
<meta name='url'
content='http://www.web3D.org/TaskGroups/x3d/translation/
examples/course/geometryExample.x3d'/>
<meta name='description' content='User-modifiable example to
examine the role of the geometry tag. See what nodes
can be replaced: geometry (no) and Cylinder (yes).'/>
<meta name='generator'
content='X3D-Edit, http://www.web3D.org/TaskGroups/x3d/
translation/README.X3D-Edit.html'/>
</head>
<Scene>
<Shape>
<Appearance>
<Material diffuseColor='0 .5 1'/>
</Appearance>
<Cylinder/>
</Shape>
</Scene>
</X3D>
The example is a bit top-heavy with meta content, but in a larger
file that wouldn't be so noticeable. The lower section that
creates the shape itself is simpler than it would be in VRML.
It's also pretty standard XML. Note the Cylinder element has a
slash at the end rather than at the beginning, so is self-contained
and exists as one tag rather than two.
We haven't space here to go into the details of all the differences
between VRML and X3D, but here's broad-brush comparison, plus a
few extra features of X3D.
X3D has a modular structure that allows small X3D players
(plug-ins) to be used for simple X3D files. This level is called
core profile or X3D-1, and overcomes one of the big problems that
plagued VRML - the need for a fully featured player when looking
at a reduced-feature file. Now, a simple file should be viewable
on a small player.
For extra functionality, more components (profiles) can be added
to the X3D player, until we reach the X3D-2 level where all
VRML functions are covered. This means an X3D-2 player can also
understand VRML. And in reverse, a VRML player can read X3D-2,
and its less demanding sibling X3D-1, though only through a
process of file conversion.
Other (optional) profiles can extend X3D's capabilities beyond
VRML. This is the "extensible" element of Extensible 3D.
Other features:
- Open source, so no licensing issues.
-
Has been officially incorporated within the MPEG-4 multimedia
standard.
-
Compatible with the next generation of graphics files -
Scalable Vector Graphics (SVG).
- 3D objects can be manipulated in C or C++, as well as Java.
Atmosphere
Adobe's surprise entry into the 3D market has been well received.
Atmosphere allows non-specialists to create 3D worlds and avatars
within them. One of its best features is its simple ease of use -
the idea is to attract users who found previous 3D programs too
difficult. It also has some cool features for multi-user
environments, including a simple chat mechanism.
None of this is especially new. Products for creating 3D worlds
have been around since 1996 and they've all been commercial
failures. But Atmosphere may succeed where the others failed
because it's so much better. Apart from its simplicity, the other
big scoring point is that Atmosphere worlds are viewed using the
excellent Viewpoint plug-in (Adobe has an investment in Viewpoint).
Viewpoint is arguably the best of the plug-ins and has found its
way into marketing of big brands such as Sony and Dell. There was
even talk of a deal with AOL and incorporation within the AOL
browser.
The chances of Atmosphere succeeding largely depend on whether
the communities meeting in 3D Atmosphere worlds prosper, and
that's why Adobe kept the program free for so long - to get
these worlds above a threshold level.
More sophisticated uses, beyond marketing campaigns and chat
environments, are unlikely because the only script that can be
added to Atmosphere worlds is JavaScript, and although that's
fine for basic animations, it's not enough for a complicated game
environment. For that, developers are more likely to turn to X3D
and Java or C++.
More info
Over 100 3D tutorials from webreference.com
Adobe Atmosphere
Viewpoint
Web3D Consortium
X3D faq
Xj3D toolkit, in Java (public license source code)
Blaxxun
Shout3D
Take up - Page 2
An Introduction to 3D, X3D and Atmosphere
|