<html>
<head>
<meta http-equiv="Content-Type" content="text/html;
charset=windows-1252">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Vince,</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">I have not looked at the details of
your model (from SketchFab) or the X3D scene. My comments are
mostly related to glTF and how that interacts with the renderer
and animator.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">glTF only uses Physically Based
Rendering. PBR is "lit" using environment maps, not regular
lights. It is possible to get some lighting from regular (point,
spot, directional, rectangular, linear, hemisphere) lights;
however, it will generally be insufficient and not have the proper
look. Reflective surfaces (those with a high metalness value) will
not correct. To my knowledge X3DOM does not environment maps.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">The animation stored inside a glTF
model is typically deformed skin joint animation. The only way to
practically do this (make it move) is to use the GPU for those
computations. The animator (may be the same as the modeler)
defines the animation as either rigid (X3D mechanism) or deformed
skin (GPU calculation based). It may be computationally possible
to do a rigid animation in X3D. <br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Most objects are initially modeled as a
single quad-mesh. This creates a single object with no inner
transforms. The triangulation is done prior to writing out glTF as
it only supports triangles. The interpolators would need access to
the transforms of the various joints. Depending on how the figure
was modeled, those may not exist.</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Note that there are (typically)
transforms for the various bones (aka joints). It may be possible
to animated those; however, it will take special calculations to
animate the skin of the model. There is no geometry associated
with bones (unless the modeler explicitly models the skeleton).</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix">Leonard Daly<br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<div class="moz-cite-prefix"><br>
</div>
<blockquote type="cite"
cite="mid:b41e593f-4b8d-a61b-908d-6b75c356efae@nps.edu">
<pre class="moz-quote-pre" wrap="">[cc: hanim group, other principals]
Interesting work, thanks!
Michalis, Andreas, Timo: the comment by Vince regarding lighting is important. As we work towards detailed specification of loading glTF into X3D, presumably application of scene lighting to the inlined model is allowed... is that correct? are there any special considerations or issues?
Vince, Anita and William: it would also be great if we got the animation file for the "too much coffee" guy. If BVH, we can model it with HAnimMotion node or interpolators. If something else, we can try to adapt it. Hoping you can get this, perhaps as part of our IEEE 3D Body Processing collaboration.
v/r Don
On 8/8/2019 7:10 AM, <a class="moz-txt-link-abbreviated" href="mailto:vmarchetti@kshell.com">vmarchetti@kshell.com</a> wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">I have prepared demonstrations of loading glTF assets into an X3D scene using X3DOM's extended capability of the Inline node.
The purpose of these demos was to test whether the inlined glTF asset can generate X3D events when a sibling of a TouchSensor, and the
answer, yes they can. Each model should respond to a mouse-over the human figure by showing a text caption above the figure.
The demos are:
<a class="moz-txt-link-freetext" href="http://www.kshell.com/pages/gltfassets/sharpdressedman/">http://www.kshell.com/pages/gltfassets/sharpdressedman/</a>
which loads a glTF exported from a SketchFab model: <a class="moz-txt-link-freetext" href="https://sketchfab.com/3d-models/sk-high-res-7b740c6dcf6e4c06b2ea666298fc66f4">https://sketchfab.com/3d-models/sk-high-res-7b740c6dcf6e4c06b2ea666298fc66f4</a>
My comment on this one: I would like to add more lighting, but the X3D rendered asset doesn't seem to be effected by X3D lights -- any comments?
<a class="moz-txt-link-freetext" href="http://www.kshell.com/pages/gltfassets/toomuchcoffee/">http://www.kshell.com/pages/gltfassets/toomuchcoffee/</a>
loading a gltf exported from SketchFab model : <a class="moz-txt-link-freetext" href="https://sketchfab.com/3d-models/127-333-06f2cff1d71942deaba085785dab443a">https://sketchfab.com/3d-models/127-333-06f2cff1d71942deaba085785dab443a</a>
My comment : Don't know if it's possible to use the animation data, which seems to be referenced in the JSON index into the glTF data. The animation is displayed on the SketchFab page, the X3DOM representation is a static pose. Any Comments?
Some common information
For both pages I am loading the release X3DOM full library <a class="moz-txt-link-freetext" href="http://x3dom.org/release/x3dom-full.js">http://x3dom.org/release/x3dom-full.js</a>, which as of Aug 8 2019 is redirecting to X3DOM v 1.8 at <a class="moz-txt-link-freetext" href="https://x3dom.org/download/1.8.0/x3dom-full.js">https://x3dom.org/download/1.8.0/x3dom-full.js</a>
These models were exported from SketchFab as a folder, with a JSON index file named scene.json, a separate binary data file, and a subfolder of texture images. X3DOM make several network calls to retrieve these components of the glTF asset. My next test will be to package each model into a single .glb file to verify that X3DOM can load thge asset with a single network call.
Vince Marchetti
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">all the best, Don
</pre>
</blockquote>
<p><br>
</p>
<div class="moz-signature">-- <br>
<font class="tahoma,arial,helvetica san serif" color="#333366">
<font size="+1"><b>Leonard Daly</b></font><br>
3D Systems & Cloud Consultant<br>
LA ACM SIGGRAPH Past Chair<br>
President, Daly Realism - <i>Creating the Future</i>
</font></div>
</body>
</html>