Continuing observations..
Godot does not import last added bone in blender..

I created new mesh and new bones from scratch. And now the movements are again flipped.. its not consistent.. script hasnt changed..

And same script with the other mesh

Not sure how and why this is happening and how to proceed..

Maybe its time to investigate shape keys??

EDIT:
One thing i noticed while here is that bone direction are different in blender, maybe thats the reason?

While the garbanzo works decent on the bones that are not the nose, the suzy bones do not at all..

EDIT2:

Ah yes.. yes yes yes.. this is quite peculiar.

TLDR:
Cannot chain bones if you want to deform mesh
Remember to add last sacrificial bone in blender because godot is too based to import it.
In blender, create bones that are Z-aligned (call em Z-bones) Z- axis in godot, in blender it could be either x or y

Note:
So for deformation in godot, you want to create separate armature that is based on the things i mentioned above.

Next:
Try to create idle animation for the mesh, then deform bones in godot and see how animation looks after deform.

Next - to last:
Try to save deform bone transforms to import them from either file or memory and apply it to the current session.

    works just fine on my end, just downloaded the zip, added the extracted zip folder and imported and edit in godot.

    • xyz replied to this.

      kuligs2 something wrong with main.tscn. Cannot seem to load referenced cholo.tscn.
      Remove all other mesh stuff, keep only the monkey.

        kuligs2 Could be the blender version. You're probably using the latest latest latest version, right?

        kuligs2 Got it loading after pointing Godot to the latest Blender version and deleting import cache.

        The balls on monkey head appear to be working as expected.

          xyz didnt you read my TLDR?

          kuligs2 TLDR:
          Cannot chain bones if you want to deform mesh
          Remember to add last sacrificial bone in blender because godot is too based to import it.
          In blender, create bones that are Z-aligned (call em Z-bones) Z- axis in godot, in blender it could be either x or y

          Note:
          So for deformation in godot, you want to create separate armature that is based on the things i mentioned above.

          Next:
          Try to create idle animation for the mesh, then deform bones in godot and see how animation looks after deform.

          Next - to last:
          Try to save deform bone transforms to import them from either file or memory and apply it to the current session.

          • xyz replied to this.

            kuligs2 Yeah the importer probably mangled the file because I had Blender 3.1

            kuligs2 Umm, too much stuff for me. I'm not interested in playing. If you have a specific problem - ask. Otherwise, I'm leaving you to your tinkering.

            If you want each bone to behave something like Maya's cluster deformer then of course there's no point in making the hierarchy. Just parent them all to some root transform and edit vertex weights for each. No big deal.

            kuligs2 Godot does not import last added bone in blender..

            Are you importing a .blend file? Try gltf — there is a difference.

            And, yeah, I guess there must be a root bone to which the mesh change bones are attached.

            Tomcat Well, you are right. This is the correct way to go on about for character creation. Now i need to find a good workflow that i could apply to character making..

            How did i came to this conclusion?

            Well..
            First i created the cube with bones and added animation, animating bones. then i imported to my godot (blend file) and with the ball nodes tried to move bones into position, and then play animation. and it reset bone positions.
            For this to work i would have to calculate the animation bone transforms relative to what i set the deform to, but that is outside my abilities.
            While you could do what maths pros like @xyz does and calculate their way out of situations, i just go the least resistance path 😃..

            So the least resistance would be to deform enough the character mesh parts,, create necessary shape keys, animate char like usual with rig and then import the glft file, blend file does not import shape keys, annd use the same bone animation along with shape key values.

            Now i need to figure out if you can go above 1.0 value in godot. In blender you can.

            EDIT:

            This oldschool video shows little bit about how to use blender shapekeys in godot

            You dont need that escn importer/exporter, gltf/glb file can do that too. Atleast in blender 4.2.1 and godot 4.3

              kuligs2 This oldschool video shows little bit about how to use blender shapekeys in godot

              Well, thanks for the tons of ads! Can you tell me in a nutshell how this is different from my tutorial?

              Now i need to figure out if you can go above 1.0 value in godot. In blender you can.

              Why? Make the shape for max change, so you don't need more than 1.

              For this to work i would have to calculate the animation bone transforms relative to what i set the deform to

              It's enough to bind the change bones of the mesh (make them children) to the bones of the model's rig, so that they move together. Here is an example, when boobs and butt are controlled by bones attached to the skeleton.

              As far as I understand, this is roughly the method used in the first animations — moving vertices, before the invention of the rig. Now they are coming back to this idea (kind of like surface animation). But the question arises — how many such bones are needed to control the mesh? Ideally, probably as many as there are nodes on the mesh. Something too much turns out.

                Tomcat Well, thanks for the tons of ads! Can you tell me in a nutshell how this is different from my tutorial?

                not sure what ads you talking about. And your tutorial seems pretty software specifit as it generates predefined meshes with predefined structure. I was talking in general terms. Its not necesarily used for characters. You could bind the shapekeys to objects etc..

                Also Like i said, that blend file is not exporting shapekeys for some reason. Maybe it worked in godot 3.4 and blender 3.2 but not in godot 4.3 and blender 4.2. You ahve to export to gltf file to get access to blend shapes.

                Tomcat Why? Make the shape for max change, so you don't need more than 1.

                To have faces like this:




                Tomcat It's enough to bind the change bones of the mesh (make them children) to the bones of the model's rig, so that they move together. Here is an example, when boobs and butt are controlled by bones attached to the skeleton.

                this implies you need to add more bones to the rig. while this is possible, im not sure how this is going to be in production.. i mean im no pro when it comes to these things.. i try not to get too complex otherwise ill set myself up for a failure to deliver something 🙂.

                Also this looks super crazy..

                Crazy ass rig

                And face

                But it deforms so beautifully

                  kuligs2 not sure what ads you talking about.

                  Oh, come on, there.

                  In our country now slow down YouTube and cut off VPN — you can watch only through TOR. And waiting for the ads to load (usually at the beginning) — the pleasure is much below average.

                  You could bind the shapekeys to objects etc..

                  It's not a good idea.

                  To have faces like this:

                  Oh, gross! It's a bug, not a feature. And if you need to do randomization of characters, will such monsters run all over the world? The process has to be controlled. Morph shape = maximum variation. If you need special deviations, make the morph accordingly. But again up to 1.

                  this implies you need to add more bones to the rig.

                  Yep.

                  Also this looks super crazy..

                  Yep again. Full customization is a real nightmare.