Is there a way to get/set the blendshape data of skinned meshes? I’ve tried using introspection to retrieve the data that needs to be combined, but I guess I’m not savvy enough with it to find anything useful. All I can seem to find is high-level methods, like how to get/set the weight of the blendshapes.
Not sure that it’s important, but I’m using a customized version of the
SkinnedMeshCombiner script from the wiki. I’ve only modified it to reflect the parameters of the original
I don’t know of any way to do this with Unity 4.3, and even in Unity 2017.3 there’s not a direct way to handle it that I’m aware of. However, using Mesh Baker Pro and a lot of funky steps, you can get it done. Here’s a video I made that shows how to go through the steps: Detailed Tutorial - Mesh Blend Shapes on Skinned Mesh Merging In Unity - YouTube
Took me forever to figure out, so I figure it’s worth sharing.
To me it looks like the feature request that was linked in the comment above should be closed already. The Mesh class now has several methods to deal with blendshapes:
Which should be enough to get all the required information from a mesh that contains blend shapes. There are also methods to get the name of a blendshape based on the index and also methods to clear the old blend shape data and add new frames:
So now there should be no problem to transfer blendshapes between two meshes or even create them procedurally. I’m not sure when these have been added but they exist at least since Unity 5.6.1f1