Search Unity

[RELEASED] Puppet3D - a professional rigging toolset for Unity.

Discussion in 'Assets and Asset Store' started by jamieniman, Feb 28, 2018.

  1. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Modrig has a special setup that allows you to blend between at source animations you have and the control rig.

    By default all the blend values are set to 0 which means the character follows the controls rig. If you set them all to 1 they follow the source bones.

    What you will want to do is the following:
    1. Duplicate the sprinting animation clip. (This makes it editable – ordinary fbx animations are read only)
    2. Now you can key frame all the sliders to 1 (see below). This will make the character follow the sprinting animation.
    3. You can then keyframe the Arm Right blend slider to zero so you can animate the arm using the Hand IK controller.
    upload_2018-9-14_14-52-38.png
     
  2. Nadan

    Nadan

    Joined:
    Jan 20, 2013
    Posts:
    341
    I followed your instructions. I can see that the animations have gone to the folder:

    Puppet3D/Animation/Baked

    But I don't know where the exported character goes?

    I tried to replace the exported baked animations to my model, but they don't work. So I quess I need to find the new character with bones so the exported animatios work, but where is it?
     
  3. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Both the skinned model and the animations will get saved in the same folder as the original mesh model. The ones in the baked folder are just the clips made before exporting.
     
    Nadan likes this.
  4. Nadan

    Nadan

    Joined:
    Jan 20, 2013
    Posts:
    341
    One other thing. I need runnig animation for my character. Do I need to animate everything from scratch or can I use some ready made running animation from some other character that already has one?
     
  5. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Control animations all work relative to the autorig/modrig default t-pose. That means they should transfer between different characters. Also there is the option to bake and export the animations - and then you can use Unity's humanoid re-targeting to the job instead.
     
    Nadan likes this.
  6. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @jamieniman ,

    With this Asset can you skin meshes / create skinned meshes ? e.g. create skinned mesh clothing for a rigged humanoid?
     
    ina likes this.
  7. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Yes!
     
    ina, Mark_01, chelnok and 1 other person like this.
  8. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @jamieniman ,

    Thanks for responding.

    Damn! Going to have to buy this now...
     
  9. klvo

    klvo

    Joined:
    Mar 24, 2013
    Posts:
    31
    Hi @jamieniman,

    I'm having problems using both Puppet3D and Puppet2D in the same project, getting lots of console errors after importing them, looks like both share the same namespaces in scripts.

    There are issues happening as early as the import window when importing the second one, with Puppet2D showing the destination folder in assets as Puppet3D.

    Is there a way to have both working simultaneously?
     
  10. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Need to look into this. I might need to look at renaming a couple of the scripts - apart from that all the code is wrapped in unique namespaces.
     
  11. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Just to let everyone know Puppet3D v1.7 is out with the following features/improvements:
    • NEW Bone Mirroring
    • Export MODRIG animation files - (this will allow you to edit animations, and then export them to work on the character without the need of the MODRIG)
    • AUTORIG matches with MODRIG so animations will work the same when you export the mesh and bones, and then try the same animation using MODRIG).
    • Spline Twist Fix (It now twists correctly with the controls)
    • Pole controls further out
    • 2018 warnings removed
    If you have any questions about these features or any other updates let me know :)
     
    Mark_01 and AVOlight like this.
  12. AVOlight

    AVOlight

    Joined:
    Apr 15, 2014
    Posts:
    427
    are there docs or vids for the blend shapes functionality?
     
  13. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Not yet, I'm trying to fix an undo bug, when I do I plan on making some videos to demonstrate it.

    In the meantime heres a quick step by step:

    • Select your skinned model and click "Create Blend Shape"
    upload_2018-10-26_13-48-41.png

    • hide the original model (to make it easier to edit)
    • Select the points and move them to the desired blend shape (you can change the falloff and handle size in the inspector - be careful selecting more than 1 point or undoing at this stage!)
    upload_2018-10-26_13-51-18.png

    • Select the blend shape and change the name of the blend shape to the desired blend shape name
    • To make the blend shape click "Set Blend Shape" You can do this every time you edit the blend shape.
    upload_2018-10-26_13-55-3.png
    • You can hide this blend shape model and unhide the skinnedmodel. You should now have a blend shape slider you can animate with :)
    upload_2018-10-26_13-54-42.png

    • You can use the Clear Blend Shapes button to remove all the blend shapes on the selected skinned model.
     

    Attached Files:

    AVOlight likes this.
  14. AVOlight

    AVOlight

    Joined:
    Apr 15, 2014
    Posts:
    427
    Thank you this is very helpful :)
    i got some odd results trying it on the example model included here: Unity Facial AR Remote
    Very excited to have a workflow with Unitys Polybrush and your Puppet3D asset
     
  15. TechTools

    TechTools

    Joined:
    Nov 21, 2013
    Posts:
    19
    Hi, I have followed the tutorial for a custom rig and to begin with the bones are far too big, so I scaled my mesh by 10. Then when it comes to skinning the voxels are all heavy red color. My bones also aren't affecting the mesh. I'd appreciate some help.
     
  16. TechTools

    TechTools

    Joined:
    Nov 21, 2013
    Posts:
    19
    One other thing is that the autorig seems to be completely ignoring my mesh. When I create it, it is also invisible.
     
  17. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    You should try to rig your character with all the transforms reset. You can select all the bones and change their draw size in the inspector. It's likely scaling your character before rigging is the cause of your issues (changing the import unit scale in the inspector would work instead) - let me know if you still get issues when you rig the character with its transforms reset
     
  18. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    see above - make sure the character isn't scaled. If this isn't the issue let me know
     
  19. TechTools

    TechTools

    Joined:
    Nov 21, 2013
    Posts:
    19
    Thanks for the quick reply and for the suggestions, I'll try them out asap and let you know. Thanks again for this asset.
     
  20. fogwhale

    fogwhale

    Joined:
    Nov 2, 2018
    Posts:
    1
    Hi, I have a question
    Is it possible to rig after the game runs?

    For example, I am making a game app
    Provide cubes to the user.
    When they build the cube and make people, the auotorig button appears on the screen so that they can rig themselves.
    I want to know how to do it if possible.
     
  21. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Not yet, making the autorig work at runtime is on my list though.
     
    Mark_01 likes this.
  22. Elfinnik159

    Elfinnik159

    Joined:
    Feb 24, 2013
    Posts:
    145
    Hi!
    I have a character with a skeleton from Fuse. But the character has hair-tails.
    I am completely satisfied with the skeleton of the model, but I just need to add extra bones to the hairstyle, without changing the rest of the skin. And set up new bones using weights.
    I need to do the same with other objects on which physics will be considered (hair, chest, tail ...)
    When I tried to just insert the bones, I got the error: bone_1 is not connected to skin

    Tell me please, can I just add bones without rebuilding the skeleton?
     
  23. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    @jamieniman ,

    Can this asset create skinned meshes / skin weighting on base models that are already rigged (humanoid) outside of this asset?
     
  24. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Yes,
    One way is to use the Modrig feature to add a rig to your character, then you can skin other things (eg new clothes to the same bones, or edit the weights of your character.)


    Alternatively you only need to add the Puppet3D bone component to its bones, and you can use all the skinning and rigging tools on your character. You can then re-export the "skin & bones" which makes file that Unity recognises to use all the import humanoid features. (Its a collada file - behaves the same as an fbx)
     
    Duffer123 likes this.
  25. Duffer123

    Duffer123

    Joined:
    May 24, 2015
    Posts:
    1,216
    Thx for responding
     
  26. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    Can anyone point me in the right direction to set up a ragdoll humanoid after rigging with puppet3d?
     
  27. bitinn

    bitinn

    Joined:
    Aug 20, 2016
    Posts:
    961
    Hi, may I suggest adding a full changelog to the OP? I was trying to hunt down exactly what puppet3d has to offer and I find changelog are usually the best place to discover smaller features (as they get omitted in main feature list: like, does both weight painting and bone placement have mirroring now?)

    It would be awesome if there is a short comparison page with Blender or Maya LT (in terms of rigging functionality), I think many users are looking at rigging in Unity and thinking "just how far I can take it with puppet3d?"

    Thx!
     
  28. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    I've wasted an hour or so trying to rig up a humanoid today. I've done this in the past with no problem but the same wrong result keeps happening today. I'm simply making the guides, positioning them, then clicking Auto Rig but the bones are jumbled together. WTF?
    zombienotrigging.jpg
     
  29. Willbkool_FPCS

    Willbkool_FPCS

    Joined:
    Jun 13, 2018
    Posts:
    169
    Same thing happened on some of my characters. Most weren't in an exact T-pose, but even one that was, like yours, got messed up.
     
  30. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    It's an intermittent bug that I have yet to get to the bottom of. I've found sometimes just undoing moving a guide a tiny bit and re-clicking Auto rig usually fixes it. My thoughts are it has something to do with the guide mirroring. I'm going to bump its priority to the top of the list as its happening to people more than I realised. (Annoyingly its a hard one to reproduce so its not easy for me to confirm that its definitely fixed.)
     
  31. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Thanks for the ideas. For users there is a full change log in the info tab. But I should def add it to the website.
    Bone placement has mirroring now, but not weight painting yet. I'm currently working on skin weight transferring (worldspace between two meshes), this will open the way for skin weight mirroring in the future hopefully.
     
    Mark_01 likes this.
  32. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    If you're able to get a character in a state that causes it to do that everytime, even when you reopen the project/scene please send it my way - as it will be an ideal testbed for me to fix the bug.
     
    Mark_01 likes this.
  33. AnttiTerva

    AnttiTerva

    Joined:
    Oct 30, 2017
    Posts:
    1
    Hey, I just recently started using Puppet3D, Global_CTRL and required scripts on my prefab. I have got two questions:

    1. Is there a way to preview Animations and Transitions with the character model via Animator? All the animations are made with Puppet3D and the Preview window is just empty. Being able to see the animations in preview view would help a lot, especially with timing between attack transitions when thinking of combo attacks for example

    2. Currently I have Global_CTRL and model Mesh as siblings at the same level, their parent has most components like navmesh and scripts. I haven't been able to change the prefab structure or animations stop working somehow. I tried checking through Puppet3D user documentation and found this at page 6: "To move the whole character around you can use the global_CTRL. This is the master gameObject which runs all the other controls, and turns on and off their visibility. You tend to have the animator on this gameObject, or you can have it on a gameObject above it." Currently my animator is in this Global_CTRL object. I would like to have the animator in parent, but animations dont work when I do that (Animator transitions still work just fine, so Animator reference is found and logic is working). I am using Animation events which can only be used if the script is in the same object as animator. This mean I would have to create additional scripts just for the Global_CTRL object. I would like to have all the scripts and animator in the parent, so how to do move Animator to parent like said in the user documentation? I have tried moving Animator to parent and animations dont work when I do that.

    Thanks for the help!
     
  34. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    Hey there,
    I have had this for a bit but am just now getting around to trying it out. Is it possible to use this to rig a 4 legged animal with a tail?

    Thanks,
    -MH
     
  35. dl290485

    dl290485

    Joined:
    Feb 4, 2018
    Posts:
    160
    You can rig anything, but it gets harder depending on what you are doing. There is an guided system for making 2 leg humanoids so that is super easy.

    As for everything else, you can just make bones in two forms. First is just a bone. The second is a Spline. So one you would use as a knee joint and the other as a back bone or tail etc.

    Once you have the bones you can set IK handles to them, which again comes in a few flavours. So I actually just rigged a hand model so I could do some animations for a VR game. I'm not very good at it all yet but I got that to work.

    So yes, you can rig anything (including a 4 leg animal with a tail) but it may take a bit of learning and trying to get it how you want.
     
  36. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Preview doesn't work with the rig as it can't evaluate the control scripts in the preview.
    You can export the rigs and animations - then you can preview the transitions with the exports. The transitions will behave slightly differently on export as it will be blending rotations instead of the positions of the IK controls.
    If you want to move the animator to a higher gameObject after you have already animated you will need to change all the control names in the animations. Manually this involves selecting each of the names in the animation window,, pressing F2 and adding the global control name with a forward slash at the beginning.

    upload_2018-12-16_10-40-53.png
     

    Attached Files:

  37. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Use the Spline tool for the spine and tail bones:
    upload_2018-12-16_10-44-46.png

    Use the bone tool to make the neck, front and hind legs
    upload_2018-12-16_10-43-20.png
    and click then click each of the ankles and add the limb controls to them. (This gives you IK/FK). You can add a parent control to the highest bone - so you can rotate the animal knee bit.
    upload_2018-12-16_10-46-22.png

    It should end up looking something like this:
    upload_2018-12-16_10-59-31.png
     
  38. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    *** Edit - After having gone through a tutorial on rigging and doing it through Blender, I see now that the shoulder and hips don't have to actually be connected to begin with, so I probably was not too far off from having it right the first time. >_<

    I appreciate the information.
    I can't seem to connect things though. Such as, if I make a spine and I try to select the hips to then create a leg, it just starts making a new one. sometimes from whatever the last one was or a completely new one that is in no way connected to the hips or wherever I was trying to create a limb from.
     
    Last edited: Dec 17, 2018
  39. montenom

    montenom

    Joined:
    Aug 18, 2018
    Posts:
    6
    Apologies if this is obvious - but can this be used to just rig something? i.e. adding a rig to a model and using other assets to add IK etc.
     
  40. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    325
    It is a rigging tool..... so yes; if you are using something like final IK you should be able to use it instead as long as you followed some standard naming conventions for bones i.e. bones contain bonename_L and not something like b1234.
     
  41. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    325
    @jamieniman I have a character that is split into mesh renderer parts (head, arms, legs etc..) and have skinned it manually (because the auto-rig bug was happening every time).

    Hierarchy:
    (root empty GO)
    >torso
    >arm
    >arm2
    >head
    >leg
    >leg2
    Global_Control
    >rig...

    Once I have bound the skin and created skinned mesh renderers I can't seem to export them all to where I get a .dae file like this:

    Root (empty)
    >rig root...
    >torso
    >arm
    >arm2
    >head
    >leg
    >leg2
    >avatar
    >material

    instead I get the skinned meshes under the first skinned mesh renderer with the hips rig root and the other skmrs under it, but the hips root doesn't have any children therefore no way to move bone transforms =/

    am I missing something?


    Edit:
    I was able to resolve my issue by adding the full rig back into the children of the exported object, resetting all the bone transforms to 0 then assigning the root bone of each child skmr to the bone it belonged to. All the pivots are off place and I'll have to use Unity's fbx exporter to out that all back together as a 3D file but this workaround should work.

    Edit, Edit:

    Actually this only allows animation of the root bone of each skmr, child bones don't work and converting to fbx will remove the avatar.

     
    Last edited: Dec 20, 2018
  42. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Are you refering to the bug where the arms or leg bones jump to the other side? If so I've fixed this for the next release, but in hte meantime all you need to do is deselect everything before clicking "Autorig"
    These are actually 2 other bugs I should have fixed for next - release. Currently the export doesn't work with unskinned bones, and null gameObjects.

    If you could email me at Puppet3DUnity@gmail.com I can send you it early to test if you want.
     
    ParadoxSolutions likes this.
  43. jdscogin

    jdscogin

    Joined:
    Oct 26, 2014
    Posts:
    88
    Does this work with a model from MakeHuman?
     
  44. Sehlor

    Sehlor

    Joined:
    Feb 10, 2012
    Posts:
    199
    Just purchased but i have a question, tried to rig a multiple meshed model but only rigged body part, can this rig multiple meshed models?
     
  45. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    325
    I just messed around with this if you look at the 2,3rd posts up from yours. My understanding is it can but the exporting is bugged, I can get it to skin the meshes but I loose the bone hierarchy on export. (hint: to skin multiple meshes you have to have the bone hierarchy and all meshes selected in the scene hierarchy).
     
  46. ParadoxSolutions

    ParadoxSolutions

    Joined:
    Jul 27, 2015
    Posts:
    325
    If you exported your makehuman model without a rig/skeleton then you can rig it with Puppet3D. (You will want to select the T-pose under posed>development if you want to auto rig it). Personally I am unsure when it comes to facial bones though, you may be able to export two make human models one with a facial skeleton and one without a rig then copy and paste the head bones hierarchy over from the one with the facial rig to the one without a facial rig and add the puppet3D bone component to all the copied head bones during the puppet3D rigging process.
     
  47. The-Creature-Queen

    The-Creature-Queen

    Joined:
    Jan 19, 2017
    Posts:
    24
    Hi; apologies, I tried to read the forum to get my own answers but it is a lot of content so sorry for repeat question. But hey, people being really interested in your stuff is never bad right!

    I'm looking to buy an in-Unity rigging and animation solution rather than paying more for Maya. Can Puppet 3D do the following things?

    I have unrigged 3D quadroped (deer) models of adult male/female and young.

    What I want to do:
    -Rig and animate them inside of Unity. (Hey, Puppet 3D does that part!)
    -Make the animation once for female and have it apply to male. (Bonus if it works for the babies, but they act different anyway and need their own animations.)
    - Be able to edit the animation after it is copied from female to male.
    - The rigging asset MUST Be compatible with the following two assets:
    Spine Animator
    (Concern: Does Puppet 3D create a bone hierarchy?)

    PIDI- XFur Studio
    (Concern: I read earlier that there is a limitation on materials.)
    XFur replaces the material. So if you have a horse with a standard unity shader and nothing else, you can just change the shader to XFur and it will include all of the original color maps. So XFur only uses one material slot. All of my other animal parts are separate objects. XFur works with skinned meshes and animations dynamically so the physics is compatible.

    So we have a deer that has different types of antlers, separate eyes with their own shader, and different types of modeled hair for low end machines that cant render XFur. Do those need to be separate game objects skinned to the same bones, or submeshes inside the FBX (if I know what I'm talking about.) Basically I have separate parts of a whole I want to keep together in animation, lol. How would that work best with Puppet 3D?

    Thank you.
     
  48. MostHated

    MostHated

    Joined:
    Nov 29, 2015
    Posts:
    1,235
    Am I supposed to have my model in the scene and then click "create spline tool" and then click on the model? Every time I try to place a spline or a bone on the model physically it clicks through it and goes down under the character below 0.

    Ah, nm, I see. I was supposed to have a collider on my character, that is my bad.

    It would be super helpful if there was a tutorial specifically for quadrupeds and getting everything setup for them. I would imagine a lot of people who would be looking for a tool to help rigging would end up being someone who is rigging something other than a human?

    Thanks,
    -MH
     
    Last edited: Jan 1, 2019
    mensch-mueller and Mark_01 like this.
  49. Joshua_strawchildgames

    Joshua_strawchildgames

    Joined:
    May 27, 2017
    Posts:
    60
    Hey folks, I'm really hoping this is a quick and easy question to answer for you guys, I did search the forum and didn't really see this answered, or I may have missed it.
    So I have a character that is holding an item. The item itself is a different prefab from the base character. The prefab is a child of the hand. When I create the mod rig (automatically), the character's body blends very well between ik and fk, but the item does not... The item stays on fk, or the original bones.
    I noticed there is a pelvis_JNT under my root now along with pelvis. The skinned mesh points to pelvis_JNT for bones.
    pelvis_JNT has the object on the hand as it was attached before I created the mod rig. If I activate (unhide) the pelvis_JNT, I see that the item is on the ik rig, and moves with the controllers just like I want it too. However if I try animating pelvis_JNT, it just seems to have odd behaviors and generally doesn't work well.

    So I'm a bit lost as to the best approach here... I just want to be able to have the character hold on to an object regardless of if I'm blending between ik or fk. Any tips in this would be incredibly helpful.
     
  50. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    A little explanation is in order:
    Modrig essentially has 3 skeletons:
    1. Skinned skeleton. (This is blue and has _JNT suffix). This is the main skeleton that your character is attached to. You do not directly animate this one. But you do want to attach props to it.
    2. The input skeleton. (This has your original names so you can directly use any mocap/animation made on the original character.) you need to set the global blends to 1 to blend your skinned skeleton to this one.
    upload_2019-1-4_13-34-29.png

    3. The control skeleton. This skeleton is driven by the controls. Your skinned skeleton will be influenced by this skeleton when the Blends are on 0.

    Hope this helps.