X3DV

The educational technology and digital learning wiki
Jump to navigation Jump to search

Draft

<pageby nominor="false" comments="false"/>

Definition

“X3D is a royalty-free open standards file format and run-time architecture to represent and communicate 3D scenes and objects using XML. It is an ISO ratified standard that provides a system for the storage, retrieval and playback of real time graphics content embedded in applications, all within an open architecture to support a wide array of domains and user scenarios.
X3D has a rich set of componentized features that can tailored for use in engineering and scientific visualization, CAD and architecture, medical visualization, training and simulation, multimedia, entertainment, education, and more.
The development of real-time communication of 3D data across all applications and network applications has evolved from its beginnings as the Virtual Reality Modeling Language (VRML) to the considerably more mature and refined X3D standard.”
(web|3D, retrieved 12:59, 11 March 2009 (UTC)).

See also: AJAX3D, VRML (precursor of X3D], 3D interactive environment, 3D modeling, Collada (a similar format)

How to build X3D scenes

X3D scenes can contain two sorts of "contents". Objects and behaviors.

Building objects

Basically, there are three kinds of options:

  • Build 3D scenes or elements of the scene with a tool that can export to X3D
  • Use a special-purpose X3D editor
  • Use an XML editor

Here is a longer list of options (John F. Richardson / VRML mailing list):

  1. An open source modeling and animation system like Blender or Wings3D
  2. A commercial modeling and animation system like Maya or Lightwave3D or Softimage
  3. Your own proprietary modeling and animation system
  4. Free for personal use commercial VRML/X3D authoring tool like Vivaty
  5. Commercial VRML/X3D authoring system [ authoring systems from Vivaty / Octaga / Bitmanagement / Parallel Graphics / … ]. Cost varies.
  6. Open source VRML/X3D authoring system like X3D-edit.
  7. A text editor, preferably an schema-aware XML editor
  8. A text editor without any XML support

See below and also the Web3D website for lists of tools

A modular architecture

