Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice
  3. Join us on November 16th, 2023, between 1 pm and 9 pm CET for Ask the Experts Online on Discord and on Unity Discussions.
    Dismiss Notice

[Release] URG! The ultimate ragdoll generator

Discussion in 'Assets and Asset Store' started by The-Arc-Games, Oct 9, 2011.

  1. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Thank you for the appreciation. We use it a lot ourselves :D
     
  2. MoiLoy

    MoiLoy

    Joined:
    Nov 1, 2013
    Posts:
    1
    Last edited: Mar 19, 2016
  3. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Hi and thanks for contacting us.
    URG! uses a proportional skeleton system to determine collider sizes for the ragdoll, based on human medical data.
    Leg bone size is based on the shoulders so it seems that your leg colliders are thin because the character is armless.

    To create a proper ragdoll, navigate the character spine, select the neck, drop it on the source slot of URG window, and use the "create fake limbs" function.
    This will create two empty gameobjects to the left and right of the selected source.

    By creating a new ragdoll with these two fake shoulders, your ragdoll bones should have a better width.
    You can safely delete the fake limbs once your ragdoll is complete.

    Please get back to us if you still have issues.
     
    theANMATOR2b likes this.
  4. HakJak

    HakJak

    Joined:
    Dec 2, 2014
    Posts:
    192
    What would cause the dismemberator to sometimes not fill in a gap when parts are separated? (Sent you a message with more specifics on this too)
     
  5. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Thanks for contacting us.
    We're looking at the issue you pointed out.
    Missing patches are normally due to an open loop in the model (for example if you cut a bone that has no vertices weighted).
    Looking at the dismemberation process messages, you'll see if a particular bone is properly indexed. If it's not, cutting it will produce an open gap.
     
  6. donov

    donov

    Joined:
    Apr 15, 2013
    Posts:
    55
    hey is this project still alive?
    I see there is a script to dismember limbs and it procedurally closes the gaps, but is there a way I can use pre modeled stuff for the body limb ends when hacked off
     
  7. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    URG! is alive and well, yes.

    You can easily use pre modeled assets to create cut parts since the dismember methods return an object reference to the part that was cut. With this you can easily spawn any prefab / gameobject along the cut.
     
  8. beowulfkaine

    beowulfkaine

    Joined:
    Apr 3, 2014
    Posts:
    185
    Hello! I'm having an issue that I can't explain. When I use the default settings on this model, the colliders are completely wrong. This is an iclone character exported as a single mesh. Here is what I get:



    Any ideas what I'm doing wrong?
     
  9. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Hi and thanks for using URG!

    From the image it looks like the ragdoll was built on RIG bones rather than armature.
    Could it be that you exported the rig together with the model? The rig bones should not be exported, mainly for performance reasons.
    Another possibility is that there are multiple mesh renderers. In this case, it's normally enough to choose the ragdoll source deeper into the game model tree. Check out the first moments of the following video:


    Please get back to us if the issue persists.
     
  10. beowulfkaine

    beowulfkaine

    Joined:
    Apr 3, 2014
    Posts:
    185

    Hello! Sorry for the late response, but work keeps me pretty busy. I did try the video method as you suggested, but it seems I still may be doing something wrong. Here is the model I am using, my game is based off of iClone models so I hope they are compatible.

    https://www.dropbox.com/s/sqevr83kfc92m2u/TempAvatar.fbx?dl=0
     
  11. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Quick reply: Iclone 6 seems to be doing something very wrong with their armature. It sounds kind of odd for what's certainly a well known product, but it's a very real thing.
    Their armature is awful. It doesn't simply follow the most standard and well established game character armature rules, that are respected by other equally important 3d character creation programs. In simple words, an armature must resemble a human skeleton, or a humanoid skeleton at least. All bones have a hierarchy, and are interconnected. There's no "floating" bones in a humanoid skeleton.
    In iclone 6 armature this is not true. There's certainly very good Iclone-specific reasons for this and we aren't commenting on the software per-se, but in regards to game-character armatures, the result is not good nor optimal.

    This said, we are working on a new URG! version and should be able to include their absurd armature logic into a new exploration rule for URG! so please hang on for a while and you'll be able to ragdoll your Iclone models as you did in the past.
     
    theANMATOR2b likes this.
  12. beowulfkaine

    beowulfkaine

    Joined:
    Apr 3, 2014
    Posts:
    185

    That sounds fantastic thank again, can't wait for this!!
     
  13. Hazneliel

    Hazneliel

    Joined:
    Nov 14, 2013
    Posts:
    303
    Hello, Im trying to find a support email but I dont see it anywhere, also the Documentation page just shows empty.
    Im trying to know how can I use this asset with Morph 3D characters or Daz Genesis Characters. It even works with those?

    Thank you
     
  14. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Hi and thanks for contacting us.
    We've just checked and you're right, we'll fix the docs page asap.

    The support e-mail can be found in the ___U_r_g_README file in all URG! versions. Documentation is in the ___U_r_g_REFERENCE instead.

    Regarding your question: last time we checked both software exports worked fine with URG! but this was more than a year ago. Let us re-check and get back to you.
     
  15. Hazneliel

    Hazneliel

    Joined:
    Nov 14, 2013
    Posts:
    303
    Thank you, I still haven't purchased your asset, I will get it if it will let me do that, I have been looking for this solution for some time. Let me know when you know something. Thank you
     
  16. beowulfkaine

    beowulfkaine

    Joined:
    Apr 3, 2014
    Posts:
    185
    Just wondering if there have been any new developments with adding iClone bone structure to the new update?
     
  17. beowulfkaine

    beowulfkaine

    Joined:
    Apr 3, 2014
    Posts:
    185
    The bone structure is different but I was told they would work on a Workaround for Das Characters and iClone characters
     
  18. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Hi and thanks for getting back to us. We're on the final rounds of testing the release and we've actually included iclone support. We're still working on it because some models are still unsolvable and we're adding new ragdoll rules along the way.

    @Hazneliel
    By the way, we've tried MCS characters and they ragdoll fine.
    DAZ characters also ragdoll fine but they require manual limb compression for now. This is a 12 click operation that's performed in less than 2 minutes though (NOTE: daz needs "merge clothing into figure", and "morphs" options selected on fbx export).
     
    Last edited: Nov 1, 2016
  19. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    We're in pre release clean up.
     
  20. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    It took a while because we crammed some user request polishes by the last minute, but we're in release now.
    We count that URG! 5.4 will be available by the end of the week at most.

    EDIT: we wanted to inform that there was a slight delay because of a showstopper bug with daz characters and foot encoding. We're sorry for this and we're dealing with the issue right now.

    EDIT2: we've sorted all daz issues and will be publishing the new versions right away.
     
    Last edited: Dec 2, 2016
  21. Skyfly

    Skyfly

    Joined:
    Jan 25, 2014
    Posts:
    110
    Can URG rig custom setups? I have a very large dinosaur like creature (4 legs, jawbone) und non standard bone structure (2 knees).
     
  22. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Hi and thanks for contacting us.
    URG! uses a variable limit to tell it how 'long' is a limb, so extending such limit in the options will normally produce ragdoll parts for all connected body parts.

    You probably should try the free version and see if your custom setup is ragdolled: if all the relevant body parts get a character joint and a rigidbody, the non free versions will add capsule colliders to them, and so you'll have a full ragdoll.
    Please note: extra arm nodes get a character joint that performs like a hand, and extra leg nodes perform like feet. With little tweaking though you should be able to get your ragdoll just right.
     
    Skyfly and theANMATOR2b like this.
  23. Shinao

    Shinao

    Joined:
    Mar 7, 2014
    Posts:
    36
    This is what I get by following the steps providing in the README : Transition to ragdoll a)
    https://gfycat.com/DeterminedScornfulDrake
    The animated character is not hidden manually when calling metgoragdoll. But even without this problem they get crazy and they want to be birds or something and fly away.

    Help ?
    Using URG FREE 5.4 version with Unity 5.5.2
     
  24. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Hi and thanks for trying URG!
    It seems that you're missing one of the steps: destruction of the original gameobject.

    From the reference:
    Code (CSharp):
    1. //...
    2. //fetch the ragdollify component
    3. clsragdollify varenemyragdollifier = varenemy.GetComponent<clsragdollify>();
    4. //call the ragdolling function: will instantiate the ragdoll prefab and copy the bone positions of the original gameobject into it
    5. varenemyragdollifier.metgoragdoll();
    6. //destroy the original gameobject
    7. Destroy(varenemy);
    8. //...
    As for the weird behavior: the free version requires that you manually add colliders to the ragdolled parts. You can easily do this manually or with few lines of code, but it'll require some manual tweaking.
    Standard and Dev URG! versions do this automatically, of course.
     
  25. Shinao

    Shinao

    Joined:
    Mar 7, 2014
    Posts:
    36
    Hm, seems like the behavior should be that it just go through the floor, not get this weird.
    The free version is not making it easy to see what we will get with the full version, too bad.
     
    Last edited: Mar 4, 2017
  26. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    What you see is not actually weird. It's just the joints becoming unstable because they don't have driving forces.
    That's the way NVIDIA's PHYSIX work, basically.

    Once you provide colliders your results will be very evident.

    That's why we offer a showcase: all the models in it are ragdolled using URG!

    In the free version a bit of work is required to get the ragdolls going. Please consider that all the physical elements are installed and configured, and you only need to install colliders.

    It's honestly a small requirement considered the work it'd require to obtain the same result manually, or with other tools.
     
    Last edited: Mar 8, 2017
  27. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    Where is the user manual? The link provided is blank.
     
  28. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    I'm using the standard version dismemberator and all the limbs are just stretching when being dismembered. I'm using a mixamo rig.
     
  29. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Hi and thanks for using URG!
    Regarding the manual, can you please tell us what link you used? The manual is a file currently called "___U_r_g_REFERENCE" and you can find it inside the asset folder.

    Regarding the dismemberator issue: can you tell us if the model has multiple skinned mesh renderers? There's a recent user report of one such model and we're currently working on a fix.
     
  30. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    Thanks I found the reference.
    Yes the model has multiple skinned mesh renderers. I thought when I ran the dismemberator it turned the model into 1 mesh like your ratman.
     
  31. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    We're currently working on a fix for that multi-mesh issue. The 'problem' originates in the fact that the body itself is divided into different skinned meshes. Until now, mixamo produced a single-mesh body, like all other current model-generating programs.

    We'll keep you updated.
     
  32. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    Ok thanks. That sounds like it will be a big update might take a while. I know mixamo is real popular so it would be great if your tool could do that.
     
  33. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    Hey I just updated to Unity 5.6 yesterday and now the dismemberator tester scene is not working. Theres nothing in the scene except the main camera.
     
  34. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    Actually I might have changed something in the scene and accidentally saved it, I really don't know. But I have deleted urg and re-imported but its still the same. Shouldn't that re-install the original scene?
     
  35. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Thanks for your understanding. There's actually few assets that do mesh merging by the book and we aim at the best result possible to keep ragdolls and dismemberation functional. It's actually taking longer than we expected but we're at a good state of development.

    Regarding the tester scene issue, could it be that your project got altered somehow? We were unable to reproduce the issue after updating.

    Please create a new project and import URG! there. If that works:
    - Close Unity
    - Make a full backup of your project
    - Copy the URG! folder from the new project into your project, overwriting all files
    - Restart Unity and see if the tester scene works correctly.

    If this fails, please send us the log of your main project to see what might be causing issues.
     
  36. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    Thanks for the help, it works in a new project, I'll find whats wrong in my main project.
     
  37. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    Hi
    I am getting the error on every bone and model I try:
    Cannot separate unindexed bone: make sure that the bone is physical (it has a collider and rigidbody), and that there are vertices skinned into it. If these aren't the case, this bone can't be separated.
    The gameObject with the skinned mesh renderer is the one to be added to the top slot in the dismemberator right?
    Does that object need to be at the top of all the colliders?
     
  38. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Sorry for the late reply: the 'wicked' mixamo models that show this behavior you describe are actually non-compliant with Unity guidelines, since they 'split' the skinned vertices for the same armature into multiple skinned mesh renderers.

    This is honestly wrong under more than one aspect in terms of 3d game model design, but we're working to allow URG! and its utilities to still work properly under these circumstances.

    You will notice that mesh merging is an utility per-se in the asset store, our objective is to integrate it into URG! and we're nearing this result.
    As per the dismember function, which equals current slicer utilities in the asset store, we'll implement mesh merging as just another URG! feature.

    Regarding your question, URG! tries to automatically determine the 'source' (the gameObject with the skinned mesh renderer) but wicked MM models have multiple of these, so a couple of models we tested are actually unsolvable.
    The message 'Cannot separate unindexed bone' means that the bone you're trying to detach is skinned to a secondary skinned mesh renderer: with the current release, the Dismemberator uses only one SKM, and if the bone is not skinned under that one SKM, the bone results unindexed.

    We're sorry but you'll have to wait until the next release to be able to properly dismember wicked MM models.

    Thanks for your patience.
     
  39. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    Ok I've been searching for models composed of 1 mesh and still having trouble.
    For example this free model:
    https://www.assetstore.unity3d.com/en/#!/content/52064
    Its 1 mesh, it ragdolls perfectly, and I got it to dismember perfectly.

    But this free one:
    https://www.assetstore.unity3d.com/en/#!/content/45805
    Also composed of only 1 mesh, it ragdolls perfectly, but when I add the dismemberator I get the "cant seperate the indexed bone" on every body part.
     
  40. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Hi and thanks for your feedback.
    Morph 3d models use multiple meshes, for the Level of Detail slider, and for the resulting character model (you can clearly see this for example by removing the 'Character manager' script from the root gameobject).

    To achieve at least a partially working dismember, we deleted del LOD0, LOD1 and LOD2 meshes (the ones with the most triangles) and so the D algorithm completed rapidly.
    Unfortunately though, the actual body mesh is separated from the accessories, since the Morph 3d tool doesn't actually merge their 'component's into a single mesh.

    This is a typical use-case for our incoming mesh merge feature.
     
  41. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    Thanks, I understand better now. I found some more models that work with it. Its an amazing tool if you can find the correct meshes.
     
  42. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    You should see it the other way around: Unity (like all other professional engines) has guidelines regarding 3d game model making, regarding best practices for good 3d performance.
    When a 3d model has too many triangles, it's not good.
    When a 3d model has more than one mesh renderer, it's not good. You usually have more than one renderer when the 3d designer is "lazy".

    Sadly as of lately 3d model makers are getting lazy so we've seen a surge in these kind of wicked 3d game models.
    We're actually adding an URG! feature to fix 3d model makers laziness! Plus keep in mind that this only affects dismembering right now.
     
  43. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    How do I AddForce to the body part once dismembered?
     
  44. kblood

    kblood

    Joined:
    Jun 20, 2012
    Posts:
    92
    I guess I have been unlucky with my models so far or something, because I cannot make anything into ragdolls without getting an error like this:

    There is no spine derivate that resembles the shoulders. Unable to fine-tune the arms joints and weights.
    Try doubling the bone vertical tolerance parameter.
    UnityEngine.Debug:LogError(Object, Object)
    U_r_g.U_r_g:metprint(String, Int32, Object)
    U_r_g.U_r_g:metnormalizebonesmatrix()
    U_r_g.U_r_g:metcreateragdoll()
    U_r_g.U_r_g:OnGUI()
    UnityEditor.HostView:OnGUI()

    And part of the character model will not get colliders and joints. Seems its usually something to do with the spine, I have noticed that most of the example models seem to only have 2 spine bones, instead of hips, chest and upper chest. But adjusting values does not seem to help much either.

    Any tips on what adjustments to make, because I have tried on several Mixamo characters and several other characters I have, but either arms or legs or both do not become part of the ragdoll, even though in Unity it sees all the bones just fine.
     
  45. MathewHI

    MathewHI

    Joined:
    Mar 29, 2016
    Posts:
    501
    I figured out how to AddForce to the body parts. I added a gameobject with a script to the Vergamparticlechild.
     
  46. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Good! Also keep in mind that the two main calls for the dismember function return the actual transform root of the separated game object:

    For example, in the demo scene there's the zombie dismember function in the clsShowCaseHelper script:
    Code (CSharp):
    1. Transform varcurrentcut = clsurgutils.metdismemberpart(varzombiebodies[Random.Range(2, varzombiebodies.Length)].transform, varD.vargamstumpmaterial, varD, null, null, true, varlastcut);
    This line of code dismembers one random zombie bodypart, and returns it into varcurrentcut.

    You can literally do as you please with varcurrentcut afterwards so for example adding force to it is as easy as getting its rigidbody and using addforce!
     
  47. The-Arc-Games

    The-Arc-Games

    Joined:
    Oct 3, 2011
    Posts:
    225
    Hi and thanks for using URG!
    This looks like a ragdoll source problem. Have you tried going down into the model tree as a source for URG?
    Perhaps URG auto selection of the root picks the wrong source, so try doing it manually and specifying the host of the main skinned mesh renderer, and let us know how it goes.
     
  48. kblood

    kblood

    Joined:
    Jun 20, 2012
    Posts:
    92
    I am not exactly sure what I am looking for. Maybe the part of the mesh file that has the skinned renderer? Or in these cases, its more than one. Or is it the root that it needs? I will try a bit of both.
     
  49. kblood

    kblood

    Joined:
    Jun 20, 2012
    Posts:
    92
    I tested several of the models in this project, and I did find one zombie I could get this working on. It was the one that was working more than any of the others before. One difference between this zombie and the other zombie characters, is that this one is an older Mixamo model, so it only has one skinned mesh renderer. Not sure if that is why.

    So what helped was taking this characters root into the URG! UI rather than the parent transform I am using to make the whole character animated, give it AI and such.

    Does seem like its pretty standard today, for models to have several skinned mesh renderers as you mentioned earlier. In my tweaking of the settings, I reduced the neck bone count to zero, that helped with the head, and I had to put the vertical bone tension limit back to 0.04, I had tried setting it up to 0.08 and then 0.16 while testing settings, but after doing this to the root instead I had to set it back down to 0.04, but I think 0.08 could also have worked.
     
  50. kblood

    kblood

    Joined:
    Jun 20, 2012
    Posts:
    92
    Would be useful with some kind of UI to debug with, like Unity's humanoid configurator. Something that would show with graphics, how URG sees the character.