[X3D-Ecosystem] Geometry nodes in Blender.

Joe D Williams joedwil at earthlink.net
Fri Dec 20 18:47:00 PST 2024


The beginning of the bone is the parent joint center.
The bone center is not of interest that I can think of.

> If core Blender does not provide a write-able center, ... 
  
That is shown in the extra set of Transform DEFs and the associated extra set of Transfom USE,which add the joint center data inso theJoint center canbe animated. . 
Be sure the animation is not running, timer disabled, when you import to blender. 
Again, what I see is that the import to blender gets changed to remove the center value from the Joint, then produces the DEF transforms and USE Transformtoadd the center value,then does the animation. We do not want to see those extra Transforms in the exported x3d from blender. 
  
Joe. 

-----Original Message-----
From: John Carlson <yottzumm at gmail.com>
Sent: Dec 20, 2024 10:29 AM
To: Joe D Williams <joedwil at earthlink.net>
Cc: Michalis Kamburelis <michalis.kambi at gmail.com>, X3D Ecosystem public discussion <x3d-ecosystem at web3d.org>, Vincent Marchetti <vmarchetti at kshell.com>, Katy Schildmeyer KS APPAREL DESIGN <katy at ksappareldesign.com>, Carol McDonald <cemd2 at comcast.net>
Subject: Re: Geometry nodes in Blender.

Again, my exporter is in a state of flux, and is not prepared to do much.
 
Any ‘standard’ X3D transform nodes are in the import/export code and do not relate to core blender API.  If core Blender does not provide a write-able center,  then if we want a write-able center, we have to fork Blender most likely, or do as Michalis suggests, split the bone on its center.
 
There are locations in blender objects, which could likely be a center.  I don’t recall having success with those either.  I was not aware of any way to assign weights to objects in Blender.  Thus I asked AI and came up with the hook idea.

On Fri, Dec 20, 2024 at 12:06 PM Joe D Williams <joedwil at earthlink.net (mailto:joedwil at earthlink.net)> wrote:
Please look at John's export of joekick from blender. The skin binding works fine except that it also includes all other geometry in the file as skin so it  doesn't work quite right. 
The problem in the exported file is that the 'standard' blender transform node does not know about "center" and so it has to be added by a silly USEage in blender to work.
Just fix blender (1) so it knows about center in a 'standard' Transform, and (2) how it seems to include all geometry in the file, even children of joints, as included in"skin" field and most all will be fixed.

The idea of a bone center is not useful unless it is a joint. If a center field is mentioned anywhere in blender it is in relation to a begin bone end as some sort of crutch for having left center out of standard Transform. Recall the days in 1998 when some tool makers were saying nah, we don't need center in our transform object, translation, rotation, and scale is plenty to expose except as special usage. 
Thanks,
Joe

 . 
-----Original Message-----
From: Michalis Kamburelis <michalis.kambi at gmail.com (mailto:michalis.kambi at gmail.com)>
Sent: Dec 20, 2024 2:07 AM
To: John Carlson <yottzumm at gmail.com (mailto:yottzumm at gmail.com)>
Cc: X3D Ecosystem public discussion <x3d-ecosystem at web3d.org (mailto:x3d-ecosystem at web3d.org)>, Vincent Marchetti <vmarchetti at kshell.com (mailto:vmarchetti at kshell.com)>, Katy Schildmeyer KS APPAREL DESIGN <katy at ksappareldesign.com (mailto:katy at ksappareldesign.com)>, Carol McDonald <cemd2 at comcast.net (mailto:cemd2 at comcast.net)>, Joe D Williams <joedwil at earthlink.net (mailto:joedwil at earthlink.net)>
Subject: Re: Geometry nodes in Blender.

> I think what you're saying is break a bone into 2 pieces, one with head plus center (now tail) and one with center (now head) plus tail. This seems like an excellent idea. I'm going to think on it a bit.
> My question is, what do I name the 2 pieces? I'm guessing something that I can combine on export.

Indeed.

As for new bone names: "Leg1_center" (when you need to add new Blender
bone when "Leg1" joint has non-zero center in X3D/H-Anim) would look
reasonable for me (and code can figure out what happened and invert
it, so you can have round-trip that later exports it back into one
"Leg1" joint with non-zero center). But that's just a suggestion.

> This sounds like Zeno's paradox where I'm just trying to put weights where they don't go. The weights go on the joints. We only have weights for joints on import. ((well, I don't know all of X3D).

Weights describe how much each joint influences each vertex. This is
equal in Blender, X3D/H-Anim, glTF.

I'm not sure if what you're saying is equivalent, but if yes -> OK :)

> Remember I'm doing this in python, not in the Blender GUI.

Sure, but it should be similar. That is, Blender's Python API exposes
a superset of things that you can do from GUI and it uses the same
terminology, mostly. And you can observe in Blender's console what
your interactive operation "means" in Python, it's a valid way to
learn Blender's Python API.

> It sounds like I should give up on ever trying to import site or segment geometry, and *try* to do Joints and skin.

I'm not sure what do you mean here :)

The H-Anim "skin" (one mesh, with joints and weights) should map to
Blender, because it is exactly the same concept in Blender. (OK, not
*exactly* the same, e.g. Blender, because of history, calls "bones"
what X3D/H-Anim and glTF call "joints"; but it is close to equivalent,
for 3D graphic artists these are the same things).

You don't need to "give up" on anything, from what I can see. Just
import/export X3D/H-Anim skin to Blender's skin (Armature). This is
what 3D artists would expect.

Other features (like attaching rigid objects to sites, without skin)
are a separate thing. They can be imported/exported e.g. as bones'
children. But these are separate things, I'd advise to focus on the
hard case (skin) first :)

Regards,
Michalis






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://web3d.org/pipermail/x3d-ecosystem_web3d.org/attachments/20241221/a854a198/attachment-0001.html>


More information about the X3D-Ecosystem mailing list