Blendshape the armature too in Blender

Hello, I have a blendshape that shrinks a mesh, but I need that during the blendshape it also shrinks the armature (the bones).

Is it possible to do this in blender? How can it be done?

Comments

  • It looks like the mesh is not parented to the armature.  If it was, you would scale the armature and the mesh would follow.  So parent the mesh to the armature first.

  • dmputadmputa Posts: 36
    edited April 2019

    Maybe I'm wrong, but I think the mesh is parented to the armature, look:

    It's the Genesis model, just imported the .fbx from DAZ to Blender.

    Post edited by dmputa on
  • The outliner doesn't show the parenting you want.  It's in the object data panel.

    Simple example - a mesh and an armature.  In the first picture, there is no parenting and no scaling.  Second picture, the mesh is parented to the armature and I have scaled the mesh down - the armature does not scale with it.  Third picture, the mesh is parented to the armature (using Ctrl-P) and I have scaled the armature down - now I get what I think you want to see.  The outliner has not changed, the cube and armature are on the same level still, but the armature shows as parent of the mesh in the object data.  (I am using 2.80 beta, but the principle is the same.)

    Your armature is Genesis.001 with the stick man icon, your mesh is Genesis.Shape.  Select the mesh first, then shift-select the armature and hit Ctrl-P to parent.

    Capture1.JPG
    829 x 725 - 62K
    Capture2.JPG
    947 x 769 - 69K
    Capture3.JPG
    902 x 799 - 70K
  • dmputadmputa Posts: 36

    Thank you for the tutorial. :D

    But is this compatible with shape keys / blendshape? I mean, if I parented the mesh to the armature, and I modify the mesh, the bones will follow that mesh modification? Because I need the bones and the mesh move at the same time using a key shape. That is, when I shrink the mesh, or make it larger, or deform it in some way using a shape key, the bones follow that deformation.

    I do not know if I explained well.

  • PadonePadone Posts: 3,796
    edited April 2019

    While the daz genesis platform automatically adjust the bones following the weight mapped vertices in the mesh, so when you morph the character the bones follow. AFAIK this feature is not supported in blender. Unless there's some plugin I'm not aware of, that's entirely possible.

    You can however export a daz morphed character to blender via the diffeomorphic plugin. This way you will also have the "adapted" bones. Though I understand it's not the same.

    http://diffeomorphic.blogspot.com/p/daz-importer-version-13.html

    Post edited by Padone on
  • andya_b341b7c5f5andya_b341b7c5f5 Posts: 694
    edited April 2019
    dmputa said:

    ...if I parented the mesh to the armature, and I modify the mesh, the bones will follow that mesh modification?

    I do not know if I explained well.

    Your explanation is fine, it's just that that's not the way it works in Blender as I understand it.  In Blender, you use a rig/armature to pose and scale the mesh on a gross scale, and shape keys (blendshapes) usually to make more detailed changes to the mesh.  You can make any changes you like using shape keys of course, but you would not usually expect (or want) the bones to follow the mesh when you apply a shape key.  If the rig needs adjusting to match the mesh, you could/would do it manually.

    You may be able to achieve at least some of what you want using drivers.  Create drivers where the scale of the mesh drives the scale of the armature object and/or individual bones.  It could be a lot of work if what you want to see is more than simple scaling of thw whole armature.  You would not want the mesh parented to the armature in this situation.

    Post edited by andya_b341b7c5f5 on
  • dmputadmputa Posts: 36
    Padone said:

    While the daz genesis platform automatically adjust the bones following the weight mapped vertices in the mesh, so when you morph the character the bones follow.

    That interests me a lot, how they have achieved it and in programs such as blender, 3DMax, etc. It's not possible?

    Padone said:

    AFAIK this feature is not supported in blender. Unless there's some plugin I'm not aware of, that's entirely possible.

    You can however export a daz morphed character to blender via the diffeomorphic plugin. This way you will also have the "adapted" bones. Though I understand it's not the same.

    http://diffeomorphic.blogspot.com/p/daz-importer-version-13.html

    Thank you very much, it is a really interesting plugin and I will surely have to use it. Adapting the bones to the mesh is what I was looking for, but I expected that there would be some way in blender or DAZ (without external plugins) to be able to export a model with those characteristics to the Unity program. Because in Unity I have the problem of not scaling bones when I use a shape key that makes the model smaller.

    Your explanation is fine, it's just that that's not the way it works in Blender as I understand it.  In Blender, you use a rig/armature to pose and scale the mesh on a gross scale, and shape keys (blendshapes) usually to make more detailed changes to the mesh.  You can make any changes you like using shape keys of course, but you would not usually expect (or want) the bones to follow the mesh when you apply a shape key.  If the rig needs adjusting to match the mesh, you could/would do it manually.

    You may be able to achieve at least some of what you want using drivers.  Create drivers where the scale of the mesh drives the scale of the armature object and/or individual bones.  It could be a lot of work if what you want to see is more than simple scaling of thw whole armature.  You would not want the mesh parented to the armature in this situation.

    I have researched the drivers and, as far as I know, they only serve to modify the shapes key of the mesh by moving a bone, but the rest of the bones that are necessary in the animation are not scaled or modified.

    Thank you very much to both for the help.

Sign In or Register to comment.