Introduction
Overview
Motivation
Accurate sensor simulation that replicates physical phenomena is essential for evaluating the safety of AD/ADAS in virtual environments.
However, previous simulations were limited by computational power and memory, making them visually believable but not physically accurate. Consequently, these simulations were mainly used in the early development stages, where precise physical modeling was not necessary.
With increased computing power and improved simulation techniques, virtual testing now plays a crucial role at all stages of system development. This aligns with the growing need to accurately represent the real-world in simulations, known as digital twins, especially as the demand for physical sensor simulation rises. A fundamental step in virtually describing the real-world is providing a full physical description of all objects, including their material properties and 3D geometries.
Standardizing the representation of data and attributes, such as scenarios, road data, and asset data, is extremely important for AD/ADAS simulation. This promotes data circulation and ensures consistent results across different systems.
Standardization efforts have been made for scenarios and road data using ASAM OpenSCENARIO, ASAM OpenDRIVE, ASAM OpenCRG, and other standards. ASAM OpenMATERIAL 3D advances standardization by providing standardized definitions of material properties and 3D geometry.
The two main chapters of ASAM OpenMATERIAL 3D
ASAM OpenMATERIAL 3D is divided into distinct yet complementary chapters enabling a modular approach to implementation. Key to this is the distinction between material and geometry. Based on specific use-cases, users of ASAM OpenMATERIAL 3D can implement the standard for one or both chapters. At least one of the two chapters shall be implemented to conform with the standard.
-
Material: This chapter includes definitions and file formats for storing and exchanging material properties. These properties can be physical, such as surface roughness, permittivity, and index of refraction, or measured data, like wavelength and angle-dependent reflectance values. Tools or systems focusing on material properties can implement support for the material chapter. For example: “This tool supports ASAM OpenMATERIAL 3D: Material”.
-
Geometry: This chapter contains structures for different object classes. These structures define uniform node structure, naming scheme and coordinate systems to enable exchange, common integration and animation of 3D models. Tools or systems working primarily with geometric data, such as 3D models or spatial structures, can implement support for the geometry chapter. For example: “This tool supports ASAM OpenMATERIAL 3D: Geometry”.
-
Full Compliance: For a full exchange of simulation-ready 3D assets however, both chapters must be supported. Systems or tools providing full support for both material and geometric data can be described as follows: “This tool supports ASAM OpenMATERIAL 3D”.
A list of use cases examples can be found in the Use Cases chapter, each highlighting its relevance to the material chapter, the geometry chapter, or both.
Structure and file formats
ASAM OpenMATERIAL 3D defines various file formats for specifying assets, material properties, and the mapping between them. Figure 1 illustrates these file formats and their interconnections. The definitions of the geometry related data formats marked in red can be found in the geometry chapter. The definitions of the material related data formats marked in blue can be found in the material chapter.
The first interaction with an ASAM OpenMATERIAL 3D-compliant 3D model is through the asset file.
The asset file is a JSON file with the file extension .xoma (ASAM OpenMATERIAL 3D Asset). A detailed definition of the asset file JSON schema is given in Section 7.5, "Asset schema". The asset file shall have the same name as a corresponding 3D data file in glTF, FBX, or USD format. To facilitate instancing, multiple asset file may be linked to a single 3D model file by adding an index separated by a dot (.) as a suffix to the asset file name. It contains metadata, such as description, unique identifier, version information, copyright details, and so on. It also includes a material texture assignment table, allowing dedicated material mapping textures to be assigned to materials within 3D data files. This enables comprehensive material properties to be mapped to the geometry at a texture level. Each texel of the texture contains a 32 Bit code (8 Bit values in the rgba channels) which is mapped to a material property file in a separate material mapping file, linked in the asset file with a URI. For the mapping currently only the rba channels are used (first 24 Bit). The last channel is reserved for future use. An example asset is provided in the examples folder of the repository.
The 3D data file is a standard 3D model file in glTF, FBX, or USD format. Multiple formats can exist in parallel, so one asset file can have multiple 3D data files with different formats with the same name as the asset file. However, to be compliant with ASAM OpenMATERIAL 3D, a simulation environment must support at least one of the named 3D data formats. More information about the file formats is given in in Section 7.4, "File format". An example model is provided in the examples folder of the repository.
The material mapping file is separated from the asset file to facilitate reusability. Multiple assets can link to the same material mapping, allowing simulation systems to have a unified mapping table for all assets. A detailed definition of the mapping file JSON schema is given in Section 7.6, "Mapping schema". It contains metadata, such as description, unique identifier, version information, and the material mapping table. Each row in this table maps a material name or an RGB value to a material property file and includes a human-readable description of the material. This setup allows for two mapping possibilities:
-
Mapping one material property file per material in the 3D model.
-
Mapping a texture code of an ASAM OpenMATERIAL 3D assignment texture to a material property file, enabling detailed differentiation between material properties.
An example mapping file is provided in the examples folder of the repository.
The material property file contains metadata and the properties of one material. Similar to the mapping file, material property files can also be reused for different assets. A detailed definition of the material file JSON schema is given in Section 8.2, "Material schema". Some material properties depend on other simulation quantities, such as wavelength of the simulated sensor, temperature, and humidity. To avoid overloading one material file with large look-up tables, these are placed in auxiliary look-up table files linked with URIs in the main material property file. The defined look-up tables include:
Examples for material property files and look-up table files are provided in the examples folder of the repository.
Conventions and notations
Modal verbs
To ensure compliance with the ASAM OpenMATERIAL 3D specification, users need to be able to distinguish between requirements, recommendations, permissions, possibilities and capabilities, and external constraints.
The rules listed in Table 1 for using modal verbs apply:
Provision | Verbal form | Definition |
---|---|---|
Requirement |
shall, shall not |
A requirement conveys objectively verifiable criteria to be fulfilled and from which no deviation is permitted if conformance with the document is to be claimed. |
Recommendation |
should, should not |
A recommendation conveys a suggested possible choice or course of action deemed to be particularly suitable without necessarily mentioning or excluding others. |
Permission |
may |
A permission conveys consent or liberty (or opportunity) to do something. |
Possibility and capability |
can, cannot |
A possibility conveys expected or conceivable material, physical or causal outcome. |
External constraint |
must |
An external constraint or obligation on the user of the document, for example laws of nature or particular conditions existing in some countries or regions, that is not stated as a provision of the document. External constraints are not requirements of the document. They are given for the information of the user. |
Typographic conventions
Mark-up | Definition |
---|---|
|
This format is used for indexes, all data types and patterns, and example file names. |
Terms |
This format is used to highlight terms from the "terms and definitions" section. |
Normative and informative content
Content in this specification can be normative or informative. The sections listed in Table 3 are normative or informative per definition. Further informative content is shown in table Table 4.
Section | Indication |
---|---|
Foreword |
Informative |
Introduction |
Informative |
Scope |
Normative |
Normative references |
Informative |
Abbreviations |
Normative |
Backward compatibility |
Normative |
Terms and definitions |
Normative |
Use Cases |
Informative |
First to last specification-specific section |
Normative |
Annexes |
Annexes can be normative or informative. The annex heading contains the indication "(normative)" or "(informative)". |
Bibliography |
Informative |
All other sections in this specification are normative.
Text components | Hints |
---|---|
Notes |
The document shall be usable without notes. |
Footnotes |
The document shall be usable without footnotes. |
Examples |
The document shall be usable without examples. |
Sequence diagrams |
The document shall be usable without sequence diagrams. |
Notes, footnotes, and examples shall not contain requirements or any information considered indispensable for the use of the document, for example, instructions or permission.
Deliverables
The following deliverables are provided for ASAM OpenMATERIAL 3D:
-
ASAM OpenMATERIAL® 3D BS 1-0-0 Specification, 2025-MM-DD (this document, contained in this site)
-
JSON schema files for all json formats (contained in the ASAM OpenMATERIAL 3D Github repository)
-
Example files for all defined file formats (contained in the ASAM OpenMATERIAL 3D Github repository) and further examples of
-
a vehicle (contained in the ASAM OpenMATERIAL 3D Github repository)
-
a human (contained in the ASAM OpenMATERIAL 3D Github repository)
-
an environment (contained in the ASAM OpenMATERIAL 3D Github repository)
-