-
Notifications
You must be signed in to change notification settings - Fork 472
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decouple spatial subdivision and metadata from 3D Tiles #519
Comments
Does USD makes sense in a 3D Tiles context? I think this needs more context and understanding of the USD format on my part. Is the goal still to stream tiles over a network? or is it meant to be packaged with the assets for a game client? is USD optimized for efficient transmission? what about runtime use? |
Also I should have explicitly mentioned another metaverse / AR use case:
|
One comment on (3) and "glTF asset with just the metadata extensions" —
|
@donmccurdy roger that. Let me back up on metadata in general. I believe metadata in 3D Tiles Next is architected roughly with the following separation of concerns, from bottom of the stack to the top:
I think this is close to how we would want to separate concerns to allow an ecosystem of semantic metadata extensions, e.g., how to import a photogrammetry city model into different engines that includes the material types of the exterior walls, or importing a car model into different engines and knowing the coefficient of friction of the tires, but that (2) may be too coupled. Seems like there should exist logically (but perhaps not physically) this stack:
I think the raw concepts are all here but I am not sure that the current specs are decoupled in the right way to allow ecosystems of (4) and (5) to develop. I don't know that we need to do a big change at the moment, but this is something we should explore as we get community feedback on 3D Tiles Next and strive to architect something that can be a 10 year or more foundation for the metaverse. As for XMP, we should leverage, interoperate, normative reference, message when to use each, etc. however appropriate based on XMP's strengths, use cases, and current ecosystem. Very open to recommendations and avoiding duplicate work. |
Thinking about (4) and (5) — at least as a thought exercise, it's helpful to compare the Semantic Reference to the XMP Dublin Core Namespace, or perhaps other namespaces. Can we cleanly map XMP namespaces in general to 3D Metadata semantics and encodings? Some of XMP's higher-level types, like Language Alternatives, are not so trivial for encoding. Below is a <xmp:Title>
<rdf:Alt>
<rdf:li xml:lang="x-default">XMP - Extensible Metadata Platform</rdf:li>
<rdf:li xml:lang="en-us">XMP - Extensible Metadata Platform</rdf:li>
<rdf:li xml:lang="fr-fr">XMP - Une Platforme Extensible pour les Métadonnées</rdf:li>
<rdf:li xml:lang="it-it">XMP - Piattaforma Estendibile di Metadata</rdf:li>
</rdf:Alt>
</xmp:Title> I'm not sure what the JSON-LD encoding of that would be, but here's a rough guess: {
"dc:title": [
{"lang": "x-default", "value": "XMP - Extensible Metadata Platform"},
{"lang": "en-us", "value": "XMP - Extensible Metadata Platform"},
{"lang": "fr-fr", "value": "XMP - Une Platforme Extensible pour les Métadonnées"},
{"lang": "it-it", "value": "XMP - Piattaforma Estendibile di Metadata"}
]
} XMP doesn't provide a binary encoding, which feels like a big limitation for 3D Tiles and glTF. I could imagine defining something based on CBOR Typed Arrays, Protocol Buffers, Flat Buffers, or similar efforts. These are mature enough — at least as libraries — but I'm less sure whether they're appropriate for use in standards. And none (with the possible exception of CBOR?) store metadata in a format appropriate for GPU vertex attribute upload.
|
I think this issue is now duplicate with:
Solving the later two (or just one) should also answer how 3D Tiles implicit/explicit tiling can be decoupled from 3D Tiles in general. @ptrgags @donmccurdy please comment in those issue if there is anything of substance here that would be better served in any of those issues. 🙏 |
This is a roadmap item for an idea we have discussed but I don't think we have written down.
3D Tiles is basically:
3D Tiles Next is basically
As we look to metaverse use cases such as
3D Tiles has the opportunity to broadly solve spatial subdivision and metadata interoperability, e.g.,
I believe some of these use cases are already possible (3 for sure) and that others are just about there so this could be more about positioning, documenting, and inspiring than any major changes. Just asking that we have the decoupling thought through and the big metaverse ecosystem interoperability vision in mind.
CC @donmccurdy @lilleyse @ptrgags
The text was updated successfully, but these errors were encountered: