X3DV: Difference between revisions
m (→Servers) |
m (using an external editor) |
||
Line 1: | Line 1: | ||
{{Stub}} | {{Stub}} | ||
<pageby nominor="false" comments="false"/> | |||
== Definition == | == Definition == | ||
{{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 | * 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 | # 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 | # 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 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 | 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. | ||
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. [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: | ||
** | * [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 | ** 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. | ||
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
<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):
- An open source modeling and animation system like Blender or Wings3D
- A commercial modeling and animation system like Maya or Lightwave3D or Softimage
- Your own proprietary modeling and animation system
- 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.
- Open source VRML/X3D authoring system like X3D-edit.
- A text editor, preferably an schema-aware XML editor
- 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)
- Flux from MediaMachines. Free player X3D player for Windows (IE/Firefox). Also avaible from the same folks, the good free for private use Flux Studio authoring tool.
- Octaga Player. Full free X3D player for Window and Linux.
- 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.
- Xj3D - Java based X3D Toolkit and X3D Browser. Cross-platform, but not as fast as others.
- 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
- List of 3D plugin selectors at MediaMachines.com,
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
- 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).
- Blaxxun technologies (info about servers)
- community.blaxxun.com
- Cybertown one of the blaxxun-based worlds.
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.
- 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
- 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
- crossroads (Win only)
Links
General / Indexes
- web3D Consortium Home Page
- X3D resources from web3D (Applications, Players and Plugins for X3D / VRML Viewing) X3D Page from DR
- VRML (Virtual Reality Modeling Language) and X3D (Cover page)
Specification
- X3D and Related Specifications Page at web3d.org
- X3D Wiki at web3D. A nice alternative to the specification ! Hopefully this will evolve [1/2006]
Tutorials
- Extensible 3D: XML Meets VRML xml.com tutorial by Len Bullard, Aug 2003
- The public X3D wiki contains tutorials for X3D Nodes and concepts.
Examples
- On-A-Slant Virtual Village. Interactive X3d. A Social Science Education Project.
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
- Weber, Jay C. and Tony Parisi (2007.). An open protocol for wide-area multi-user X3D, Proceedings of the twelfth international conference on 3D web technology, ACM Press, http://doi.acm.org/10.1145/1229390.1229413 (Access restricted).
- 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.