Sustainability of Digital Formats: Planning for Library of Congress Collections

Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact
Format Description Categories >> Browse Alphabetical List

Universal 3D (U3D) format family. ECMA-363, Editions 1-4

>> Back
Table of Contents
Format Description Properties Explanation of format description terms

Identification and description Explanation of format description terms

Full name Universal 3D (U3D) format family. ECMA-363, Editions 1-4.
Description

The Universal 3D File Format (U3D) is a binary format based on technology developed by Intel Corporation in the late 1990s and first published as the standard ECMA-363 in December 2004 after consideration by ECMA International's Technical Committee 43 (TC43). The stated intention for the format specification was "for downstream 3D CAD [computer-aided design] repurposing and visualization purposes." Four editions of ECMA-363 were published between December 2004 and June 2007. The 3rd Edition of U3D (June 2006) is the most widely used, frequently as an encoding wrapped in a PDF rather than as a free-standing file. See History Notes below for more details on the early background for U3D. Since the publication of the PDF 1.6 format by Adobe in November 2004, PDF documents have been able to include 3D art in the U3D encoding, but the latest edition cited as a normative reference in PDF specifications has been the 3rd Edition. Important features introduced in the 4th Edition also do not appear to have been implemented in the software library released by Intel. Although this description covers the four editions, it focuses on the 3rd Edition. See History Notes below for more about the 4th Edition.

The 3rd Edition of the U3D specification states that the purpose "is to provide a reliable, easy to use, easy to implement file format that supports the streaming, progressive transmission, of 3D mesh and level of detail information in a standard way. ... The motivation for this file format is to address the growing need to reuse existing 3D data for applications and usage models downstream from the engineering or design uses for which the data was originally created." Elsewhere, the specification describes U3D as "an extensible format for downstream 3D CAD repurposing and visualization, useful for many mainstream business applications." An informal description of the format was provided by TC43 in April 2007 as a slideshow. Features emphasized in the specification and slideshow include:

  • Execution architecture that facilitates run-time modification of geometry and progressive data streaming and playback
  • Pre-computed continuous level of detail (CLOD). Enables applications to increase or decrease model complexity based on needed quality or performance. Facilitates zooming and scaling.
  • Key-frame and bones-based animation. See Wikipedia entry on skeletal animation.

U3D has been and is widely used for embedding artwork in PDF files. Its past use as a neutral transfer format between applications has decreased because U3D lacks support for features considered essential in some domains and is no longer actively maintained as a standard. For more indications that use of and support for U3D is more likely to decline over time than to increase, see Adoption under Sustainability Factors; Quality and Functionality Factors; and Characteristics for the Market for 3D Technology under Notes below.

File Structure: The U3D format is a complex little-endian binary format. The structure of a U3D file and the semantic architecture of the underlying model reflect a desire for computationally efficient rendering and manipulation of an object and small files for transmission and loading into memory. The semantics of the U3D model architecture involve several key elements: nodes, the scene graph, resources, and palettes. Nodes have spatial information and hierarchical relationships that build the scene graph. Together, a node and a resource compose a 3D object, that is, an independent part of the overall 3D scene. In U3D, palettes support an index mechanism to provide efficient access to the nodes and resources and to permit re-use of resources that represent elements such as the geometry of a shape, lighting, shading, and textures, etc. For example, a 3D shape is one resource, while separate palettes can indicate different instances of that shape with different colors or textures applied. Or the same texture can be applied to different shapes.

A U3D file is structured as a sequence of blocks. The first block is the File Header Block, the only required block for a U3D file. The header includes a "profile indicator" that will indicate if the file uses extensibility features of the format and whether or not the default compression specific to U3D is applied. Each block begins with a blocktype value, with valid 32-bit values defined in the specification in hexadecimal (Hex). For example, the blocktype for the File Header Block is Hex 00443355 (U3D in ASCII, which acts as a magic number for the file format). Other examples include FFFFFF22 for a Model Node and FFFFFF51 for a Light Resource. All blocks have the same basic structure. The blocktype value and values for the size of the block's data and metadata determine how the remainder of the block is interpreted by the loader. Padding fields are used to keep 32-bit alignment relative to the start of the File Header Block.

