<div dir="ltr">Joe,<div><br></div><div>Here's the .blend file for localcentersjoe.x3d I remain overwhelmed, not seeing a way forward.</div><div><br></div><div>I am stuck on:</div><div><br></div><div>1. Applying the most recent transform</div><div>2. Applying a full set of transforms.</div><div><br></div><div>So far, using 1 works well for Transforms with centers.</div><div><br></div><div>If we can lay out some use cases, that would be good.</div><div><br></div><div>I've asked Vince to help.</div><div><br></div><div>Hopefully, this will get through size filters in case someone else wants to observe the differences between our files.</div><div><br></div><div>John</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 6, 2024 at 5:35 AM Joe D Williams <<a href="mailto:joedwil@earthlink.net">joedwil@earthlink.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin:0.1rem 0px;line-height:1">Hi John, </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1">You sent this: </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> <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"> </p>
<p style="margin:0.1rem 0px;line-height:1">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">For this animation code you sent this did exactly what it should have done.</p>
<p style="margin:0.1rem 0px;line-height:1">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">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"> </p>
<p style="margin:0.1rem 0px;line-height:1">Please have a look at this: </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1">First, slight change from what you sent. </p>
<p style="margin:0.1rem 0px;line-height:1">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"> </p>
<p style="margin:0.1rem 0px;line-height:1"> <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"> </p>
<p style="margin:0.1rem 0px;line-height:1">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"> </p>
<p style="margin:0.1rem 0px;line-height:1">This version operates like the hanim model.</p>
<p style="margin:0.1rem 0px;line-height:1">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">(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"> </p>
<p style="margin:0.1rem 0px;line-height:1"> <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"> </p>
<p style="margin:0.1rem 0px;line-height:1">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"> </p>
<p style="margin:0.1rem 0px;line-height:1">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"> </p>
<p style="margin:0.1rem 0px;line-height:1">Thanks,</p>
<p style="margin:0.1rem 0px;line-height:1">Joe</p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> </p>
<p style="margin:0.1rem 0px;line-height:1"> </p></div></blockquote></div>