Blendshapes not working?

Ok, so I imported a fbx. with several corrective shape keys.

They all appear in the blenshapes section but they don’t work when I rotate the instance bone.

It seems they only work on animations?

You are coming from Maya?
I’ve tested and confirmed corrective angle deformations do not work coming out of Max either.
I think the only achievable correction that works as expected is doing full body morphs/blendshape that fixes skinning problem areas.
Another (untested) optional workaround would be to mask the corrective bones so they are excluded from the humanoid rig, and perform a corrective animation externally, then apply to the character via an additive layer when other animations play.

I’d love to be wrong about this - if someone else has successfully performed corrective shape keys / angle deformers who is willing to share a working solution - it would be awesome.

Blender here.

It seems blend shapes are only active when playing animations. Changing the mesh also doen’t seem to work. the new meshe’s blendshapes appear, but don’t correct the animations.

1 Like

Guys, the animations that happen in your Maya/Max(or even if you did the same with Blender) that make the blendshapes change when moving a bone simply don’t work in Unity as far as I know. The problem is the connection with the bone to the blendshape. You will note that via code/script you can access the blendshapes as part of the meshRenderer class. So, if you can code animation behaviors into Mecanim responding to the movement in bones you should be able to get pretty much the same result. It isn’t as nice as having it come directly from your software, but it can be done.

2 Likes

Thanks for the information kburkhart, unfortunately for me - coding is not a tool available in my tool bag.
This is really only important for shoulders and hips, everything else, even complex rigs can be massaged into visual compliance.
These two assets seem like a viable solution, Shape Driver is very affordable and allows bone driven shapes while I think UCC covers a wider use case - solution that can be used for more than corrective morphs/deformations.
I’ve not jumped on either of these tools yet, however unless Unity starts supporting corrective morph/deformations out of the box I will be getting one or both in the future.

It looks like the Shape Driver one would do exactly what you need. You would simply set it up similar to how you would do it in your other software(and similar to what you would have to code if you did it yourself). The other one looks more like something you would use as an alternative to Mega-Fiers, though at quick glance it doesn’t look near as advanced yet. Meanwhile the first one seems like it is perfect for the job, and only $15 too.

@Gordyne
Related topic:

I uploaded a .blend and .cs that work using Blender’s “Shape Keys”.

Ok, after some minor research, I figured out how to add and connect attributes to the blend shapes. Everything works great in the original scene file. I create a clean scene, reference in the character, everything is still working fine, then I transfer the animation curves and suddenly it’s doing the exact same original issue. currently i have perspectiv drawing and anatomie, next year i’ll take a comic class which im allready planing and creating character sheets for.
That comic shall become the basic for an animation for my Bachelor-project.

Hey guys, sorry for this necropost, but I’m having the same issues with corrective joints not working in Unity. I’m using Modo with its ACS rigging tools which allows the creation of joint influences, and bake the morphs into the characters animations.

However, the morphs are not firing correctly or at all… and this is painful because it shouldn’t require ANY SCRIPTING WHATSOEVER especially if the joint weights are baked into key frames.

It’s 2016, why isn’t this supported natively?

I think this is similar to Max’s joint angle deformer - which are joint morphs that are dependent upon the angle of the joint. These correct or enhance bending in areas, and can also correct - bad angle roll when setup correctly on the shoulder and hips.
Unfortunately through my research this type of morph (joint angle controlled) is not supported in the fbx exporter.

The only alternative I’ve found that DOES work is normal morph/blend shapes which (assumption) can be setup to fire when a joint angle is animated or goes beyond a set angle in Unity. Of course I’ve not tested this - as an artist - but I do know regular morphs can replace this angle deformation.

I was looking at an asset called Shape Driver (I REALLY don’t want to buy an asset that does what should be done out of the box.) and it looks EXACTLY what I need… it’s fifteen bucks… and I would have to check the exact angles my bones fire…

Shape driver does EXACTLY what I am looking for

Yep - I’ve had that asset on my wishlist for awhile, but forgot about it. It is perfect for corrective morphs / angle deformers.
I guess I should go ahead and pick it up so I won’t forget about it again.

Glad you found a solution @KRGraphics

Well, it was a DUMB ASS solution but it looks easy and quick to set up… I create a lot of CG characters and corrective blendshapes is something that is VERY common, and SHOULD have been in Unity since version 4…

Yeah I agree - but the issue is fbx unfortunately.
Is/does the ACS rigging tool incorporate the corrective blendshapes directly into the skin?
That is what baffled me initially when I tested this out. Joint Angle Deformers in Max are setup directly in the skin modifier, which I naively assumed would - just work - because it is part of the skin. There is not extra animation keys or skin data - it’s really only capturing the angle of a joint and deforming the vertices - just like SKIN already does.
Seems if the corrective morph/blend shape – angle deformer is built directly into the skin data information - there is no reason why fbx could not support this - with very little, if any more data in the file than it already has with the skinning information.
I like fbx for it’s cross platform non-dependancy and out of the other side of my mouth I curse it for not updating to more modern useful enhanced data that would really assist in improving workflow - especially for character artists and animators.

Yep… ACS in Modo allows me to model the joint correction directly onto the mesh using a joint influence and bake the result into the animation as keyframes… and in the graph editor i can see all of the keyframes… but for 15 dollars, I will take a chance to get the joints modeled correctly… I have about 20 corrective joints and nearly all of them are in the shoulder.

1 Like