Each architecture element is represented by a declaration block and zero or more continuation blocks; apart from the elements specifying 3D geometry for shapes, most elements are represented fully in the declaration block. The declaration blocks, which come first in the file, contain enough information to create a shape or other resource and locate it appropriately in an in-memory data structure. Each block has a data section and a metadata section. The format of the data section will vary based on the blocktype. The format of all metadata sections is a sequence of key/value pairs.

The specification defines a bit-encoding algorithm which serves as a specialized lossless compression scheme. Rather than compressing the file content as a whole, values within a block's data section are compressed.

Production phase

Intended as a middle-state format to enable a variety of end user applications with 3D data created in design applications. As of late 2018, the primary use of U3D by end users is as the encoding for a stream wrapped in the PDF file format.

Relationship to other formats
    Used by PDF_family, PDF (Portable Document Format) Family. 3D artwork in the U3D encoding may be contained in various subtypes of the PDF format family, including PDF_1_6, PDF_1_7 (ISO 32000-1:2008), and PDF/E-1.

Local use Explanation of format description terms

LC experience or existing holdings No direct experience.
LC preference The Library of Congress has not yet expressed any format preference for digital models used as designs or surrogates for 3-dimensional objects.

Sustainability factors Explanation of format description terms

Disclosure Open standard, published in four editions by Ecma International as ECMA-363, under the auspices of Technical Committee 43. As of 2018, TC43 has been inactive for many years.
    Documentation Four editions of the ECMA-363 Universal 3D File Format are accessible from http://www.ecma-international.org/publications/standards/Ecma-363.htm. The most widely used version is ECMA-363 3rd Edition.
Adoption

The U.S. National Archives lists U3D as acceptable for the transfer of Computer Aided Design (CAD) files.

As of 2018, the most frequent use of the U3D format is widely reported as an encoding embedded in PDF documents. See, for example, About U3D from PDF3D.com. A number of articles and other resources related to this use of U3D are listed in Useful References below. Examples are Interactive U3D models, from Elsevier instructions for authors and Towards an easier creation of three-dimensional data for embedding into scholarly 3D PDF (Portable Document Format) files, an article published in PeerJ by Axel Newe. However, support in the PDF standard and in Adobe products is only for Editions 1 through 3 of ECMA-363

Given the lack of implementations that support features added in Edition 4 of ECMA-363 and the fact that there is no ongoing support for the Universal 3D Sample Software, some software products have dropped support for U3D (see Why has the u3d export format been removed in SolidWorks 2015?) and documentation for other tools lists limitations (e.g., Okino).

U3D and PRC are the two formats supported by PDF standards for embedding 3D artwork in documents. PDF3D.com states that PRC is generally preferable because it is "significantly more feature rich than U3D, allows highly compressed geometric and visual representations to be added to 3D models and allows detailed structure, geometry and product manufacturing information (PMI) to be included." However, the same site provides reasons to select U3D:

  • More legacy viewing applications support U3D, including Adobe Acrobat back to version 7.x
  • Need to use advanced features such as mesh representations with continuous level of detail and animation displacement channels
  • Less complex data structures than PRC

Open source software tools that support the reading and writing of U3D files include: the Universal 3D Sample Software; and Meshlab. Commercial software supporting U3D includes: MeVisLab (through a community module); Creo; SimLab; PDF3D SDK PRO and several other products from the same company.

    Licensing and patents A 2007 public presentation by TC43 on the Universal 3D File Format states that no licensing is required for use of the format and that the sample reference code was available under the Apache open source license.
Transparency The U3D format is a complex binary format in which individual values can be compressed using a complex bit-encoding algorithm to enhance performance. The format requires sophistication to build tools to visualize, render, or animate 3D models.
Self-documentation The format supports the association of individual metadata values with any substructure (e.g., resource or block) within the U3D format, using a key-value representation. There is no support for embedding XML-based metadata in a recognized schema.
External dependencies None beyond software capable of reading and writing U3D encoding and files.
Technical protection considerations No internal support for encryption.

Quality and functionality factors Explanation of format description terms

Other
3D Model Geometry

The U3D format supports geometry definition using several approaches, including: point clouds, line sets, and triangular meshes with "continuous level of detail" (CLOD). The 4th Edition introduced an extension to support free-form curves and surfaces defined using uniform and non-uniform, rational and non-rational representations. However, there appears to be no implementation of the functionality in this extension, which included support for the commonly used NURBS approach for defining surfaces. Comments welcome. According to a 2008 report from NCSA (An Overview of 3D Data Content, File Formats and Viewers), U3D does not support constructive solid geometry (CSG) directly.

