Search Unity

Should I bother using Blender's Rigify?

Discussion in 'Animation' started by Reverend-Speed, Sep 12, 2013.

  1. Reverend-Speed

    Reverend-Speed

    Joined:
    Mar 28, 2011
    Posts:
    284
    I'm basically just very confused right now. I'm a neophyte modeller/animator/programmer(c#) and I'm working through this tutorial...

    ...and slowly I'm starting to think, dammit, should I just make my own rig for Mecanim? It won't be as nice as Rigify, but it looks like I might lose a lot of Rigify functionality anyway by working through that tutorial.

    There's a lot of nice bonuses to using Rigify (plus there's the wonderful Rigify 2 Unity tool) and the uncomplicated, easy-to-understand Unity legacy animation code, but the indications are that Mecanim will eventually completely replace the legacy system - and I'd rather ensure my assets are somewhat futureproofed.

    Has anybody here had experience getting Blender animations / armatures into Unity Mecanim? Any advice for someone who's finished the Unity Mecanim tutorials and wants to start creating and integrating his own content into that system?

    All the best,

    --Rev

    PS: Could this work with Rigify? Would I have to identify which bones Mecanim doesn't want from Rigify?
     
  2. tpennetta

    tpennetta

    Joined:
    Jul 25, 2013
    Posts:
    18
    Hi Reverend,

    I will let you know my experience so far with Blender and Unity. I was thinking of using a MakeHuman character into a Unity Mecanim animatable game object and just ran into a lot of issues at first with retargeting inside of Unity.

    Rigify should be pretty seamless to port over to Unity but I have gone away from this approach and created a bare bones (pun intended) armature inside of Blender to do my animations. The reason I have done this is so that I can trim that fat from the armature so that I get no performance loss on mobile. I did notice that some of these extensive rigs like rigify and makehuman (although extremely useful and helpful) have a ton of extra information in the model after importing to Unity.

    Again this is my opinion and workflow as of now, and perhaps not the best approach because I am no professional.
     
  3. Witchdoctor

    Witchdoctor

    Joined:
    Mar 20, 2013
    Posts:
    3
    I'll caveat the following by saying i'm learning as I go. So YMMV.

    I can't say about the tutorial your using. Though, I had good luck with using a Rigify skeleton on a mesh and the auto mapping worked well in Unity. I went through the Mechanim tutorial then I took another humandoid model and learned to Rigify it and imported it and everything came up green on the mapper. Then I had a heck of a time figuring out all the steps and modifications to do to re-target those Mechanim actions on the new model. But I think that was more a matter of the way they implemented the code, and just wrapping my head around it. It sure wasn't a drag and drop. The basic Rigify in blender seemed to work for me once at least. In fact that part went quite smoothly. Can't say whats right or wrong or if there is a better way. But yes, I tried it and it worked for me.

    Though, some searches seem to suggest what I did should not work. Is this the Rigify 2 Unity you speak of? I need to watch it if so:
    http://forum.unity3d.com/threads/90913-Rigify-to-Unity
    It says: Important: Rigs generated with Rigify are not usable with Mecanim!
    So...I say try it and see for yourself.

    What i'm wondering now is the workflow to get new animations? I can try to download mocaps (CMU etc) but yet again there are many new steps to learn just to get motion working and incorporated. And if I can't find what I want is there a way to convert an existing skeletal keyframe animation into a mocap. Still many google searches in my future. It seems like a better system overall but it a lot to wrap the brain around.

    Good Luck,
    Rick
     
  4. Purpleshine84

    Purpleshine84

    Joined:
    Apr 8, 2013
    Posts:
    194
    I highly suggest making your own skeleton so without using the deformed bones by Rigify. Or you have to use iClone to export it over in and then export out so you get an "Authorized" fbx :)
     
  5. Gnaws

    Gnaws

    Joined:
    Jul 1, 2008
    Posts:
    43
    When you build a custom rig in Blender, does the rig's naming convention have to look something like this......

    $merconium.jpg

    ... wondering because I'm having alot of trouble with Mecanim recognizing my Blender FBX rigs.
     
  6. Purpleshine84

    Purpleshine84

    Joined:
    Apr 8, 2013
    Posts:
    194

    Type in on youtube: "mecanim compatible rig" and you will see a tutorial in Blender (forgot the guys name), its a very simple one but very effective. Bone naming can also just be: toe.l, head, shoulder.l etc. Rigify btw wont work for Mecanim, problems with def head and def neck. For facial bones, anyone that wants to know, feel free to ask (Unity doesnt support Blendshapes).
     
  7. softwizz

    softwizz

    Joined:
    Mar 12, 2011
    Posts:
    793
    Just checked it out and it looks easy enough but I have yet to try it...
    This guys name is 'digijinInteractive' if its the same video.
    https://www.youtube.com/watch?v=Z9iUm2llVPc
     
  8. Taryndactyl

    Taryndactyl

    Joined:
    Jan 26, 2013
    Posts:
    16
    That tutorial has never worked for me so it's not just a follow-click-and-boom perfect rig solution.
    It should point you in the right direction though.
     
  9. Purpleshine84

    Purpleshine84

    Joined:
    Apr 8, 2013
    Posts:
    194
    Yes, thats him. How is it going?
     
  10. Dwillart

    Dwillart

    Joined:
    Feb 9, 2013
    Posts:
    2
    I'm not sure if any one mentioned this before but if you use Rigify and bind your mesh to the rig (before generating the final rig) it will work fine when you import it into Unity, and all the bones will match up.
     
  11. Dantus

    Dantus

    Joined:
    Oct 21, 2009
    Posts:
    5,667
    Welcome to the forum!

    In that case you are just using the meta rig. You can certainly do that, but the actual value of Rigify is that you get a very useful rig to create animations within Blender. If you don't want to create animations in Blender, there is no need for Rigify.
     
  12. Dwillart

    Dwillart

    Joined:
    Feb 9, 2013
    Posts:
    2
    I'm aware of that, but for people who are looking to import their Blender character into Unity and use the new mecanim system they don't have to make a custom rig they just have to use the Rigify base as a bone system to export to Unity. If you want to animate in Blender you would defiantly want to generate the animation rig from it. But if your end goal is to export to Unity don't generate it just use it as is.
     
  13. hike1

    hike1

    Joined:
    Sep 6, 2009
    Posts:
    401
    quote
    But if your end goal is to export to Unity don't generate it
    unquote

    I just tried this, loaded a mesh, shift_a/armature/human meta-rig, a little skeleton appeared, I scale him up, go to edit mode, rotate
    move the bones into the mesh, 'apply pose as rest pose' so you don't lose what you did in edit mode when you go to pose mode,

    ( shift select the Child Objects(must be the mesh?) first, and select the Parent Object last), and press Ctrl P. Wiggled a bone or 2
    to see if it deformed the mesh, export fbx in blender 2.7, put a mecanim controller on him in Unity, he walks.
     
  14. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,191
    I have tried and tried to get a rig setup in Blender to import into Unity for use with Mecanim, but I just cannot get it work. I change the Animation Type to Humanoid (acutally, every animation type results in the same thing), but when I press apply it just reverts back to None, without outputting any type of error message.

    I've tried with/without Rigify.

    Without Rigify, I use Ctrl-P (With Automatic Weights), and in pose mode the mesh moves with the bones, as expected. At this point, I should be done, correct? Just save as a .blend or export with fbx and everything should work when imported into Unity? Or are there additional steps?

    Here's something I don't understand. In Blender, when I apply the Armature modifier after using Ctrl-P, the mesh will not move with the bones in Pose Mode. Is this normal?

    With Rigify, I have tried following the guide here, but I feel like it's missing a few points.

    1. It says to link the shoulders to ORG-ribs, but no such bone exist. Does it mean ORG-chest?
    2. Does DEF-spine get parented to DEF-hips or ORG-hips?
    3. Should DEF-foot be parented to DEF-shin?
    I suspect this guide is a bit out of date in relation to the current version of Rigify, but I'm not sure. But in truth, I was planning on doing all my animating in Mecanin (good idea or bad?), so don't think I need to use Rigify at all. Also, I've tried following the tutorial listed above, but it just doesn't work. What am I doing wrong?

    I am using Blender 2.72.

    Thanks for any help in advance!
     
  15. gilley033

    gilley033

    Joined:
    Jul 10, 2012
    Posts:
    1,191
    Never mind. The project I am working on was one I started a while ago, and I'm only coming back to it now. Like an idiot, I forgot I had a Model Post Processor running which automatically set importMaterials to false.

    Problem solved. Dope!
     
    Last edited: Oct 17, 2014