[X3D-Ecosystem] Geometry nodes in Blender.
John Carlson
yottzumm at gmail.com
Fri Dec 20 19:57:19 PST 2024
If you’re looking at the Joe .blend, you will see the skeleton is all
messed up. This is why the animation looks better. I don’t get it.
Let’s focus on skeleton animation in Blender first? You’ll have to
install my import/export or open .blend files.
If you want to set up some animation that doesn’t start at keyframe = 0,
that would be good.
I currently only support one animation. I can concatenate animations if
you give me the order.
Shaking the tail end doesn’t fix the front end.
We have to totally revisit the front end to add a hierarchy under the
armature. This *may* lead to better Jin animations, but I want to know
that it’s actually a good idea to try to set segment.bone_parent and
segment.bone_type.
What we should be able to do is set the segments and joints objects’
matrix_local under the armature, and probably subsidiary geometry, but it’s
a long slog.
As for inverse binding, IDK.
John
On Fri, Dec 20, 2024 at 8:47 PM Joe D Williams <joedwil at earthlink.net>
wrote:
> 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>
> 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>
>> Sent: Dec 20, 2024 2:07 AM
>> To: John Carlson <yottzumm at gmail.com>
>> Cc: 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>, Joe D
>> Williams <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/20241220/a09361cd/attachment.html>
More information about the X3D-Ecosystem
mailing list