Unlike its VRML predecessor, X3D has a modular architecture with four baseline profiles (What is X3D?

  • Interchange is the basic profile for communicating between applications. It support geometry, texturing, basic lighting, and animation
  • Interactive enables basic interaction with a 3D environment by adding various sensor nodes for user navigation and interaction (e.g., PlanseSensor, TouchSensor, etc.), enhanced timing, and additional lighting (Spotlight, PointLight).
  • Immersive enables full 3D graphics and interaction, including audio support, collision, fog, and scripting.
  • Full includes all defined nodes including NURBS, H-Anim (animated interactive Avatars) and GeoSpatial components.

Software

X3D Clients

Major clients (tested by Daniel K. Schneider). For others, see X3D Resources
  • BS Contact VRML X3D VRML/X3D. Commercial software, but 60 days of trial. A free version that includes a crawling banner is available
Other clients
  • Free WRL an open-source (GPL) X3D and VRML browser for Unix/Linux/OS X. Perl/C based. Not completely feature complete, but getting there.
Specialized clients
  • Alpharis, a collective knowledge organization tool that uses X3D (?)
  • ManyOne is a Digital Universe. Features a modified Mozilla with a flux plugin for 3D contents. (dead as of Aug. 2010).
  • Kambi VRML game engine, main focus is on 3D games using VRML / X3D format (although other 3D model formats are also supported). Added Aug. 2010.
3D plugin selector

Serving X3D contents

Any web-server can serve X3D contents for stand-alone usage. You only have to make sure to configure the following mime-types in your web server:

 .x3dv  model/x3d+vrml
 .x3d   model/x3d+xml
 .x3db  model/x3d+binary

Multi user servers

See also: 3D interactive environments

It seems to Daniel K. Schneider that it will take time to attract more open source developers or companies to develop VRML/X3D-based multi-user servers. The ongoing pattern since the mid-1990's seems to be announcements, prototypes and then death of both the product and the companies. However, given that 3D is a "niche market" this is not too surprising. Let's recall the fate of some major technologies. IE (as of March 2009) still cannot handle XHTML and does not implement SVG. The SVG implementation of Firefox is partial only (doesn't include the "SMIL" tags. Firefox does not implement SMIL. Correct implementations of CSS3 and XSL-FO real-time players are other sore issues...

One reason why VRML and X3D is less popular than the sum of proprietry formats (in particular gaming engines) might be that other engines are optimized for speed. X3D, on the other hand, is much more flexible, in a scene any property of any object can change at any time (even if the user can't see the thing). Optimizing players to deal with lots of potentially changing geometry is already difficult. Now, propagating changes in multi-user environment over the Internet multiplies this challenge.

However, sticking to standards still seems to be best solution since code can be reused. Lively, Google's Flash 3D-based (?) chat environment, was terminated on december 2008. It would be interesting to know the reasons. The Palace (an early 2D environment) is dead. Active Worlds (the "second life of the late nineties) seems to be the only commercial proprietry 3D server that managed to stay alive over the years. It's too early to predict the fate of Second Life. It does look like a huge digital desert to me, but it may survive because of some specialized activities like fashion shows or virtual sex. The difference between Active Worlds and Second Life is that Active Worlds Inc. also sells servers you can install on your own machines. You also may consult 3D interactive environments for a longer list.

Here are some recent dead projects (probably the links are dead too now)

Vivaty

Vivaty offers an online 3D chat service with a similar developer model as Second Life, but it's based on a real standard and therefore your contents can outlive the platform. It runs under Vista/XP as Firefox or IE plugin. You can design your own X3D scenes and then import to their server. There is also an interface with Facebook and AIM.

Vivaty closed on april 16, 2010 “The company’s revenue, pegged on the sales of its virtual currency Vivabux, was not substantial enough to cover its costs.” [1]. “Jay Weber, chief technical officer and co-founder, announced on the company’s blog that the site will close because its business of letting users create their own 3D virtual spaces has never taken off.” [2], retrieved 12:29, 25 August 2010 (UTC).

Mediamachines Flux World

In march 2007 Mediamachines announced Flux World (announcement March 2007), a server technology based Simple Wide Area Multi-User Protocol, or SWMP (pronounced "swamp"). The company is now gone and its assets went to Vivaty, e.g. the excellent Vivati Studio X3D authoring tool (formerly "Flux studio"). Vivaty then died on April 2010. No trace of the multi-user server. The free (but not opensource) X3D authoring tool may still be available from some places.

Now let's list some available X3D multi-user server technology:

DeepMatrix server

DeepMatrix is an open-source Java server/client 3D multi-user system capable of both chat and shared events working in conjunction with VRML/X3D browsers that have Java EAI or External SAI. Currently (15:18, 16 May 2010 (UTC), this server works with the Deep MatrixIP9 client (see above). You may have to download the latest (non public) version from the FTP archive

Blaxxun

Blaxxun was one of the first VRML-based systems. The company at some point went broke in the early 2000's, but is alive again (2007).

See also VRML. Resource-limited open-source projects seem to stick to this older standard. E.g. Vr4all is nice community and their technology does work.

Authoring tools

See also 3D modeling. Several 3D modeling tools can export to X3D. Many X3D designers use a normal 3D or CAD modeling tool for creating individual objects and then export/import to a X3D tool to build a scene.

Then, check the web3d.org website. It has a good list of tools for X3D Development including a comparison of four authoring tools.

Combined Modeling / behaviors and scripting tools with a GUI
  • Vivati Studio (dead link) is from a company of the same name that died on April 16 2010. This product used to be called Flux studio before summer 2008. Vivatiy Studio was free for personal use! Authoring included modeling, animating, and scripting. Imports from other applications such as Sketchup, 3ds, Maya, Blender, and Unreal.
    • This tool is no longer avaiable from any official web site, but copies may float around .... We tested Studio Version 1.0 (forked from Flux 2.0) on Vista 32bit/ and Windows 7/64 bit. Runs fine on both.
    • Flux (software) (Wikipedia)
    • You Say You Want A Revolution? Well... by Len Bullard, March 2007. (Flux Studio tutorial).
  • SwirlX3D, 129 CAN$. This is a successor of popular Spazz3D
  • AC3D, Commercial (free trial). 3D modeler/editor that can export to X3D.
Structure editors
  • X3D-Edit Authoring Tool for Extensible 3D (X3D) Graphics (X3D-Edit). Written in open-srouce Java and XML using the Netbeans 6.7 platform.
    • X3D-Edit is a graphics file editor for Extensible 3D (X3D) that enables simple error-free editing, authoring and validation of X3D or VRML scene-graph files. Context-sensitive tooltips provide concise summaries of each VRML node and attribute. These tooltips simplify authoring and improve understanding for novice and expert users alike.
  • BS Editor. Commercial.
    • “The BS Editor supports the application developer to program interactivity and behavior to objects and scenes. The geometry of 3D models shall be imported from leading authoring tools like 3ds max or Blender and can be integrated into applications by using BS Editor without notable VRML/X3D knowhow”, retrieved 11:20, 25 August 2010 (UTC).
  • Submarine X3D, a free very simple X3D Editor for Linux, Mac OS X and Windows by Andrea Nardinocchi from University of Padua.
  • For handcoding X3D, one also can use any XML editor that supports DTD or XSD, e.g. Xemacs.

Conversion, exporting and importing software

Links

General / Indexes

Specifications

Main
Alternative sites
  • X3D Wiki at web3D. A nice alternative to the specification ! Hopefully this will evolve [1/2006]
More (extensions, additional)
  • X3dom is an attempt started in 2010 to integrate X3D with HTML5. “X3DOM (pronounced X-Freedom) is an experimental open source framework and runtime to support the ongoing discussion in the Web3D and W3C communities how an integration of HTML5 and declarative 3D content could look like. It tries to fulfill the current HTML5 specification for declarative 3D content and allows including X3D elements as part of any HTML5 DOM tree.” ([X3Dom.org], retrieved 12:29, 25 August 2010 (UTC)). Alpha implementations work with browers that implement WebGL (e.g. Firefox 4.0 Beta as of Aug 2010).
  • See the X3dResources' Authoring Support section for additional resources (e.g. additional Schematron validation).

Developer communities

Tutorials

Examples

References

  • Chittaro, L. and R. Rano (editors) (2007). Web3D Technologies in Learning, Education and Training, Computers & Education Volume 49, Issue 1, Pages 1-130 (August 2007). Table of Contents. The introductory article is availabe as preprint from [HCI Lab].
  • Davis, Wiki A. (2007), The frontier of education: Web 3D, The Cool Cat Teacher, Blog Entry. HTML
  • Osvaldo Gervasi, Donald P. Brutzman (Eds.): Proceeding of the Twelfth International Conference on 3D Web Technology, Web3D 2007, Perugia, Italy, April 15-18, 2007. ACM 2007, ISBN 978-1-59593-652-3 TOC.