-
Notifications
You must be signed in to change notification settings - Fork 10
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
OMI_ref #85
base: main
Are you sure you want to change the base?
OMI_ref #85
Conversation
Practical and super interesting. Curious, could this afford us something like crafting? |
@humbletim stated that node refs should be able to specify a bounding box for the object to fit within. Kinda like |
Yinch and Lyuma requested that nodes be able to load fallbacks for progressive loading. We need to handle recursion. Either by allowing it with a max depth or disallowing it entirely. So long as there's no actual cycles recursion should be allowed. Ex. nodes cannot reference themselves but a node can reference another object within it's own document. |
Cool, I like this a lot! I've implemented something similar for https://github.com/expenses/mateversum. Here's an example: https://github.com/expenses/mateversum/blob/master/web/sponza_with_mirror.json Some things that would be important to me:
|
Noice, I made a quick example of a Sponza + mirror in Webaverse to compare with (https://github.com/madjin/sponza) {
"objects": [
{
"type": "application/light",
"content": {
"lightType": "ambient",
"args": [[255, 255, 255], 2]
}
},
{
"type": "application/light",
"content": {
"lightType": "directional",
"args": [[255, 255, 255], 2],
"position": [1, 2, 3]
}
},
{
"position": [
0,
0,
0
],
"start_url": "https://madjin.github.io/sponza/glTF/Sponza.glb"
},
{
"position": [
0,
0,
-2
],
"start_url": "https://webaverse.github.io/mirror/"
}
]
} More about Webaverse here: https://github.com/webaverse |
here are a few links to existing "JSON scene dialects" found in the wild. (hoping we can compare/contrast some of these at a next meeting to help determine which use cases fall in or out of scope of OMI_ref)
|
Awesome list! Thanks @humbletim! Can people try to take a look over these by next meeting? We can also go over them then. |
This topic reminds me of A's presentation at a recent M3 demo day: M3 Mixer: A on Metaverse Clipboard
|
Great list of metadata examples! Will take a look, cheers! |
@robertlong mentioned discovering Khronos/gLXF (spec currently being drafted) example of {
"asset": {
"version": 2.0,
"experience": true
},
"assets": [
{
"name": "Soccer Player",
"uri": "soccer_player.gltf",
"scene": "player"
},
{
"name": "Ball",
"uri": "ball.gltf",
"nodes": [ "ball" ],
"transform": "none"
}
],
"nodes": [
{
"name": "Root Node",
"children": [ 1, 2 ]
},
{
"name": "Soccer Player Node",
"asset": 0,
"translation": [ 0, 0, 0 ]
},
{
"name": "Soccer Ball Node",
"asset": 1,
"translation": [ -10, 0, 35 ]
},
{
"name": "Ball Destination Node",
"translation": [ 51, 0, 80 ]
},
{
"name": "Ball Origin Node",
"translation": [ -10, 0, 35 ]
}
]
} |
another interesting example that supports referring to specific named nodes in an external resource. ...
"name": "Scene.json",
"objects": [
{
"data_ref": "mesh_Cube.json/Cube",
"dimensions": [
2.0,
... |
I'm no longer working on this spec and it needs another champion to continue. |
Rendered