Skip to content

3D Tiles Next Metadata and XMP #554

@pjcozzi

Description

@pjcozzi

3D Tiles Next introduces a new metadata type system, encodings, and ability to make semantic extensions. See

This is a big step beyond 3D Tiles 1.0 that basically used the JSON type system and stored metadata in a Batch Table (texture).

In #519, we discussed:

3D Tiles has the opportunity to broadly solve spatial subdivision and metadata interoperability, e.g.,

...
3. glTF asset with just the metadata extensions to describe a car that can be imported into multiple metaverses
4. USD asset using a metadata semantic extension and the core metadata type system, but a USD-appropriate encoding

Including our interest in how this could work with glTF's XMP metadata extension, #519 (comment), CC @donmccurdy

I think this is a big enough topic that we should break it out into this separate discussion.

To bring 3D Tiles Next from an open specification to an open standard, I think we just need super clear guidance on when to use KHR_xmp_json_ld and when to use EXT_mesh_features, which I think we already have: asset-level vs. embedded-feature-level granularity.

Longer term, it would be great to know if and how 3D Tiles Metadata could leverage XMP, e.g.,

  • Can XMP's RDF (Resource Description Framework) be used to define the new types that 3D Tiles needs (e.g., vector, matrix, and specific numeric types)?
  • Can RDF be used to define new vocabularies for 3D Tiles Next?

I think this will require some initial insights from @weegeekps who knows XMP well, and lots of public exploration on how this could work and what the benefits are, e.g., less fragmentation in the ecosystem, path for clean glTF & USD metadata interop, etc.

Perhaps long term, the next generation of EXT_mesh_features is KHR_xmp_features.

I don't think we need all the answers right away, but just an idea of if we would want to go down this path and how it might work.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions