Search Unity

Troubleshooting Blend Shape Transformation

Discussion in 'Editor & General Support' started by Phenomonaut, Apr 14, 2017.

  1. Phenomonaut

    Phenomonaut

    Joined:
    Sep 30, 2012
    Posts:
    61
    I have a human character that I need to transform into a beast during a run animation. I set up the mesh to have a blend shape (aka morph target). Standing still it performs correctly, the verts and bones all move to the desired position:



    But when I try to do this during an animation, things go bad:



    I've tried everything I can think of and I can't figure out what's going on with the hands and forearms. Still screenshot:



    And screenshot of meshes and bones in 3ds Max:



    To be clear, this is only one asset in Unity. A mesh of a man with a skeleton and a single run cycle, and that mesh has one blendshape. I think that bones might be inheriting the scaling of their parents, but I can't find any way in Unity to restrict bones to local scaling only.

    Any ideas on what might be happening here?
     
    Last edited: Apr 14, 2017
  2. TrickyHandz

    TrickyHandz

    Joined:
    Jul 23, 2010
    Posts:
    196
    What kind of rig are you using for the character, Humanoid or Generic? I think the issue might be arising if you are using a Humanoid rig on this. Generic rig is friendlier to the manipulation of bones than a Humanoid rig. Generic rigs are friendlier to the manipulation of bones than a Humanoid rig will ever be. This is because the Humanoid rig is going to convert bone transform movements into muscle space and from what I understand it doesn't easily allow for scaling bones. Also, you might want to take your question over to the Animation forum. Hope that helps you out.

    Cheers,
    TrickyHandz