<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">From: <a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/hanim.html#HAnimHumanoid" style="font-family:Arial,Helvetica,sans-serif;font-size:small" target="_blank">https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/hanim.html#HAnimHumanoid</a></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">I see:</pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><a href="https://www.web3d.org/specifications/X3Dv4Draft/ISO-IEC19775-1v4-DIS/Part01/components/hanim.html#HAnimHumanoid" style="font-family:Arial,Helvetica,sans-serif;font-size:small" target="_blank"></a>MFNode     [in,out] skin                  []       [IndexedFaceSet, IndexedFanSet, IndexedQuadSet, IndexedTriangleSet, IndexedTriangleStripSet]</pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px">And fromL <a href="https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid" target="_blank">https://www.web3d.org/documents/specifications/19774/V2.0/Architecture/ObjectInterfaces.html#Humanoid</a></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px">sequence<Object>   skin                  []           [indexed mesh objects as defined by the representation]</pre><pre style="font-size:11.7px"><br></pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px">But in actual practice, I see:</pre><pre style="font-size:11.7px"><br></pre><pre style="font-size:11.7px"><span title="Shape contains geometry and optional corresponding Appearance" style="font-family:"Times New Roman";font-size:medium;white-space:normal"><<span style="color:navy">Shape</span> <span style="color:green">DEF</span>='<a title="bookmark link to Joe_Shape" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#Joe_Shape" style="color:maroon" target="_blank">Joe_Shape</a>' <span style="color:green">containerField</span>='<span style="color:teal">skin</span>'></span><span style="font-family:"Times New Roman";font-size:medium;white-space:normal"></span><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><a name="m_-7329258310126589806_Joe_skin_Appearance"></a><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"><<span style="color:navy">Appearance</span> <span style="color:green">DEF</span>='<a title="bookmark link to Joe_skin_Appearance" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#Joe_skin_Appearance" style="color:maroon" target="_blank">Joe_skin_Appearance</a>'></span><div style="margin-left:25px"><a name="m_-7329258310126589806_Joe_skin_Material"></a><span title="Material specifies surface rendering properties for associated geometry"><<span style="color:navy">Material</span> <span style="color:green">DEF</span>='<a title="bookmark link to Joe_skin_Material" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#Joe_skin_Material" style="color:maroon" target="_blank">Joe_skin_Material</a>' <span style="color:green">diffuseColor</span>='<span style="color:teal">0.3 0.3 0.6</span>' <span style="color:green">emissiveColor</span>='<span style="color:teal">0.3 0.3 0.6</span>'/></span><br><a name="m_-7329258310126589806_JoeSkinImageTexture"></a><span title="ImageTexture maps a 2D-image file onto a geometric shape"><<span style="color:navy">ImageTexture</span> <span style="color:green">DEF</span>='<a title="bookmark link to JoeSkinImageTexture" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#JoeSkinImageTexture" style="color:maroon" target="_blank">JoeSkinImageTexture</a>'<br>  <span title="uniform resource locator (url) list of relative or absolute file addresses, performed in order until resource retrieval succeeds"><span style="color:green">url</span>=' "<a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeBodyTexture29.png" target="_blank">JoeBodyTexture29.png<img src="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeBodyTexture29.png" style="float: right; height: 0px;"> </a>" "<a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeBodyTexture29.png" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeBodyTexture29.png<img src="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeBodyTexture29.png" style="float: right; height: 0px;"> </a>" '</span> /></span><br><a name="m_-7329258310126589806_KickTextureTransform"></a><div style="border:1px solid grey"><span title="inserted documentation about ROUTE connections" style="background-color:rgb(238,238,238)"><!-- <i>ROUTE</i> information for <span style="color:maroon">KickTextureTransform</span> node:  [<a title="go to this ROUTE" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#ROUTE_194" target="_blank"><i>from</i> <span style="color:maroon">SkinInterpolator</span>.<span style="color:green">value_changed</span> <i>to</i> <span style="color:green">rotation</span> </a>] --><br></span><<span style="color:navy">TextureTransform</span> <span style="color:green">DEF</span>='<a title="bookmark link to KickTextureTransform" href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKick.html#KickTextureTransform" style="color:maroon" target="_blank">KickTextureTransform</a>'/></div></div><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"></<span style="color:navy">Appearance</span>></span></div><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"><br></span></div></pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px"><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes">From:</span></div><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"><br></span></div><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><span title="Appearance specifies visual properties of geometry by containing Material, texture and TextureTransform nodes"><a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Skin/JoeKickIndex.html</a><br></span></div><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><br></div></pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px"><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal">And </div><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><br></div><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><div style="margin-left:25px">skin [</div><div style="margin-left:25px">        DEF Joe_Shape Shape {</div><div style="margin-left:25px">          appearance DEF Joe_skin_Appearance Appearance {</div><div style="margin-left:25px">            material DEF Joe_skin_Material Material {</div><div style="margin-left:25px">              diffuseColor 0.3 0.3 0.6</div><div style="margin-left:25px">              emissiveColor 0.3 0.3 0.6</div><div style="margin-left:25px">            }</div><div style="margin-left:25px">            texture DEF JoeSkinImageTexture ImageTexture {</div><div style="margin-left:25px">              url [ "JoeBodyTexture29.png" "<a href="https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeBodyTexture29.png" target="_blank">https://www.web3d.org/x3d/content/examples/HumanoidAnimation/Characters/JoeBodyTexture29.png</a>" ]</div><div style="margin-left:25px">            }</div><div style="margin-left:25px">            textureTransform DEF KickTextureTransform TextureTransform {</div><div style="margin-left:25px">            }</div><div style="margin-left:25px">          }</div><div style="margin-left:25px">==================================================</div></div></pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px"><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><div style="margin-left:25px">So it would seem like Shapes with an Indexed geometry is what we're aiming for in the standard as one of the possibly many children of the skin container field (note the space).</div><div style="margin-left:25px"><br></div></div></pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px"><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><div style="margin-left:25px">That is all okay, AFAIAC, just extremely confusing when deciding where to add containerFields in DOM documents.</div><div style="margin-left:25px"><br></div><div style="margin-left:25px"><br></div></div></pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px"><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><div style="margin-left:25px">For example, consider the below:</div><div style="margin-left:25px"><br></div><div style="margin-left:25px"><div style="margin-left:25px">                <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_4'/></div><div style="margin-left:25px">                <HAnimJoint USE='hanim_l_metacarpophalangeal_3'/></div><div style="margin-left:25px">                <HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_3'/></div><div style="margin-left:25px">                <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_3'/></div><div style="margin-left:25px">                <HAnimJoint USE='hanim_l_metacarpophalangeal_2'/></div><div style="margin-left:25px">                <HAnimJoint USE='hanim_l_carpal_proximal_interphalangeal_2'/></div><div style="margin-left:25px">                <HAnimJoint USE='hanim_l_carpal_distal_interphalangeal_2'/></div></div></div></pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px"><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><div style="margin-left:25px"><div style="margin-left:25px">[ etc. ]</div><div style="margin-left:25px"><br></div></div></div></pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px"><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><div style="margin-left:25px"><div style="margin-left:25px">It may not be apparent, but X3DJSAIL complains about this. There's no containerField='joints', right?  But I'm generating this code using x3d.py which doesn't allow me to list containerFields!</div><div style="margin-left:25px"><br></div></div></div></pre></pre><pre style="color:rgb(0,0,0);font-size:11.05px;margin-left:25px"><pre style="font-size:11.7px"><div style="margin-left:25px;font-family:"Times New Roman";font-size:medium;white-space:normal"><div style="margin-left:25px"><div style="margin-left:25px">Grr!  Here are some of the "brutzman" messages from X3DJSAI, which are valid.  I really want to assign joints as a containerField, so perhaps I will just do it in X3DJSONLD.</div><div style="margin-left:25px"><br></div><div style="margin-left:25px"><div style="margin-left:25px">    [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></div><div style="margin-left:25px">    [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></div><div style="margin-left:25px">    [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></div><div style="margin-left:25px">    [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></div><div style="margin-left:25px">    [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></div><div style="margin-left:25px">    [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></div><div style="margin-left:25px">    [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></div><div style="margin-left:25px">    [apply] [error] X3DLoaderDOM: Parent-child node relationship not found! (parent HAnimHumanoid, child HAnimJoint, containerField='children') Please report this problem to <a href="mailto:brutzman@nps.edu">brutzman@nps.edu</a></div></div></div></div></pre></pre></div></div></div></div></div></div></div></div></div></div>