<div style="color:rgb(0,0,0);font-family:arial,sans-serif;font-size:12pt"><p style="margin: 0.1rem 0; line-height: 1.0;">> <span style="color: #000000; font-family: -apple-system, blinkmacsystemfont, 'segoe ui', helvetica, arial, sans-serif, 'apple color emoji', 'segoe ui emoji'; font-size: medium; white-space: normal; float: none; display: inline;">Head is 0</span> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Same as parent Joint of Segment representing that bone. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">The geometry for that bone must be positioned so that</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">it operates as expected. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">So, it is possible that this 'constraint' allows adjusting the</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">geometry pivot point so as to work right. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">In any case I think this does not change the</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">bone head as parent Joint center location</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">but probably is more like a hack to move</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">geometry because the geometric end of the bone</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">is not typically the correct geometric pivot point. </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">x3d and HAnim would take care of this by correctly</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">transforming the geometry to the correct location</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">in the first place and not use this parameter.</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">So, if this term is not 0 then the affected</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">geometry would need to be translated to</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">compensate for hanim lack of this parameter? </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Hint: it is lacking because it is not needed.</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">If this 'constraint' could be animated it might work</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">like a piston:) </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;">All Best,</p>
<p style="margin: 0.1rem 0; line-height: 1.0;">Joe</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </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: Jan 16, 2025 9:47 PM<br>To: X3D Ecosystem public discussion <x3d-ecosystem@web3d.org>, Joe D Williams <joedwil@earthlink.net>, Katy Schildmeyer KS APPAREL DESIGN <katy@ksappareldesign.com>, Carol McDonald <cemd2@comcast.net>, <hanim@web3d.org><br>Subject: Rotate bone around what? Found pivot in Blender API</p>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>
<em style="font-style: normal;">class </em><span style="font-weight: 400;">bpy.types.</span>PivotConstraint(<em style="font-style: normal;">Constraint</em>)
<p style="margin-bottom: 0.75rem; margin-top: 0.125rem; font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji'; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; color: #000000;">Rotate around a different point</p>
<dl style="font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji'; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; color: #000000;">
<dt style="font-weight: bold; border-radius: 0.25rem; padding: 0.25rem 0.5rem 0.25rem 3em; font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji';">head_tail</dt>
<dd style="margin-left: 2rem; font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji';">
<p style="margin-bottom: 0.75rem; margin-top: 0.125rem; font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji';">Target along length of bone: Head is 0, Tail is 1</p>
<dl style="margin-bottom: 0.75rem; font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji';">
<dt style="font-weight: 500; margin-top: 0.25rem; text-transform: uppercase; font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji';">TYPE:</dt>
<dd style="margin-left: 2rem; font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji';">
<p style="margin-bottom: 0.75rem; margin-top: 0.125rem; font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji';">float in [0, 1], default 0.0</p>
</dd>
</dl>
</dd>
</dl>
<dl style="font-family: -apple-system,blinkmacsystemfont,'segoe ui',helvetica,arial,sans-serif,'apple color emoji','segoe ui emoji'; font-style: normal; font-weight: 400; letter-spacing: normal; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; text-decoration: none; color: #000000;"></dl>
<br><br>So in Blender, one can rotate the bone along any point in its length, from 0 to 1.<br>AFAIK, I am setting the joint center to the bone head. I don’t understand what I’m doing wrong, but the next step is to look at how skin weights/vertex groups work in Blender. AFAIK, the skin is okay, and the rig is okay. So now we need to narrow down the search to how vertex groups are set up in Blender as opposed to skin coord info is set up in X3D. I think we can set bone center to rest, except perhaps discussion about humanoid root. Bone head is joint center, unless you like weird, non-default setups. Should these be handled?<br>I believe there are other options for non-bone objects. Thanks to Joe for helping me sort through miscreant iOS web search.<br>If anyone is setting head_tail to something other than 0 in Blender, grr.<br>John </div>
<p style="margin: 0.1rem 0; line-height: 1.0;"> </p>