X3DV: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
Line 1: Line 1:
{{Stub}}
{{Stub}}
<pageby nominor="false" comments="false"/>


== Definition ==
== Definition ==


The X3D ISO standard defines a runtime system and delivery mechanism for real time 3D content and applications running on a network. It supports several file format encodings and programming languages, providing unsurpassed interoperability for 3D data and significant flexibility in manipulating, communicating and displaying scenes interactively. X3D incorporates the latest advances in graphics hardware, compression and data security to provide the best performance and visual impact in an extensible architecture that supports ongoing evolution. X3D's XML-encoded scene graph enables 3D to be incorporated into web services architectures and distributed environments, facilitating the movement of 3D data between applications.
{{quotation|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. <br/>
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.<br/>
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.}} ([http://www.web3d.org/about/overview/ web|3D], retrieved 10:50, 11 March 2009 (UTC)).


See also: [[AJAX3D]], [[VRML]]
See also: [[AJAX3D]], [[VRML]], [[3D interactive environment]]


== How to build X3D scenes ==
== How to build X3D scenes ==
Line 14: Line 17:


Basically, there are three kinds of options:
Basically, there are three kinds of options:
* Build 3D scenes with a tool that exports to X3D
* Build 3D scenes or elements of the scene with a tool that can export to X3D
* Use a special-purpose X3D editor
* Use a special-purpose X3D editor
* Use an [[XML editor]]
* Use an [[XML editor]]


Here is a longer list of options (John F. Richardson / VRML mailing list):
Here is a longer list of options (John F. Richardson / VRML mailing list):
# An open source modeling and animation system like Blender
# An open source modeling and animation system like Blender or Wings3D
# A commercial modeling and animation system like Maya or Lightwave3D or Softimage
# A commercial modeling and animation system like Maya or Lightwave3D or Softimage
# Your own proprietary modeling and animation system
# Your own proprietary modeling and animation system
# Free for personal use commercial VRML/X3D authoring tool [Vivaty]
# Free for personal use commercial VRML/X3D authoring tool like Vivaty
# Commercial VRML/X3D authoring system [ authoring systems from Vivaty / Octaga / Bitmanagement / Parallel Graphics / … ]. Cost varies.
# Commercial VRML/X3D authoring system [ authoring systems from Vivaty / Octaga / Bitmanagement / Parallel Graphics / … ]. Cost varies.
# Open source VRML/X3D authoring system [like X3D-edit]. See the Web3D website for lists of systems.
# Open source VRML/X3D authoring system like X3D-edit.
# A text editor, preferably an schema-aware XML editor
# A text editor, preferably an schema-aware XML editor
# A text editor without any XML support
# A text editor without any XML support
See below and also the [http://www.web3d.org/ Web3D website] for lists of tools
=== A modular architecture ===
Unlike its VRML predecessor, X3D has a modular architecture with four baseline profiles ([http://www.web3d.org/about/overview/ 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 [http://en.wikipedia.org/wiki/Nonuniform_rational_B-spline NURBS], H-Anim (animated interactive [[Avatar]]s) and GeoSpatial components.


== Software ==
== Software ==
Line 59: Line 72:
=== Servers ===
=== Servers ===


; X3D files
; Serving X3D files


* Any web-server can serve X3D contents for stand-alone usage. You only have to make sure to configure the following mime-types:
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
   .x3dv  model/x3d+vrml
   .x3d  model/x3d+xml
   .x3d  model/x3d+xml
Line 68: Line 81:
;Multi user ([[3D interactive environment]]s)
;Multi user ([[3D interactive environment]]s)


It seems to [[User:Daniel K. Schneider|Daniel K. Schneider]] that VRML/X3D-based multi-user servers will never become popular enough to attract open source developers or companies. The ongoing pattern since the mid-1990's seems to be announcements, prototypes and then death of both the product and the companies ...
It seems to [[User:Daniel K. Schneider|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 [[SMILE]] tags nor [[SMILE]] itself.


* [http://www.vr4all.net/ VR4All]. This is a free 3D world building and chat environment. It works with the BS Contact player.  
One reason why VRML and X3D is less popular also might be that other engines are optimized for speed. X3D on the other hand is much more flexible, in 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 of the Internet in multi-user environment multiplies this challenge.
** You can build an area and choose from various components that you can parametrize.
 
** The toolbox is on the lower left and it has tooltips. Then other tools may open (e.g. the construction tool).
However, sticking to standards still seems to be best solution since code can be reused. E.g. [http://www.lively.com/ lively] (Google's 3D chat environment) is now dead, the Palace (an early 2D environment) is dead. [http://edutechwiki.unige.ch/en/Active_Worlds Active Worlds] (the "second life of the late nineties) seems to be the only commercial 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 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 also sells servers you can install on your own. Anyhow there is some more information about [[3D interactive environment]]s you may consult. Now let's list some available [[VRML]]/X3D multi-user server technology:
** The Interface is in french
 
** This is the first free VRML/X3D multi-user construtible world I have seen in a long time. Works smoothly on my "doorstopper" laptop (Dell XPS 1730/Nivdia GeForce 8700 M GT)- [[User:Daniel K. Schneider|Daniel K. Schneider]] 14:32, 2 October 2008 (UTC)
* [http://www.vivaty.com/ Vivaty] offesr an online 3D chat service with a similar developer model as [[Second Life]], but based on a real standard. You can design your own X3D scenes which then run on their server. There is also an interface with Facebook.
* [http://www.blaxxun.com/ Blaxxun]. One of the first VRML-based systems. The company at some went broke, but seems to be alive again (12:48, 1 April 2007 (MEST)).
** In march 2007 Mediamachines announced [http://www.mediamachines.com/press/pressrelease-03292007.php Flux World] (announcement March 2007), a server technology based Simple Wide Area Multi-User Protocol, or SWMP (pronounced "swamp"). This seems to be a dead product
 
* [http://www.blaxxun.com/ Blaxxun]. One of the first VRML-based systems. The company at some point went broke in the early 2000's, but is alive again (2007).
** [http://www.blaxxuntechnologies.com/ Blaxxun technologies] (info about servers)
** [http://www.blaxxuntechnologies.com/ Blaxxun technologies] (info about servers)
** [http://community.blaxxun.com/ community.blaxxun.com]
** [http://community.blaxxun.com/ community.blaxxun.com]
** [http://www.cybertown.com/ Cybertown] one of the blaxxun-based worlds.
** [http://www.cybertown.com/ Cybertown] one of the blaxxun-based worlds.
* [http://www.mediamachines.com/press/pressrelease-03292007.php Flux World] (announcement March 2007). Simple Wide Area Multi-User Protocol, or SWMP (pronounced "swamp"). This seems to be a dead product, though Mediamachines now renamed [http://www.vivaty.com/ Vivaty] does now offer an online 3D chat service with a similar developer model as [[Second Life]]. You can design your own scenes which then run on their server. We just wonder if they can compete with bigger fish, like [http://www.lively.com/ lively] (from Google). On the other hand, they got a deal with Facebook. Vivaty is fully integrated and will prompt for a download of the player (Windows only, not Linux support announced).
 
See also [[VRML]]. Resource-limited open-source projects seem to stick to this older standard. E.g. [http://www.vr4all.net/ Vr4all] is nice community and their technology does work.


=== Authoring tools  ===
=== Authoring tools  ===
Line 99: Line 115:
=== Conversion software ===
=== Conversion software ===


* [http://www.vrspace.org/ crossroads] (Win only)
* [http://www.vrspace.org/sdk/ crossroads] (Win only)


== Links ==
== Links ==

Revision as of 12:50, 11 March 2009

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 10:50, 11 March 2009 (UTC)).

See also: AJAX3D, VRML, 3D interactive environment

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)
  • 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 Digital Universe. Features a modified Mozilla with a flux plugin for 3D contents.
3D plugin selector

Servers

Serving X3D files

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 (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 SMILE tags nor SMILE itself.

One reason why VRML and X3D is less popular also might be that other engines are optimized for speed. X3D on the other hand is much more flexible, in 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 of the Internet in multi-user environment multiplies this challenge.

However, sticking to standards still seems to be best solution since code can be reused. E.g. lively (Google's 3D chat environment) is now dead, the Palace (an early 2D environment) is dead. Active Worlds (the "second life of the late nineties) seems to be the only commercial 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 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 also sells servers you can install on your own. Anyhow there is some more information about 3D interactive environments you may consult. Now let's list some available VRML/X3D multi-user server technology:

  • Vivaty offesr an online 3D chat service with a similar developer model as Second Life, but based on a real standard. You can design your own X3D scenes which then run on their server. There is also an interface with Facebook.
    • In march 2007 Mediamachines announced Flux World (announcement March 2007), a server technology based Simple Wide Area Multi-User Protocol, or SWMP (pronounced "swamp"). This seems to be a dead product

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

Check the web3d.org website. It has a good list of tools for X3D Development.

Combined Modeling / behaviors and scripting tools with a GUI
  • Vivati Studio (Used to be Flux studio, befor summer 2008). FREE for personal use! Authoring means model, animate, and script. Imports from other applications such as Sketchup, 3ds, Maya, Blender, and Unreal.
  • SwirlX3D, 129 CAN$. This is a successor of popular Spazz3D
Structure editors
  • X3D-Edit 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.
  • To handcode X3D you also can use any XML editor that supports DTD or XSD, e.g. Xemacs.

Conversion software

Links

General / Indexes

Specification

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.