3D Model Appearance Resources related to model appearance that can be represented in U3D include material attributes, texture mapping, and shaders that can specify combinations of material attributes, textures, and lighting. Texture maps can use images in JPEG, TIFF, and PNG formats. Material attributes available are ambient color, diffuse color, specular color, emissive color, opacity, and reflectivity.
3D Model Scene U3D can include a "scene graph" recording the hierarchical and spatial relationships between nodes. A specialized hierarchical structure supported is known as a "skeleton," used particularly for animation (see factor for 3D Model Animation below). Other aspects of scene visualization can be represented in U3D through "light resources" and "view" instances. Light resource attributes include type (ambient, directional, point, spot), color, and attenuation. View instances (aka view nodes) provide spatial position and orientation and hierarchical information as well as defining clipping, projections (e.g. one, two or three point perspective or orthogonal), the view port, backdrops and overlays. Fog can be applied to a scene through another type of view resource.
3D Model Animation U3D supports animation using key-frames and skeleton structures (assemblies of bones and joints). Note: These structures do not have to represent actual bones and skeletons. See Wikipedia entry on skeletal animation.

File type signifiers and format identifiers Explanation of format description terms

Tag Value Note
Filename extension u3d
Used for standalone U3D files.
Internet Media Type model/u3d
There is no media type registered with IANA for the U3D format. This value appears in an appendix table in a description of the Movie15 package for LaTeX.
Magic numbers Hex: 55 33 44 00
ASCII: U3D

From filext.com and other sources.

Pronom PUID fmt/702
See http://www.nationalarchives.gov.uk/PRONOM/fmt/702. Applies to all format editions.
Wikidata Title ID Q974182
See https://www.wikidata.org/wiki/Q974182.

Notes Explanation of format description terms

General

3D Model Characteristics: The quality and functionality factors used above are based on an analysis from 2008 in An Overview of 3D Data Content, File Formats and Viewers, a technical report (ISDA08-002) from the National Center for Supercomputing Applications (NCSA). According to this analysis, the key aspects of a 3D model are: geometry, appearance, scene, and animation. For brief descriptions of these factors, see the table for 3D model formats under Quality and functionality factors. The descriptions there are drawn from the 2008 report and from 2019 Most Common 3D File Formats (an article from All3DP), which uses the same factors to distinguish formats.

All 3D formats support some method for representing the geometry (the shape) of an object; support for other aspects is optional depending on the primary use of the format. Table 3 in the 2008 report, An Overview of 3D Data Content, File Formats and Viewers, compares nine popular 3D formats in use in 2008, including U3D, based on these four aspects of 3D models. See also 2019 Most Common 3D File Formats for discussion of an overlapping set of formats.

Characteristics for the Market for 3D Technology: As described in Making 3D Technology Universal, a 2005 article in Computer Magazine by David Geer, most computer-aided design (CAD) applications tended to use proprietary formats. Several attempts to develop general-purpose 3D applications and formats for use on the web had failed in the marketplace. These included Adobe's Atmosphere, Microsoft's Chromeffects, and Shockwave's .w3d formats. Neil Trevett, vice president for embedded content at graphics-chip maker Nvidia, offered reasons beyond technical shortcomings, "because 3D is a market with so many niches that it is difficult for a single approach to appeal to enough users to succeed; and because the technologies weren’t controlled by an open standards body."

Both the NCSA technical report from 2008 and the C|net article from 2018 cited above mention the large number of 3D formats, well over 100. See also the lists of 3D graphics formats and Computer-aided design formats from Wikipedia. Many of these are proprietary. Among "neutral" formats, some are specialized for particular tasks. For example, STL (Stereo Lithography format) is a lightweight format with no support for appearance, scene, or animation, but is the most widely used format for 3D printing. Others, such as STEP, are intended to capture all details essential for interchange and archiving of architectural and engineering designs, including parts specifications and tolerances. In the context of video-games, such details are irrelevant. A truly universal 3D format appears unlikely to emerge. A niche for the U3D format seems to be for presentation of 3D models to users without specialized software, usually for purposes of explanation, demonstration, or promotion.

