Search Unity

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

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

  1. UnityRocksAlt

    UnityRocksAlt

    Joined:
    Dec 28, 2015
    Posts:
    157
    It doesn't work
     
  2. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Can you share an image of your hierarchy - so I can understand what the issue is?
     
  3. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,325
    what's the API like to skin at runtime?
     
  4. PolygonPros

    PolygonPros

    Joined:
    Apr 11, 2020
    Posts:
    34
    Hi, I would like to do exactly this! Take an already rigged character, and add additional bones to it (such as a pony tail), and weight the pony tail verts to the newly created bones (they're currently weighted to the head bone.)

    Is there already a tutorial video or written description of how to add extra bones to already skinned characters for this kind of purpose?
     
  5. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    No, but here are the steps:
    1. Add the Bone component to all the bones.
    2. Duplicate the skinned gameObject and click "Detach Skin".
    3. Select Mesh (From the MeshFilter) duplicate it and assign it to this meshfilter.
    4. Now select it with all the bones including the new bones (pony tail ones) and click Bind Smooth Skin.
    5. Now select the old mesh followed by the new one and click "Transfer weights"
    6. Now you will be able to paint the weights of the new bones onto your character.
    (Steps 5 & 6 allow you to maintain the previous skin weights - for ease you may just want to skip the last 2 steps if the default weights come well for you)
     
    fordtimelord and PolygonPros like this.
  6. TabArtwork

    TabArtwork

    Joined:
    Jun 9, 2020
    Posts:
    7
    upload_2023-2-17_15-46-46.png
    I'm getting an error whenever I try to export the skin and bones.
    Any ideas how I can get the skin to export correctly?
     
  7. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    What are you selecting when you click the button?
    (As a workaround - you can also use the Unity FBX Exporter to do this btw )
     
  8. bvonline

    bvonline

    Joined:
    Feb 27, 2021
    Posts:
    85
    Tail Animator (https://assetstore.unity.com/packages/tools/animation/tail-animator-121819) uses bones to create automatic tail animations. To do this, the tail animator component has to be added to the first bone in a hierarchy. Why doesn't it work when i add it to the bones? I skinned the model correctly and it works with the unity animation system. But somehow the tail animation doesn't work, although the tail animation itself is working on the exported Skin & Bones - here, I did not export the Skin & Bones on the tested object. Any reason for that problem?

    upload_2023-4-24_17-31-13.png

    Note: this is just an example image. On the exported object it shows up the tail (green bones), but as described below, the exported object can't be seen, which is mixed here with the unexported rigged object just to see both rigged objects.

    Also, I noticed, when I export the Skin & Bones without editing / adding wheights, Unity says, i can not use the Mesh Skinned Renderer, I have to use the mesh renderer. When i use the mesh renderer on the exported object, I can't see anything of the mesh (it is not visible).

    Both "issues" in Unity 2020.3.x URP.
     

    Attached Files:

  9. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Before export you have the spline controls which are stopping the tail animator stuff from working on the skinned bones. If you're not really using the spline controls, I would suggest just deleting them (find the root group of the spline controls and delete this - also check the spline controls are removed from the global control)

    I need to look into the export Skin & Bones issues. Actually since making the export skin & bones was made Unity improved the fbx exporter, so its worth trying that out instead.
     
  10. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    114
    What must I do to use another animations from other humans on this ? I have tried to replase the animations in the animation controller with other, but nothing happen. I think I do it some years ago, but no I can not remember what I do.
     
  11. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Firstly you will need to export your character out (either using the export Skin&Bones button, or using Unity's FBX exporter). Then you will be able to set the exported character as a humanoid rig which will be able to use other humanoid animations.
     
  12. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    114
    I try the Skin & Bones, but I can not see where it is exported to ? My model was in A-pose, so I do not know if it can be corrected ? I see that it created something, can not see what it is . Skjermbilde (908).png Skjermbilde (909).png
     

    Attached Files:

    Last edited: Jun 6, 2023
  13. bthanse

    bthanse

    Joined:
    Jun 24, 2019
    Posts:
    114
    It looks like I have got it working. Had to replace the mesh.
     
    jamieniman likes this.
  14. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    If you rig it in the A-pose and want it to work with "control" animations made in a T-pose - you can take the hand IK control parent groups and adjust it into a t-pose. This will mean all the t-pose animations will work without the arms moving into the body like that.
     
  15. MikeMihe

    MikeMihe

    Joined:
    May 24, 2013
    Posts:
    1
    Please describe what I need to do. What I need to pick on scene for export. Absolutely nothing happend when I try this.
    As result I have 1 polygon broken mesh
     
    Last edited: Jun 27, 2023
  16. ina

    ina

    Joined:
    Nov 15, 2010
    Posts:
    1,084
    do you know if clothing rigging/skinning can be done at runtime, or automated from knowing the base biped?
     
  17. metaphysician

    metaphysician

    Joined:
    May 29, 2012
    Posts:
    190
    hi there - just purchased this and i'm on Unity 2022. i tried the autorig feature but i'm not getting anywhere. i placed the guides, selected my skinned mesh, clicked autorig, the rig was instantly generated and the Global_CTRL items and the skeleton are visible. however nothing is bound to the model. the armature is not deforming the mesh. any help appreciated! i followed the video directions but so far Auto Rig isn't working. i've tried three times so far.

    PS - figure came from Blender so it was in A pose. also i'm doing this from a blend file, but it has no armature and no prior vertex groups. i set import at a scale of 10 since that seems to work better for the controls size, but in the scene scale is set to 1,1,1.

    UPDATE: i tried this in Unity 2019.4.38 LTS and it does seem to work better, as it did actually result in a mesh with a deforming armature. but the skinning part did not go well and the mesh was severely distorted on the head. it is a pretty high poly mesh, but still. i did notice the guide points working a bit better though there was no way to move them on the Z axis - it seemed that instead it autodetected the original mesh better and automatically moved the guide points inside the mesh on the Z axis. my head bone guide point was placed a bit lower, just a bit above the neck so maybe i should have placed it higher up?

    at any rate, it definitely does not seem to work with Unity 2022 as far as i can tell.
     
    Last edited: Aug 13, 2023
  18. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
  19. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Puppet3D has been made as an editor tool. The code is open, so you could theoretically expose the skinning functions and use it runtime.
     
  20. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Ideally none of your meshes will be above 60k vertices for Puppet3D to handle them well.

    Otherwise you need to set the Index format of the model to 16 bits (in the import settings) but this will split up your mesh arbitrarily
    upload_2023-8-22_13-30-6.png
     
  21. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    96
    Can you address again why the arms and everything keep getting flipped around? I followed the instructions in the walkthrough and the animations are still getting messed up.

    IMB_c3IzNI.gif
     
  22. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Your character should be looking down the Z axis when you rig it. (You're character is -z)
    Also the character should be in a Tpose for best results
     
    Mark_01 likes this.
  23. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    96
    When you say “looking down the Z axis” can you just specify the proper transforms instead? I’ve tried Y rotation of 90° and -90° and both times the arms were still flipped around backwards. How come this tool doesn’t automatically align the object we’re trying to rig?
     
  24. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    I would need to know what way you're character is facing to give you exact transforms.
    What I probably wasn't being clear about in the last reply was you need to have him looking in the forward direction of the ZAxis - so if you look at the guide in the top right corner of the scene view - he should be pointing in the same direction as the blue arrow:
    upload_2023-12-3_19-45-30.png
    Now if you create the "Autorig" guides when he is facing this direction it should rig him correctly.
     
  25. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    96
    Yeah it’s still not clear at all. Because it can be going any which direction and still be considered facing down the Z Direction. There’s too many different ways to get turned around. It needs to be less confusing.
     
  26. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    96
    This is the result I’m getting every time.

    IMB_Q8oBKn.gif
     
  27. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Can you send me a grab of the character in its "T-Pose" with the guides (before clicking "AUTORIG")
     
  28. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    96
    At one point the whole mesh went missing and when I reattached it the rig started walking away without the mesh. I’ve tried rigging it every which way. Also is there something wrong with the animations you included?

    IMB_u58K5R.gif
     
  29. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    Not sure why that happened - but I can see from your last gif something - your character was in an A-Pose. But it should be in a T-pose. This would explain why the arms didn't work.
    If you would rather not re-model the character there is a workaround - what you do is move the handR_CTRL_GRP and handL_CTRL_GRP so the character is in a T-pose. This should get the hands working.

    Also another thing I recommend when you place the guides always keep a little bend at the elbow and knee (so the pole_CTRLs can be place correctly)

    Hope that helps.
    (BTW If you want, send me your character and I could do a little video of me rigging it to show you - puppet3dunity@gmail.com )
     
    Mark_01 likes this.
  30. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    96
    I just think it needs to be a little more fail proof than this.. It’s a little ambiguous about which way the character should be facing, whether it’s the character’s right hand or the hand on the right when it’s facing me that I should be lining the guides up with. I tried moving it to T-Pose like you said, but it’s still not going well. This obviously is a bit better than Unity’s provided Animation Rigging solution, but I’m kinda ready for some sort of magical AI rigging experience by now that’s a bit easier to use.

    Image 12-6-23 at 12.59 AM.jpeg
    IMB_hREGPM.gif
     
  31. ina

    ina

    Joined:
    Nov 15, 2010
    Posts:
    1,084
    hey! can this be used for converting blendshapes to bone animations?
     
  32. jeromeWork

    jeromeWork

    Joined:
    Sep 1, 2015
    Posts:
    429
    Hi @jamieniman I've successfully added additional bones (fingers) to a character. Skinning's gone well and I can rotate all the bones (including the new ones) and the skinned mesh deforms as expected. I can play a humanoid animation clip (mocap) on an animator component and the character moves but not the fingers. I guess this is because the Avatar on the Animator is still pointing to the old FBX. If I try to configure it I get an error in the editor:
    Code (CSharp):
    1. IndexOutOfRangeException: Index was outside the bounds of the array.
    2. UnityEditor.AvatarSetupTool.GetModelBones (UnityEngine.Transform root, System.Boolean includeAll, UnityEditor.AvatarSetupTool+BoneWrapper[] humanBones) (at <11d97693183d4a6bb35c29ae7882c66b>:0)
    3. UnityEditor.AvatarEditor.SwitchToEditMode () (at <11d97693183d4a6bb35c29ae7882c66b>:0)
    4. UnityEditor.AvatarEditor.EditButtonGUI () (at <11d97693183d4a6bb35c29ae7882c66b>:0)
    5. UnityEditor.AvatarEditor.OnInspectorGUI () (at <11d97693183d4a6bb35c29ae7882c66b>:0)
    6. UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <b0f293012f4f4a13b3c5a7dc37df7ba8>:0)
    7. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
    8.  
    and nothing appears in the Avatar editor scene view, no mesh, no bones. The hierarchy shows the gameObjects, but the skeleton is just the old one, the new bones aren't listed.

    I've tried using FBXExporter but the file that's generated doesn't output a skinned mesh, just a mesh renderer (even though I do have Model & Animation ticked as well as the 'Skinned Mesh' option.

    How would I go about giving this character a new Avatar so I can play humanoid animation clips that make use of the full skeleton (including the new bones)?
     
  33. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    • Have you tried the "Export Skin & Bones" is that working for you?
    • When you tried the FBX Exporter, did you select the bones with the mesh when exporting?
     
  34. jeromeWork

    jeromeWork

    Joined:
    Sep 1, 2015
    Posts:
    429
    Thanks for getting back to me about this. Just tried FBXExporter again, making sure that everything was selected, not just the parent root in the hierachy, and oddly, still the same. I get the animations included in the FBX but the mesh is not a SkinnedMesh. Must be a Unity bug of some sort.
    I did use Export Skin & Bones after posting and got a bit further down towards what i needed. Thanks for the suggestion, I think that's the way to go. Annoyingly I then realised my finger bone rotations and the automatic weight painting were a bit off and I would need to start again so have left things for now. Was having glitches with the manual weight painting (deleting vertex weights isn't happening for me) and I'm working to a deadline. Will come back to this when I can.
     
  35. jamieniman

    jamieniman

    Joined:
    Jan 7, 2013
    Posts:
    987
    When it comes to weight painting you should almost always avoid remove weights from a bone. The reason for this is you are not controlling where the weight is going (it always has to go somewhere) this leads Puppet3D to transfer the weights to another bone - which may not be the bone you'd want.
    The best way to paint weights is to add the weights to the bones you want
     
  36. jeromeWork

    jeromeWork

    Joined:
    Sep 1, 2015
    Posts:
    429
    Thank you, that's really helpful and makes total sense of what was happening.