I’ve made a character with rigify in Blender and I’m importing him to Unity sample scene (the one with spiky haired dude). Everything kind of works and then again not at all: I set up the character in Unity, correct the few flawed bones and yes, my character runs and jumps like it should!
However, the weights are completely different from the weights that I have in Blender. I noticed that Unity uses bones named ORG, not bones named DEF, which I understand are the deform bones? I cant even tell Unity to use the DEF bones because of the bone hierarchy. Does Unity do some automatic skinning, does it skip bones or what’s happening here?
Has anyone successfully imported a rigify character with proper weights?
If the org bones are your actual deform bones, then you made a mistake in Blender by weight painting the wrong bones. You need to make sure to weight paint the def bones. Like that your are getting the result you are looking for. After that there may be a slight difference between Blender and Unity, as Unity supports each vertex to be weight painted to at most 4 bones (by default its only 2). But that is usually not noticeable.
I didn’t weight paint anything manually, I just chose the DEF bones and did the whole thing automatically, the result was good enough for testing purposes. So the DEF bones control the vertices in Blender but in Unity it’s the ORG bones. How can the rig work at all when there’s nothing skinned to ORG bones in Blender?
So confusing… but I don’t want to build a dumber rig because I want to animate the character further in Blender.
Oh, and I guess the whole thing would work in Unity just fine if I could choose the DEF bones but they are under ORG bones in hierarchy so they can’t be used.
But Rigify to Unity is not Mecanim compatible, right?
I’m actually not sure if Mecanim is the way to go for me in this project. The game will be 2.5D simple platformer in those parts where main character is involved so I don’t need to make a whole lot of animations. Any idea if it’s better to use Mecanim or not?