<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin: 0.1rem 0px; line-height: 1;">> <span style="font-size: 12pt;">Where are those tools now?  Why? </span></p>
<p style="margin: 0.1rem 0px; line-height: 1;">  </p>
<p style="margin: 0.1rem 0px; line-height: 1;">bought out and hired out because of intrinsic value. If you learn x3d you will learn best practice and there will be no time wasted if you then move up to the highest fee proprietary enterprize and simulation concepts. </p>
<p style="margin: 0.1rem 0px; line-height: 1;">  </p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
</div>
<div class="elnk-inline-message-container" style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: John Carlson <yottzumm@gmail.com><br>Sent: Jun 7, 2024 4:54 PM<br>To: Joe D Williams <joedwil@earthlink.net><br>Cc: GPU Group <gpugroup@gmail.com>, Katy Schildmeyer KS APPAREL DESIGN <katy@ksappareldesign.com>, X3D Graphics public mailing list <x3d-public@web3d.org><br>Subject: X3D design tools, forking Blender, SAI</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div dir="auto">Where are those tools now?  Why?  Answer that question, and you’ll know why Blender is popular.  We don’t want something that’s under one corporation’s thumb.  No vendor lock-in, please.  No format lock-ins, please.</div>
<div dir="auto"> </div>
<div dir="auto">Yes, we could fork Blender and go in our own direction.  I’m more of a collaborative type.  I’ve seen too many forks in religions and social networks that I’m sick of it.  Join, don’t split.  No, don’t force people to drink your brand of Kool-aid, either.</div>
<div dir="auto"> </div>
<div dir="auto">I’m working a lot with SAI: x3d.py, X3DJSAIL, C++ SAIL, but I don’t see anyone else using them much, or even questions about them.  Are there other places to discuss these?  Slack is dead.</div>
<div dir="auto"> </div>
<div dir="auto">Do we need a mapping from X3DUOM to rendering APIs?  Myeong et al has done great work creating rendered C++ examples.  Are there videos of such things (I’m a bit nervous about running them because her C++ SAI core engine appears to be closed source [headers and examples are open], and i don’t know the linker incantation in MSVC++ tools.  Can we have example command-line scripts and makefiles so an IDE is not necessary?)?  Hopefully, i will be able to run C SAI examples with WSL2, and the library will be open source.</div>
<div dir="auto"> </div>
<div dir="auto">COIN3D remains a potential option.  Hmm!</div>
<div dir="auto"> </div>
<div dir="auto">Are there other C++ SAIs that we could offer Blender?</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Fri, Jun 7, 2024 at 4:55 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0 0 0 .8ex; border-left: 1px #ccc solid; padding-left: 1ex;">
<div style="color: #000000; font-family: arial,sans-serif; font-size: 12pt;">
<p dir="auto" style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;">A great example of the old days was viz3d and flux and BS Content studio. The x3d sai is capable of producing a native x3d authoring tool. </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Thanks,</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Joe</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;">  </span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;">.</span></p>
<p style="margin: 0.1rem 0; line-height: 1.0;"><span style="font-size: 12pt;"> </span></p>
</div>
<div style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>><br>Sent: Jun 6, 2024 1:59 PM<br>To: GPU Group <<a href="mailto:gpugroup@gmail.com" target="_blank" rel="noopener">gpugroup@gmail.com</a>>, Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank" rel="noopener">joedwil@earthlink.net</a>><br>Cc: Katy Schildmeyer KS APPAREL DESIGN <<a href="mailto:katy@ksappareldesign.com" target="_blank" rel="noopener">katy@ksappareldesign.com</a>>, X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a>><br>Subject: Re: Can you get this X3D animation imported into Blender?</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<div dir="auto">Sorry TL;DR.  Major point:  both Blender bones and Skeleton as Transforms should be supported for maximum flexibility.  What are your thoughts?</div>
</div>
<div style="border-left: 1px solid #aaa; box-sizing: border-box; padding: 10px 0 10px 15px; margin: 0;">
<div dir="auto"> </div>
<div dir="auto">Replying to Joe:</div>
<div dir="auto"> </div>
<div dir="auto">Understood.  AFAIK, I still need blender bones to export weights right now, but Blender bones only provide for Joints, not segments or sites (can I attach EMPTYs to Blender bones in a particular  mode?).  I will experiment with attaching weights to EMPTYs (joints),  then on export, I will move weight detection from Blender bones to EMPTYs,  we can do limited mapping on export, but asking someone to map an entire LOA4 skeleton is unrealistic. I don’t even like LOA1-LOA2 in VRM and BVH. Such user-specified mapping should be saved for reuse.  I can already do MoMask BVH joint mapping on export (but not “End Site” yet).  We probably won’t be able to save HAnim  to VRM skeletons, and I think that USDSkel may do armature/bones as well, so I’m not seeing X3D to USD Skel particularly working.  <strong>I think Doug suggested a separate skeleton mapping app</strong>, perhaps this feasible.  It’s just not realistic with glTF files exported to 8GB-14GB X3D files 200 times the size of a Blender file.</div>
<div dir="auto"> </div>
<div dir="auto">The good news is, I got small Transform hierarchies import mostly working in Blender with matrix_local and translation. Now to follow through with centers and HAnim.  Moving like molasses, but with simple examples, things are easier and moving faster without waiting years for import and tons of logging.</div>
<div dir="auto"> </div>
<div dir="auto"><strong>Katy can comment on rigging and armature in Blender, </strong>as what might be missing if we don’t import Blender bones,  this may severely impact the apparel workflow in Blender.</div>
<div dir="auto"> </div>
<div dir="auto"><strong>Most likely, both paths should be supported.</strong>  I hope you are in agreement.  Perhaps separating out the import/export into separate addons would make decisions easier.</div>
<div dir="auto"> </div>
<div dir="auto">Your additional thoughts are welcome.</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Thu, Jun 6, 2024 at 2:48 PM Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank" rel="noopener">joedwil@earthlink.net</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; padding-left: 1ex; border-left-color: #cccccc;">
<div style="font-family: arial,sans-serif; font-size: 12pt; color: #000000;">
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">> <span style="font-family: 'Times New Roman'; font-size: medium; white-space: normal; float: none; display: inline; color: #000000;">Can we use the same transform code in Blender for both Transform and HAnim?</span> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Yes, if blender transform operation can use 'center', which Joint needs. Just name the objects so the Humanoid, Joint, Segment, Site transforms can be transcoded at export into into HAnim hierarchy. </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Joe</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
</div>
<div style="border-left-width: 1px; border-left-style: solid; box-sizing: border-box; padding: 10px 0px 10px 15px; margin: 0px; border-left-color: #aaaaaa;">
<p>-----Original Message-----<br>From: John Carlson <<a href="mailto:yottzumm@gmail.com" target="_blank" rel="noopener">yottzumm@gmail.com</a>><br>Sent: Jun 6, 2024 5:03 AM<br>To: Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank" rel="noopener">joedwil@earthlink.net</a>><br>Cc: Katy Schildmeyer KS APPAREL DESIGN <<a href="mailto:katy@ksappareldesign.com" target="_blank" rel="noopener">katy@ksappareldesign.com</a>>, X3D Graphics public mailing list <<a href="mailto:x3d-public@web3d.org" target="_blank" rel="noopener">x3d-public@web3d.org</a>><br>Subject: Re: Can you get this X3D animation imported into Blender?</p>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
<div dir="auto">Okay, Joe.  Now to get this working in Blender, since you’ve confirmed the behavior.  Thanks!</div>
</div>
<div style="border-left-width: 1px; border-left-style: solid; box-sizing: border-box; padding: 10px 0px 10px 15px; margin: 0px; border-left-color: #aaaaaa;">
<div dir="auto"> </div>
<div dir="auto">Can we use the same transform code in Blender for both Transform and HAnim?</div>
<div dir="auto"> </div>
<div dir="auto">John</div>
<div><br>
<div class="gmail_quote">
<div class="gmail_attr" dir="ltr">On Thu, Jun 6, 2024 at 5:35 AM Joe D Williams <<a href="mailto:joedwil@earthlink.net" target="_blank" rel="noopener">joedwil@earthlink.net</a>> wrote:</div>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-style: solid; padding-left: 1ex; border-left-color: #cccccc;">
<div style="font-family: arial,sans-serif; font-size: 12pt; color: #000000;">
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Hi John, </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">You sent this: </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">  <Transform DEF="TransformRoot1" center="0 0 0"><br>    <Shape><br>      <Box size='0.5 0.5 0.5'/><br>    </Shape><br>    <Transform DEF="TransformTargetParent1" center="4 0 0"><br>      <Shape><br>        <Box size='0.5 0.5 0.5'/><br>      </Shape><br>      <Transform DEF="TransformTargetChild1" center="8 0 0"><br>        <Shape><br>          <Box size='0.5 0.5 0.5'/><br>        </Shape><br>      </Transform><br>    </Transform><br>  </Transform></p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Not shown here is the interpolator that sends rotations to both Parent and Child Transforms</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">For this animation code you sent this did exactly what it should have done.</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">The boxes start at 0 0 0 then are swept along the axis according to the Parent and Child Transform nodes animation input.  </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Note that the initial position of all three boxes is 0 0 0, then they move along the radius from where you set the parent centers.</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Please have a look at this: </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">First, slight change from what you sent. </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Again, a important understanding is that "center" value of the Transform represents the center of rotation of that Transform, and may have nothing much to do with the value for translation, which is 0 0 0 for the parent Transform for each Shape. </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">  <Transform DEF="CenterRoot1" center="0 0 0"><br>    <Shape><br>      <Box size='0.5 0.5 0.5'/><br>    </Shape><br>    <Transform DEF="CenterParent1" center="4 0 0"><br>      <Shape><br>        <Box size='0.5 0.5 0.5'/><br>      </Shape><br>      <Transform DEF="CenterChild1" center="8 0 0"><br>        <Shape><br>          <Box size='0.5 0.5 0.5'/><br>        </Shape><br>      </Transform><br>    </Transform><br>  </Transform></p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">So again, all Shapes start at 0 0 0 then are swept through the arc defined by each parent Transform center.  </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">This version operates like the hanim model.</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">The parent Transform is a "Joint" with center defined, then the Shape has its own Transform to place it at the parent center value.</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">(The first center="0 2 0" translation='0 2 0' just moves the is example up above the first example.) </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">  </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">  <Transform DEF="TransformRoot2" center="0 2 0" translation='0 2 0'><br>    <Transform DEF="MoveToCenterRoot" translation="0 2 0"><br>      <Shape><br>        <Box size='0.5 0.5 0.5'/><br>      </Shape><br>    </Transform><br>    <Transform DEF="CenterTargetParent2" center="4 0 0"><br>      <Transform DEF="TranslateTargetParent2" translation="4 0 0"><br>        <Shape><br>          <Box size='0.5 0.5 0.5'/><br>        </Shape><br>      </Transform><br>      <Transform DEF="CenterTargetChild2" center="8 0 0"><br>        <Transform DEF="TranslateTargetChild2" translation="8 0 0"><br>          <Shape><br>            <Box size='0.5 0.5 0.5'/><br>          </Shape><br>        </Transform><br>      </Transform><br>    </Transform><br>  </Transform></p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">  </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">In Humanoid space, once the connection between using center to set the Joint center of rotation and then a child Transform to position any associated stuff in Humanoid space just makes it work wonderful for what we need in hanim.</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">I can recall a day when there were sincere discussions over whether to include the 'center' field in Transform.  </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">  </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Thanks,</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;">Joe</p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
<p style="margin: 0.1rem 0px; line-height: 1; font-family: arial,sans-serif;"> </p>
</div>
</blockquote>
</div>
</div>
</div>
<p style="margin: 0.1rem 0px; line-height: 1;"> </p>
</blockquote>
</div>
</div>
</div>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
</blockquote>
</div>
</div>
</div>

<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>