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:
    788
    Introducing Puppet3D a professional rigging toolset for Unity!



    https://assetstore.unity.com/packages/tools/animation/puppet3d-111554

    Here's the features it includes:
    • AUTORIG - Rig it in a minute! Makes rigging a biped really fast.
    • Create bones and skin them to any character or asset.
    • IK & FK - Make IK controls for the limbs, which can blend between IK and FK.
    • Create a "Mod-Rig" on a humanoid in 1 click, to modify or make new animations.
    • Advanced Rigging - Spline Controls for tails and bendy things, Parent, Orient, IK and Global controls.
    • Paint the Skin Weights.
    • Voxel based default skin weights. Spreads the weights through the characters volume.
    • Pose Saving & Loading
    • Bake Control Animations Onto Bones
    Any questions are welcome. :)
     
    Last edited: Nov 12, 2019
    Alverik, petersx, Vagabond_ and 6 others like this.
  2. theANMATOR2b

    theANMATOR2b

    Joined:
    Jul 12, 2014
    Posts:
    7,782
    This looks really cool Jamie.

    - Are the animations created internally in Unity - reuable (retargetable) onto other humanoid characters? Are the animations compatible with the humanoid system in mecanim?

    - spline and limb IK works for generic rigged characters/creatures - specifically quadrupeds?

    - Do you have documentation available?

    - Can you expand on the pose save/load and bake control animations?
     
  3. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    As they have unique control rig keyframes, they're retargetable to other humanoids, not through mecanim but via Puppet3d's adaptable rig.
    Yes. You can rig anything with these controls.
    Yes, still need to upload it to the website: www.puppet3d.co.uk
    You can save multiple poses to the UI, which can be loaded at any point helping with animating. This feature actually saves any selection you want so can be used for other non puppet3d stuff.
    You can bake the control animations back onto the bones allowing you to remove the controls and all their scripts. Its an optional step.
     
    theANMATOR2b likes this.
  4. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,615

    will this support motion capture made animations?

    also looks like you can rig, skin, your self, I hate auto rigger. personally. but its good for people who have no idea. or to get them going. Maya has an auto rigger, and many others, and being some one who animates this looks great though. but would need to support Motion Capture for me to jump on board. I used your Puppet 2d, and I had to do a double take, the name through me off for a minute lol...
     
  5. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    The "modrig" feature is designed for editing humanoid animations. These could have mocap anim on them. You can then modify the animation by blending on and off different parts of the rig.

    Yes, you can do everything manually with it - its actually based on tools I made in Maya!
     
    ina and recon0303 like this.
  6. recon0303

    recon0303

    Joined:
    Apr 20, 2014
    Posts:
    1,615
    Ty for info.
     
  7. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Puppet3D is now released!
    Yay!
     
    Mark_01 likes this.
  8. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Starting to upload some tutorials. Heres the introduction:

     
  9. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
  10. JoMaHo

    JoMaHo

    Joined:
    Apr 2, 2017
    Posts:
    94
    Looks cool - hot tip: Add an asset store link in your first post
     
  11. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    oh yeah - good plan :)
     
  12. Hattoriseed

    Hattoriseed

    Joined:
    Feb 24, 2015
    Posts:
    23
    @jamieniman Will it be possible to use the skin weight painting features of Puppet3D to add new sets clothing and accessories to characters so that they can deform with the animations?
     
  13. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Yes! If you add the puppet3d bone components to the character's bones then you can skin any clothes to the same bones
     
  14. Hattoriseed

    Hattoriseed

    Joined:
    Feb 24, 2015
    Posts:
    23
    Great! finally, I have been waiting for an asset that would let me do skinning inside of Unity! Thanks!
     
    ina likes this.
  15. Falagard

    Falagard

    Joined:
    Jan 8, 2014
    Posts:
    43
    "You can bake the control animations back onto the bones allowing you to remove the controls and all their scripts. Its an optional step."

    If you don't bake the control animations back onto the bones, then it's doing IK at runtime, right?

    Do you think this can handle 20 characters with IK at the same time on a mid range PC?

    This looks like a great tool, I'm just trying to figure out how it should be used.
     
    jovino likes this.
  16. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Sure, the IK isn't that CPU intensive - 20 characters on mid range PC should be fine.

    You'll only need to bake to bones if CPU is really tight.
     
    ina likes this.
  17. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    121
    Any plans for autorig hands as well?
     
  18. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    yup. Certainly on the list.
     
    HitsuSan likes this.
  19. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    121
    Then i'm following this closely cause as soon as i see it implemented i'm getting it :D My sculpts will thank you big time!

    Also, is it possible to rig a character and export the fbx posed outside unity? Right now with my models i have to rig outside unity, import, pose and then export them outside when needed and somehow it all works for me, it would be super cool to streamline the process even more :)
     
  20. andrespinilla

    andrespinilla

    Joined:
    Mar 18, 2018
    Posts:
    1
    any discount for students or teachers?

    best regards
     
  21. Sujeto

    Sujeto

    Joined:
    Jun 30, 2015
    Posts:
    7
    Wow! Is looking really good! @jamieniman can you share the road map for the next updates?
     
  22. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Please contact me at puppet3dunity@gmail.com
     
  23. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
  24. Cascho01

    Cascho01

    Joined:
    Mar 19, 2010
    Posts:
    1,147
    I have a character in 3dsmax with a biped inside with correct bone positions and rotations.
    Also the biped has some motion capture data applied.
    But I fail to get a nice skin-setup in 3dsmax.

    Could I export this character with its animated biped without any skin and do the skinning with your tool in Unity?
    And will the motion capture animation still work?
     
  25. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Yes, id recommend making it a unity hunanoid and then you can add a modrig to it in a single click. Then you can bind anything to those bones. That way you can have an instant rig whilst also make use of the mocap anim.

    See here about modrigs:


    Also u can add bone components to any gameobject and then skin any mesh to it.
    See here how to skin:
     
    theANMATOR2b likes this.
  26. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    302
    Would it be possible to use the tool for weight painting clothing to custom avatars? I've got existing models for male/female avatars with their own skeleton in .fbx format, I would like to be able to take a separate clothing model and autorig to one of those models, and then to be able to hand-paint the weighting in selected spots (stuff like jacket collars and dresses never quite get the right results with auto-riggers). This tool looks great, and kudos for having a bunch of great looking tutorials, but everything I've seen so far looks like it's just rigging the characters/avatars themselves, and not separate clothing models.
     
  27. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    You can skin anything you like to whatever bones you make (any gameobject can be a bone if it has a Puppet3D bone component added)

    When you skin the clothing model to the bones using Puppet3D you can paint the weights or manually set them. See this video for the paint weights tool:

     
  28. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    302
    I've picked up the asset, and am trying to get started. The problem I think I am having is that the skeleton is in a separate avatar file, the clothing item is a separate model that does not have a skeleton inside it.

    I am able to turn the custom avatar into a mod rig..
    Screen Shot 2018-03-21 at 9.05.01 PM.png

    But when I add the model (pirate pegleg and boot, seen from behind in the pic below)and attempt to rig and weight it I'm getting nowhere. At no point have I been able to paint weights. I've tried selecting elements individually, and together, with no luck. The closest I get is something like this, but I'm unable to actually change anything.
    Screen Shot 2018-03-21 at 9.55.00 PM.png
    If you could please post some instructions on how to rig and weight paint a clothing model (that doesn't contain any bones/skeleton) to a model that is a separate object that has a skeleton, I'd appreciate it. The docs appear to be well written, but completely ignore this kind of use (everything is geared towards rigging a character model).

    It is probably worth noting that I'm running Unity 2017.2.2f1 on a Mac. My clothing model also has 2 materials on it - the Puppet3D process appears to trip up on multiple materials, it only swaps to the puppet3d/vertcolor shader on material 1, and at times it causes the model to change to a single material model.
     
  29. walledcityinfotech

    walledcityinfotech

    Joined:
    Oct 10, 2016
    Posts:
    715
    I see an Asset of the Year award winner thing here!
     
    AndrewAssetStore and trilobyteme like this.
  30. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Currently Puppet3D works with a mesh with a single material. (I'm working on implementing submeshes for the next release). In the meantime you'll need to split the model up per material and skin each piece individually to the bones.

    Essentially the process for new cloth models is you select the bones and the cloth model and click "Bind Smooth Skin". As long as as the model has a single material you should be able to paint the weights on it.

    In this tutorial I show how to bind the character to the bones, this is the same procedure you would do with cloth models.



    Here's me doing it with a tree:

     
  31. cybersoft

    cybersoft

    Joined:
    Feb 12, 2014
    Posts:
    85
    Hi,

    This is amazing and I am really considering buying your asset but I would like to know if I could re-target not-humanoid characters and generic animations?

    This seems to be very useful tool. I wanted to buy a special Auto-rig tool for Blender. This could be better alternative.

    There is a movie and re-targeting of a tiger in order to use original generic animations but with 3Dsmax:



    Can I transfer bones from one object (a tiger) into another object (a cat) preserving animations of the first object (tiger)?

    I wanted to buy the UMotion asset but the author of this asset said:
    "Re-targeting of generic characters is not supported by UMotion."
     
    dozhwal likes this.
  32. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    I think whats going on here is he is essentially "manually retargeting" the tiger by skinning it to the same bones (rotated to match the new tiger pose) and then making a corrective animation on an additive animation layer to offset the bones back.

    There's one feature I'm currently working on which should make this whole process possible and thats my (collada file) export. This will allow you custom skinned meshes to behave the same as any imported character from an external program. Then you'll be able to use things like the layer masks and root motion stuff as well.
     
  33. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    121
    I seem to be having some scaling issues ^^ Is there a way to fix it other than having to scale up my model? upload_2018-3-22_13-42-18.png
     
  34. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Select all the bones and change the bone radius on the bone component.

    All controls and bone handles can be resized on their component
     
  35. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    121
    Oh yeah found them :) tnx
     
  36. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    302
    Okay, good to know about the single material limitation. I'll try and get started with another piece then, and can probably sort that one out later by turning the two materials into an atlas and then remaking my LOD models.

    I'd be very interested in multiple material support, because sometimes the different materials use different shaders.
     
    theANMATOR2b likes this.
  37. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    302
    That said.... what you're suggesting still does not work.

    I start with a new scene. I had previously followed steps for a mod rig on a copy of my avatar, but none of that info appears to have been preserved, so I once again go through the steps. Configure it and save, then back in the empty scene I drag it in and click the mod rig button on the Auto Rig tab.
    Screen Shot 2018-03-22 at 8.58.54 AM.png

    Next, I drag in my model, which uses a single material.
    Screen Shot 2018-03-22 at 9.02.21 AM.png

    Over in the skinning tab, I select the model and choose Bind Smooth Skin... nothing happens.
    Screen Shot 2018-03-22 at 9.03.18 AM.png

    I tried selecting the avatar/character model and the separate clothing item and trying again... nothing. I even tried drilling down and selecting the skeleton hierarchy and the jacket.... nothing.

    On a lark, I tried selecting not just the root of the skeleton, but shift-selected all the skeleton bits in the hierarchy and then ⌘-selected the model and clicked Bind Smooth Skin... and that started doing something (since the tutorials you linked are for other things and awfully short, they don't actually mention or show that). However, the process has been running for several minutes and appears to have hung up on 'copying Voxels to mesh'
    Screen Shot 2018-03-22 at 9.12.48 AM.png

    There is no option to cancel, and my Unity editor is essentially locked up. I gave it a few more minutes just in case the process isn't broken, just incredibly inefficient and slow. More than 5 minutes in (on a 12-core Xeon machine), it eventually finished (wow.. can this process be sped up via multi-threading or using the GPU?). What I got wasn't the multi-colored voxels of the tutorial you linked, but this...
    Screen Shot 2018-03-22 at 9.16.50 AM.png

    ...continued...
     
  38. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    302
    That's pretty useless for the purposes of seeing how it's weighted. Selecting just the model and zooming in closer, it does become a different view...
    Screen Shot 2018-03-22 at 9.19.37 AM.png

    That is different all right, but not really useful. Selecting a bone to paint weights, I get the round brush tool... but painting does not do anything. Unlike your demo for other content, the bones are all defaulted to a white color for me, but painting anywhere on the model does not make any changes whatsoever.

    Unticking the voxels, I am able to see the vertex colors on the piece...
    Screen Shot 2018-03-22 at 9.27.20 AM.png

    To me, this appears to have completely failed to rig anything - whatever it's rigging to is a solid bone. I've tried selecting every different bone in the existing rig and in the JNT, Ctrl_GRP, and additional skeleton as well as the model's original skeleton. Nothing works.

    When I've asked for instructions on using this with clothing models, I've gotten assurances that it works but then pointed to instructions for other types of projects. So I can't really say for certain whether this asset just doesn't work or whether there's some step in the process that I'm missing because what you're pointing me at doesn't cover what I'm trying to do.

    I am not rigging a game character, I am not making a custom skeleton for a standalone model. I have an existing game character with skeleton and rigging for that character (it's an avatar for the virtual world), and I have a piece of clothing that I want to rig to that pre-existing game character with skeleton. Please help, I need some instructions on how to make that work.
     
  39. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    121
    Uhm ok, i was working for about 2-3 hours and everything was fine and working until i went and made a build... Every Skin detached from the bones o_O it happens every time i make a build so it's consistent.
     
  40. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Oh wow, thats not good. What version of Unity are you using? So I can try to reproduce. Also what platform are you building to?
     
  41. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    121
    Using Unity 2017.4.0f1, building for PC Standalone x86_x64
     
  42. TheWarper

    TheWarper

    Joined:
    Nov 3, 2013
    Posts:
    99
    For skin weight painting, in the documentation it states:

    "Holding Ctrl with Left Click removes the weights for this bone."

    Yet it doesn't seem to do anything for me.
     
  43. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Yes, removing weights isn't working for some reason- I'm looking into it.
     
    TheWarper likes this.
  44. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Do you mean 2017.3.1? Didn't know there was a version 2017.4? Is it a beta release?
     
  45. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    I made a little silent video to show you how its done.



    I'm guessing you skinned your character to the wrong bones - you need to skin it to the ones with the name _JNT at the end.
    If you want faster skinning either reduce the number of voxels, or try the closest point skinning - its much faster.
     
  46. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    121
    Uhm no, that's the latest stable version. As far as i know Unity is Stable after xxxx.3 which means .4 should not be Beta.

    Maybe is super recent though, i've literally updated my unity yesterday before buying your plugin :)
     
  47. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    788
    Ok - just installed Unity2017.4 and its working when I build for PC for me.

    Are you able to produce exact steps to reproduce your bug? Can you also do it in a new clean project - to rule out external variables and all.
     
  48. HitsuSan

    HitsuSan

    Joined:
    Sep 28, 2014
    Posts:
    121
    I've tested this for a couple of hours now, i'm not able to do it in a clean project right now cause time is short and i don't have a huge project anyway, it's a 3d model visualizer so all it got is pretty much my camera, some little camera handling code and pretty post processing with a custom shader (couple of plug ins as well though). This is something i'm seeing as long as some other general errors related to Puppet3D upload_2018-3-23_18-28-43.png

    What i'm doing exactly is to create a spine to move a tail in a character, then i move the bones in the appropriate place in hierarchy. At this point i have to deactivate Controls form Global_CTRL otherwise the bones won't behave properly. At this point everyting is working very well in engine, i can run it multiple times, all seems to work. If i make a build though i loose the connection between skin and bones and it won't come back in engine even reverting the project back before the build.

    Is Puppet3D saving the skin properties somewhere temporary? I thought it could hard inject the skin back to my fbx files. I dunno, kinda frustrated right now
     
  49. trilobyteme

    trilobyteme

    Joined:
    Nov 18, 2016
    Posts:
    302
    Thanks for the info and the tutorial @jamieniman - I'll dive into that shortly.

    As for 2017.4, that one was a head-scratcher for me, as the primary published cycle has been 2017.1, 2017.2, and 2017.3 followed by the soon to be released 2018.1. A bit more digging shows 2017.4 as the 'long term support' version... Interesting, I'd never realized they did a separate release for that.
     
  50. UnityRocksAlt

    UnityRocksAlt

    Joined:
    Dec 28, 2015
    Posts:
    137
    Is there a way to mirror keyframes, it is tedious to copy/paste and change values.

    Puppet3D is still awesome though
     
unityunity