Error message

  • Deprecated function: Array and string offset access syntax with curly braces is deprecated in include_once() (line 20 of /home/drbiz/public/
  • Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /home/drbiz/public/

Purpose of X3D - Archive

This is the fourth in a series discussing the next generation of X3D. Archiving and long-term storage has always been a strong point of X3D. The ability to read and play content from years or even decades ago makes it unsurpassed in the 3D world. X3D has human-readable formats that can be used for archiving so that the content does not require special software to unpack and display the file contents. It is important to keep the long-term storage and access capability while along X3D to stay current with advances in display technology. The dichotomy of supporting both archiving and displaying 3D content is the driver behind this architecture.

The archive portion of X3D needs to support previous formats in such a manner than they can be accessed by the display portion of X3D. Supporting the various geometry nodes is relatively easy because they contain content that is static. There is no run-time behavior for these nodes. The X3Dng Archive format needs to support all geometry nodes. As the standard goes forward it may be determined that some nodes are not as useful as previously determined, and those nodes can be deprecated.

Individual model animation is also a critical piece of information to keep in the archive. Animation does have a run-time component. This is expressed through interpolators that animate various aspects of the model. The models may be anything from a simple spinning wheel, to a complex steam engine, to an even more complex humanoid (or non-humanoid) character. The modeling and animation need to support all forms of animation including key-frame, surface morphing, and joint with deformable skin motion. There cannot be any restriction on the interpolators that compute the path of animated values between control points.

The industry standard for file format model+animation interchange is FBX. This is a proprietary format owned and controlled by Autodesk. Most all tools import and export this format through either a Autodesk provided library or one developed by inferring the structure (Blender does this to maintain their open-source status). Many developers, especially those in the open source community and independent developers would appreciate having an open royalty-free format provided that has all of the useful capabilities of FBX. It is anticipated that this structure for X3D Archive would meet these requirements.

Current best practices in the industry use one model per file with all of the necessary animations included. The two most popular scene builders (Unity and Unreal) automatically separate the animations to provide the necessary control. The animations are most always done as joint animations with deformable skin (see post Purpose of X3D – Animation). Following current best practices reduces the complexity of the Transmission portion of X3D. That will be discussed in a future post. Also to be discussed in a future post is handling of modle-to-model , model-to-user, and user-to-environment interactions.