Search Unity

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

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

  1. DeidreReay

    DeidreReay

    Joined:
    Oct 28, 2019
    Posts:
    44
    Maybe I can be a little more straight forward with my question. We have a Hair Mesh setup as a skin mesh renderer. Want to place a few bones in the ponytail of mesh to then use dynamic bone or similar situation to add some movement to the hair. What are correct steps to do so?? My thought is this.
    1.) Create bones and place inside the hair mesh.
    2.) Hair uses a skin mesh renderer so we need to add a mesh filter to this and apply the hair mesh.
    3.) Use the bind smooth skin function of puppet 3d?
    4.) Use paint weight function of puppet 3d if issues arise??

    Anything else we are missing here? It seemed to somewhat work trying this approach, and we just added the Bones as children of the Hair (which is a child of player character)
     
  2. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    Best way is to select the hair model and click "Unbind Skin." Then click "Freeze Model".
    Make sure all the bones you want to skin to have a bone component (they will if you make them with puppet3D). Then select all the bones and the mesh and click "Bind Skin"
    Yup, that should work. I assumed your hair was part of your original character and had skin weights that you wanted to keep. When its a separate model you are adding its much simpler :)
     
  3. DeidreReay

    DeidreReay

    Joined:
    Oct 28, 2019
    Posts:
    44
    Thank you for your reply. Will give this a shot again later tonight, and yes models came in with the hair but could look into seperating them etc, or perhaps the unbind skin will do exactly that (remove the previous weights etc.
     
  4. UnityXizor21

    UnityXizor21

    Joined:
    Jan 14, 2021
    Posts:
    15
    Hi, I'm just discovering your Puppet 3D asset.

    I have three Puppet 3D questions:


    Puppet 3D default mod rigs seem to be great for stretchy characters. For example if you lower the control for the hips then the character's torso located between the chest control and the hips control will elongate to accommodate the new position. This brings me to question #1.

    Q1: Does Puppet 3D support a way for one control to influence another?

    For example: Is it possible to lower the hip control and have the chest, neck, and head controls follow in relation to the hips to maintain body proportions? (I do understand that a user could select all of these controls and move them together, but that's a little cumbersome and I'll touch on this in Q3. Is there a more efficient way?)

    (For reference, this functionality would be similar to the Animation Rigging Package's center of gravity control or pelvis control as implemented in the ninja megacity demo from Unity's 2019 animation rigging package workshop which is already very outdated and problematic to implement in modern projects.)

    Q2: Does Puppet 3D support adding additional, more detailed controls to auto rigged characters?

    For example, is it possible to add shoulder rigging controls to characters for more precise animating? The video tutorials show that auto rigging and the one click mod rigging built into Puppet 3D only create controls for the chest.

    Q3: Is there an easy way to grab controls for Puppet 3D rigs? (Grabbing wire frames can be a pain and it's often easier to grab wireframe controls from the hierarchy than from within Scene view - but this is also inconvenient because it requires drilling down every time you want to select a control.)

    Is there a Puppet 3D setting for using a more convenient effector / control handle?
     
    ftejada likes this.
  5. BenrajSD

    BenrajSD

    Joined:
    Dec 17, 2020
    Posts:
    25
    Hi,

    I would like to have following clarifications,
    Working on a project in which we have a character with it's own rig and 3d dress models without skinning and rigging. Is it possible to auto skin and rig at run time using script and transfer the skin weight, rig to dress model from character and play. Looking to stream the dress model from web and automate the processes mentioned above. Whether we can achieve that using Puppet3D? or can we do it manually at least in that, instead of rigging every model with character from 3d team?
     
  6. BenrajSD

    BenrajSD

    Joined:
    Dec 17, 2020
    Posts:
    25
    Any updates?
     
  7. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    Currently the skinning functions are editor time. The code is open, so in theory you should be able to move the functions over into a runtime script. The "Transfer Weights" feature would probably your best starting point - so you can transfer the weights in world space from an already skinned character.
    Skirts are one of the trickiest things to get good skin weights on - so I would recommend painting weights on a base (low res) skirt model and transferring the weights onto the the other models.
     
  8. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    An easy way to do this would be to parent the upper spine's control's parent to the hip control, and the neck control parent to the spine control. Or you could make another control and parent the spine, hip and neck control's parents under it.

    NB - when parenting controls - always parent their parents so the control itself keeps local transforms to 0,0,0 - much better for animating


    It also makes shoulder controls (Called clavL_CTRL and clavR_CTRL - clavicle) - they may have been hidden in the video

    I find wire controls to be fine to select in the view as long as your character has its prefab broken/unpacked. (Break it for animating - it can be made back into a prefab after)
     
  9. BenrajSD

    BenrajSD

    Joined:
    Dec 17, 2020
    Posts:
    25
    Hi,

    We have progressed well with Auto-rigging by converting editor scripts, but the skinning is not getting done properly and when we apply animation it looks weird. Could you please help on this, what could be the issue? When we do rigging manually it is in acceptable shape.

    Please do find the video feed for reference
    https://drive.google.com/file/d/1-IkfWZ4Z1kpe_kfThSV7Fk0zc2rEDfdL/view?usp=sharing
     
  10. skanev

    skanev

    Joined:
    Oct 15, 2018
    Posts:
    14
    Hello!
    I imported Puppet 3D in my project and I get the following errors:

    Assets\Puppet3D\Scripts\Util\BakeAnimation.cs(117,15): error CS1061: 'AnimationEvent' does not contain a definition for 'time' and no accessible extension method 'time' accepting a first argument of type 'AnimationEvent' could be found (are you missing a using directive or an assembly reference?)


    Assets\Puppet3D\Scripts\Util\BakeAnimation.cs(118,50): error CS1503: Argument 2: cannot convert from 'AnimationEvent[]' to 'UnityEngine.AnimationEvent[]'



    Assets\Puppet3D\Scripts\Util\BakeAnimation.cs(120,50): error CS1503: Argument 2: cannot convert from 'AnimationEvent[]' to 'UnityEngine.AnimationEvent[]'

    Unity 2020.1.17f1 - HDRP Project
     
  11. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    From the looks of the error it appears there is something (a package?) in your project that overrides the Unity AnimationEvent,
    as you can see here: https://docs.unity3d.com/ScriptReference/AnimationEvent.html
    time does exist in the AnimationEvent:
    upload_2021-6-1_10-30-11.png
    If you can't track it down, simply replace all the references to AnimationEvent in the BakeAnimation.cs script to UnityEngine.AnimationEvent
     
    skanev likes this.
  12. lizkin

    lizkin

    Joined:
    Jun 22, 2013
    Posts:
    16
    Hello,

    Can I use Mixamo animations after autorigging a human model with Puppet 3D ?
     
  13. GerardUnity

    GerardUnity

    Joined:
    Sep 24, 2018
    Posts:
    2
    Hi, I need help :)
    I made a rig on Tiltbrush model with Mixamo, the rig work very well but I lose shape and texture of my model (normal because Tiltbrush model are very special, they can be imported only on Unity without problem). So, I want to transfer the Mixamo rig in Unity on a clean Tiltbrush model imported directly in Unity. And add more bones (for jaw or wings) with puppet3D.
    Somebody have an idea or do the same thing??
    Thanks a lot
     
  14. dawnseeker8

    dawnseeker8

    Joined:
    Jul 1, 2021
    Posts:
    5
    Hello, I just purchase your tools yesterday, but it doesn't quite work for my unity 2019.4.2,
    I got a tiger model, and try to create some sprint and bone for it, but when i click "Create Bone tool" and start to draw a bone in tiger model, the bone appear as line and didnt attach to mesh in the model, ( not like what you show in your youtube tutorial) and also the console display as following error:

    Undo object may not be null.
    UnityEngine.StackTraceUtility:ExtractStackTrace ()
    Puppet3D.SplineEditor:SplineCreationMode (UnityEngine.Vector3,UnityEngine.Ray,bool,single,single,single) (at Assets/Puppet3D/Scripts/Editor/SplineEditor.cs:118)
    Puppet3D.Puppet3DEditor:OnSceneGUI (UnityEditor.SceneView) (at Assets/Puppet3D/Scripts/Editor/Puppet3DEditor.cs:983)
    UnityEngine.GUIUtility:processEvent (int,intptr)


    I currently stuck on using this tools, can you tell me what to do? or can i get a refund of this tools?
     
  15. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    To get the bones to centre inside your tiger make sure the tiger has a mesh collider.
    To skin your tiger to the bones, select it and the bones and click "Bind Smooth Skin". If the tiger already is skinned to other bones you will need to first select it and click "Detach Skin"

    Are you able to start again in a fresh scene and see if and when you get this error again, then let me know what you did that made it come up?

    A refund is always available - I'd like to help you through the issues though :)
     
  16. dawnseeker8

    dawnseeker8

    Joined:
    Jul 1, 2021
    Posts:
    5
    Hello, Can i get a refund? it is not easy to use, i finally decide to use external tools to do rigging.
     
  17. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    Email me your invoice number at puppet3dunity@gmail.com
     
  18. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    85
    Have a problem with hand and foot pole after autorig, they end up wrong place. How to move them to correct place without foot and arm start bending ? How can I rig a charecter to use common animation ? Like this Basic Motions | 3D Animations | Unity Asset Store. When I add some of this animations, the caracter go back to T-pose.

     
  19. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    When you set the guides, Make sure the knee guide is at least slightly in front of the hip and foot. The elbow guide should be at least slightly behind the shoulder and hand. If auto-centering of the controls is making this difficult you can just turn it off in the Inspector.
     
    bthanse likes this.
  20. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    85
    Thanks. The next problem I have now is that the feet is wrong way. Trying turning them, but when the testanimation run, they flip to wrong way again. upload_2021-9-24_20-19-42.png
     
  21. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    85
    How can I get ordinary human animations to work ?
     
  22. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    Your character should be looking forward down positive Z axis when you rig it (it looks like its looking down negative z in your video)
     
  23. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    You can export the character after you rig it (Export Skin & Bones). Now you can set the exported file as a humanoid and then you will be able to use any humanoid animations on it. You can also export the the animations (using the bake and export anims button - these can also be set to humanoid and used with the exported character).
     
    Mark_01 likes this.
  24. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    85
    Maybe I have done something wrong. This is the error I got:
     

    Attached Files:

  25. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    Did you autorig and then export the demomanFingers model? It looks like it doesnt have any bones?
    The order should be this:
    1. autorig/ rig the unskinned character
    2. select the skinned mesh and click "Export Skin and Bones"
    3. This should make a new file that can be set to a humanoid
     
  26. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    85
    I will take a closer look at this the next days. Maybe you can add a new video to the asset that show how to do this?
     
    Last edited: Oct 1, 2021
  27. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    85
    I do not know if I select the right file. I get something strange that move with the animation I added.
     

    Attached Files:

  28. PyroStudios

    PyroStudios

    Joined:
    Sep 23, 2012
    Posts:
    242
    Is the follow possible to do with Puppet3D::

    1. I add bones, weight paint, and rig a humanoid model
    2. I have a clothing item for the humanoid model and I copy the bones from #1.
    3. I paint the weight for the clothing item.

    My main concern is #2. Can I take the bones from one model and add them to my new model, then paint the weights using those copied bones?
     
  29. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    911
    Yes.
    You can rig the model from scratch using AUTORIG (or manually if you want). Then you can export it so it can be set to a humanoid in the inspector.
    If the character already rigged, and you want to add some bones (let say pony tail bones) let me know and I can explain how to do this.

    Yes. Make sure the bones all have a Bone component on it. Then select the bones and the new cloth model and click Bind Smooth Skin. Then to save having to paint weights you can select the body model, followed by the cloth model and click Transfer Weights. Then the cloth will have the same weights as the body!

    See (2) you can achieve a lot just by transferring the weights over. (You can also paint weights if you need to).
     
  30. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    85
    I think I have figured it out now how to get it work with other animations. Some problems with Unity to show the new file. Have some strange thing on the avatar:
     
  31. PyroStudios

    PyroStudios

    Joined:
    Sep 23, 2012
    Posts:
    242
    This is all awesome! thank you so much.
     
unityunity