Embedding U3D into PDF: A major use of 3D models is to present them in interactive form to end users without the need for special software; hence a primary use of U3D has become embedding U3D streams in PDF documents. Beginning with PDF_1_6, introduced in 2004 in association with Acrobat and Adobe Reader 7, a U3D model can be included in PDF documents using a 3D Stream. A 3D Annotation specifies how the 3D artwork is to be presented and activated in the document. The specifications for PDF_1_6 and PDF_1_7 use Edition 1 of the U3D format as a normative reference. The specification for PDF 2.0 uses Edition 3 of the U3D format as a normative reference. There is no support in PDF or by Adobe in its products for Edition 4, which was published in 2007. The lack of support in PDF documents for U3D streams using important features introduced in Edition 4 has resulted in some application software abandoning the use of U3D.

As stated in https://www.pdf3d.com/u3d/, "U3D is a 3D data structure and file format, one of two systems used in 3D PDF documents. Along side PRC, U3D is the historical foundation used to embed 3D interactive data and models into a PDF file. A PDF file containing U3D based 3D model can be viewed using the Adobe Reader as well as other tools. As the U3D format has been available since 2006, many software systems support U3D export. U3D is also referenced in the ISO PDF/E standard." The following statements are based on information from the same site: U3D can be used as a 3D file type for storage and interchange with other U3D-compatible applications; U3D files may be 'wrapped' into a PDF file using tools such as Acrobat Pro and the media9 package for LaTeX; today, U3D is primarily used for 3D PDF internal encoding, rather than as an interchange format.

History

The origin of the U3D format was in technology from Intel, which had a 3D Architecture Lab in the late 1990s. This lab developed software originally aimed at game developers, the IFX toolkit, with an associated file format. A particular feature in the software supported modeling and animating "skeletons," assemblies of bones and joints; this feature is present in the U3D specification. A partnership with Macromedia, based on that technology, developed the Shockwave 3D format using .wrd as extension. See A Short and Current History of the Shockwave-3D File Format from Okino. Later, Intel formed the 3D Industry Forum (3DIF) to develop the format into a standard and promote its implementation. This cross-industry group included Adobe, NVidia, ATI, and Fraunhofer among its roughly 40 member organizations; some were developers of 3D technology, others were corporate users. 3DIF proposed the Universal 3D Format for standardization through Ecma International. Intel provided the source code for the IFX toolkit as an open source software library for reading and writing U3D files. For more detail on the early background, see Intel's 3D Divorce Rate, a June 18, 2004 news item from C|Net and the section on History of the U3D File Format (reproduced courtesy of Robert Lansdale of Okino Computer Graphics) in the summary of U3D from PDF3D (a provider of tools for embedding 3D artwork in PDF documents).

Edition 1 of Ecma's U3D standard, ECMA-363, was finalized in December 2004 under the auspices of Ecma TC43. Edition 2 was published in August 2004, adding a mechanism for extensibility to the U3D format. Edition 2 was submitted to ISO/IEC for fast-track processing, a process that was never completed. Edition 3, published in June 2006, states that changes were made as a result of comments received during the ISO/IEC DIS ballot process. A brief comparison of Editions 2 and 3 of ECMA-363 by the compilers of this resource suggests that the changes were limited to a small number of clarifications. Comments welcome.

Enhancement of the specification continued in TC43, which resulted in the 4th Edition of ECMA-363 in June 2007. In particular, Edition 4 introduced an extension to support free-form curves and surfaces using the non-uniform rational basis spline (NURBS). NURBS offers great flexibility and precision for handling both surfaces defined by common mathematical formulae and modeled shapes and is very widely used. Appendix 1: A Brief History of 3-D PDF (2013) states, "Unfortunately, the development of U3D ceased in 2006: the forum was disbanded, essential agreed-upon changes to U3D format (like non-uniform rational b-splines) were not implemented, plans to make U3D an ISO standard were dropped, and the U3D SDK was frozen." This appendix, which also provides more detail on U3D history, is a supplement to "Embedding and Publishing Interactive, 3-dimensional, Scientific Figures in Portable Document Format (PDF) files" by David G. Barnes et al.

The code that originated with Intel is still available as Universal 3D Sample Software. Release notes for the latest version of the latest version of the SDK (dated Dec 2006) indicate that it corresponds to Edition 3 of the U3D specification. The compilers of this resource are not aware of any full implementations of Edition 4 of the U3D specification. Comments welcome.


Format specifications Explanation of format description terms


Useful references

URLs


Last Updated: 10/28/2019