This is my first try getting blendshapes into Unity and I’ve hit a wall.
I have no problems getting blendshapes to show up in Unity, I can manipulate the values between 0 and 100 and the blendshape is applied.
I also don’t have a problem getting animated blendshapes to play in Unity. When I make an animation in Maya I can import the mesh and the animation and have it play in Unity.
What I do have a problem with is blending between blendshapes. What I want to do is the following:
- import a face into Unity with a neutral expression
- make an animation in Maya using blendshapes where the character says “I am Niels”
- make an animation in Maya using blendshapes where the character says “I’m 29 years old”
- export those animations from Maya and import them into Unity
- create an Animator with the animation clips “neutral”, “iAmNiels” and “iAm29YearsOld”
- create 3 booleans in the Animator: “neutral”, “iAmNiels” and “iAm29YearsOld”
- from a script, set one of the booleans to true so the accompanying animation starts playing.
The only way I can get blendshape animation to show up in Unity right now is if I export for example “I am Niels”, import that specific mesh + blendshape animation and use that specific mesh to play “I am Niels”. If I want to play “I am 29 years old” I have to use that specific mesh to play that specific animation.
The face with no animation has a blendshape node in Maya with several blendshapes. The animated faces have the exact same blendshape node with the exact same blendshapes. Every file, when imported in Unity, also shows all the correct blendshapes.
I was under the impression the same thing as with joint animation was possible. Where you import your character in a t-pose, import specific animations and then blend between them in the Animator.
Am I overlooking something simple or this is approach just not possible?