[x3d-public] An annotations example and project
Vincent Marchetti
vmarchetti at kshell.com
Wed Oct 5 06:28:39 PDT 2022
Intro: The IIIF 3D Technical Study Group , https://iiif.io/community/groups/3d/tsg/ , is developing standards and practices to 3D content in libraries and museums. Their general philosophy is to evaluate and support a variety of formats and viewers, rather than choose one format to rule them all.
One of the members, Ed Silverton of memnoscene ( https://mnemoscene.io/ ) recently presented a prototype of a method by which annotations on a 3D asset can be shared among viewers.
To see the demo, go to : https://yqxggz.csb.app/ -- You shouid see an astronaut in a 3D viewer; the rendering is done by Google's model-viewer, and the underlying asset is a glTF asset at
https://cdn.glitch.com/36cb8393-65c6-408d-a538-055ada20431b/Astronaut.glb
Under the model-viewer pane, and above the "Set Annotations" button, is an input text field. Copy and paste the following json structure:
[
{"id":0,
"normal":"-0.24679987544979334 -0.0979611424867969 0.9641023991468167",
"position":"-0.1377316524360126 0.9925992890184887 0.2542247719185542",
"value":"right hipbone"},
{"id":1,
"normal":"0.29259561389217825 0.11383937564155769 0.9494358342113489",
"position":"0.0652451665004884 1.8182700174153779 0.32465106720430725",
"value":"face mask"}
]
and click the Set Annotations button. The annotations should appear, as labels associated with the 3D rendering.
According to Ed SIlverton, the coordinates and normals in the json above are a 'hit' on the astronaut mesh, that is used as the target for the annotation label.
I have taken on the challenge of implementing a similar capability for the X3D rendering of this model, target demo delivery being the next TSG call on Nov 1.
Eager to hear whether there is similar work out there, or ideas for implementing and extending this capability. I plan start a project on Code Sandbox ( https://codesandbox.io/ ) for this work.
Vince Marchetti
More information about the x3d-public
mailing list