Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

Discussion in 'Assets and Asset Store' started by FernandoRibeiro, Dec 24, 2013.

  1. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    The license only needs to accompany any source code. You are free to use UMA's in your game without credit, payments or additional licenses. Have fun.
     
    hopeful likes this.
  2. chorst_genies

    chorst_genies

    Joined:
    Jun 3, 2020
    Posts:
    7
    Hello! We are developing some high fidelity race rigs that rely on 16 weights per vertex. Unfortunately it looks like UMA's slot data assets and slot builder can only support a max of 4 weights per vertex.

    Is there way to build an UMA Race skinned with more than 4 weights per vertex?

    If not, is there a way around this limitation, is support for this planned in the future?

    Thanks in advance!
     

    Attached Files:

  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Currently, it's limited to 4. It's on the roadmap to support more. Currently UMA still supports unity 2018.4 as a minimum version. When we move to use 2019.4 as the minimum version, we will bring this in and support it.
     
    chorst_genies and HighKeys like this.
  4. HighKeys

    HighKeys

    Joined:
    Jan 6, 2016
    Posts:
    29

    Yea sure got it though the asset store window in unity.

    https://gyazo.com/ebcbb58c3d635a0e5d096d6a5942839b

    this is the racees from the Global Library, what i did wrong?
     
  5. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Please run the option to "Rebuild from project" on the file menu (on the global library menu). After doing that, open the "base race recipe" for the race, and make sure that there are no errors.
     
    HighKeys likes this.
  6. HighKeys

    HighKeys

    Joined:
    Jan 6, 2016
    Posts:
    29

    Hi,

    i made rebuild from project again, still the same errors, do you mean this with "base race recipe"?


    https://gyazo.com/55e6f5ed62058300a5c5aca59294e850
     
  7. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No, I mean the one in the base race recipe field -- "HumanMaleDCS Base Race Recipe".
    Can you post the error that you are getting, along with the call stack (stacktrace)?

    The normal debug log should have the stack trace. But if you need to, you can update the SetActiveRace function on the DynamicCharacterAvatar to look like this:

    Code (csharp):
    1.  
    2.         void SetActiveRace()
    3.         {
    4.             try
    5.             {
    6.                 if (activeRace.name == "" || activeRace.name == "None Set")
    7.                 {
    8.                     activeRace.data = null;
    9.                     if (Debug.isDebugBuild)
    10.                         Debug.LogWarning("No activeRace set. Aborting build");
    11.                     return;
    12.                 }
    13.                 //ImportSettingsCO might have changed the activeRace.name so we may still need to change the actual racedata if activeRace.racedata.raceName is different
    14.                 if (activeRace.data != null && activeRace.name == activeRace.racedata.raceName)
    15.                 {
    16.                     activeRace.name = activeRace.racedata.raceName;
    17.                     umaRecipe = activeRace.racedata.baseRaceRecipe;
    18.                 }
    19.                 //otherwise...
    20.                 else if (activeRace.name != "")
    21.                 {
    22.                     activeRace.data = context.GetRace(activeRace.name);
    23.                     if (activeRace.racedata != null)
    24.                     {
    25.                         umaRecipe = activeRace.racedata.baseRaceRecipe;
    26.                     }
    27.                 }
    28.                 //if we are loading an old UMARecipe from the recipe field and the old race is not in resources the race will be null but the recipe wont be
    29.                 if (umaRecipe == null)
    30.                 {
    31.                     if (Debug.isDebugBuild)
    32.                         Debug.LogWarning("[SetActiveRace] could not find baseRaceRecipe for the race " + activeRace.name + ". Have you set one in the raceData?");
    33.                 }
    34.             }
    35.             catch (Exception ex)
    36.             {
    37.                 Debug.LogError(ex.Message+Environment.NewLine+ex.StackTrace);
    38.             }
    39.         }
    40.  
    Once you have the call stack, find the line it blew up on in the SetActiveRace function, and paste it in a reply, so I can see what it's complaining about.

     
    HighKeys likes this.
  8. colpolstudios

    colpolstudios

    Joined:
    Nov 2, 2011
    Posts:
    150
    Hi, I have been playing around with the UMA DCS Tool and the DNA Converter scene.

    But is there a way to save the changes that we make?

    There is another scene that shows you how to load and save the DNA, but how would you go about saving the wardrobe items?

    Can we save everthing to a prefab?
     
  9. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Currently, you can save a prefab using this method:

    http://umadocs.secretanorak.com/doku.php?id=knowledgebase:creating_a_customizable_prefab

    Next release will allow you to simply make changes and generate the UMA in the editor.
     
    colpolstudios likes this.
  10. HighKeys

    HighKeys

    Joined:
    Jan 6, 2016
    Posts:
    29

    Hi,

    Thanks for your help, it didnt found the UMA Context in scene cause i added a Parent to UMA DCS, if DCS is directly in scene it works.

    Is there a way to get it under a parent?
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    In 2.10, you should use UMA_GLIB instead of UMA_DCS, and it shouldn't have to be in the root.
    Otherwise, I'm not sure what is going on, but not surprised that UMA_DCS doesn't work in some cases. It's deprecated in 2.10.


     
    HighKeys likes this.
  12. michaelday008

    michaelday008

    Joined:
    Mar 29, 2019
    Posts:
    135
    Edit: Figured it out. Leaving this for search engines.

    Question:

    I already asked this question on Discord, but because I searched this thread without finding the text for my error, I'm posting this for search engines and other humans that may be having this issue.

    I just upgraded from UMA 2.9 to 2.10.1 and suddenly my project is full of these errors and I'm not sure how to fix them.

    Answer:
    UMA directory structure has changed and Unity does not remove an old script on Import so you have to two UMA scripts that both try to implement UMAContext with a different base class.

    Solution:
    Delete your entire UMA directory and re-import the whole package.


    Assets\UMA\Core\StandardAssets\UMA\Scripts\UMAContext.cs(259,24): error CS0115: 'UMAContext.HasOverlay(int)': no suitable method found to override


    upload_2020-10-24_17-6-59.png
     
    Last edited: Oct 25, 2020
    Jaimi likes this.
  13. HighKeys

    HighKeys

    Joined:
    Jan 6, 2016
    Posts:
    29
    Ok thanks!

    OK i thought i still can use DCS cause it was in the Getted Started folder, my fault. I followed the upgrade Doc, but it dont add all items from the library to the addressable package.

    https://gyazo.com/b5f4bf6e65781990feff4cc6edda8278

    Thank you for your help!
     
  14. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    By default, it only adds slots and overlays (and their textures) to the addressables groups. This is because they are the items that consume memory. Adding anything else to addressables will require that you manage them programatically.

    But, Let me clear something up.

    Using UMA_GLIB does not actually require you to use addressables if you don't want to use them. There are advantages to using them (faster initial loading, and much less memory usage). And disadvantages (Headaches of managing the bundles - rebuilding when changes occur. and items are loaded asynchronously when used, so there might be a longer delay when building characters).
     
  15. DLeb

    DLeb

    Joined:
    Feb 13, 2019
    Posts:
    10
    Guys, it may be out of topic and evident for expirienced users, but I have to say:
    If you see flickering or disappearing of some clothes on avatar when changing camera position/rotation or removing clothes from wardrobe slot via script/editor window - try to tick Update When Offscreen checkbox in your UMARendererComponent. I had the problem with flickering and this thing helped me out.
     
    hopeful likes this.
  16. nicholasgallimore

    nicholasgallimore

    Joined:
    Jul 16, 2020
    Posts:
    3
    @Jaimi we're still having problems with loading UMA characters on Android. We are on 1.2.10 and I just installed Addressables, enabled them. Not sure what to do from there. Also we switched to use the GLIB. It took 13.5 seconds to load the scene with UMA. When we switch the race to O3N_Male it takes over 20 seconds and times out. I am not sure what the Addressables box is for (next to resx) in the Global Library Window. Am I using addressables correctly?
     
  17. colpolstudios

    colpolstudios

    Joined:
    Nov 2, 2011
    Posts:
    150
    Hi, in the UMA DCS Tool and the DNA Converter scene you can change the skin colours and there are lots to choose from, but how is it doing this?

    What actually is happening, if I change the skin colour?

    Would these changes be saved if I was to create a prefab?
     
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    The "ADR" column shows if an item is in an addressable group. Items get assigned to a group when you run the "single group generator". These items are added to asset bundles when you build the bundles in the Addressables Groups window (all of which have to be done before generating the APK).

    Performance on android varies considerably. Even fast mobile devices generally are much slower than the PC. Which device are you using to test? Performance on my Galaxy Note 8 (3 year old phone) is generally good - loading in a few seconds with UMA. But that phone is probably way faster than most mid-range phones.
     
  19. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    It's just selecting the color, and saving it as a shared color on the character. Then, when the textures are generated, the shared color on the character replaces any shared colors on the overlays. They are saved along with the data in a prefab.
     
    colpolstudios likes this.
  20. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    It sounds to me like you could benefit from making a special build that has something like only one set of clothing slots and do some tests. Everyone needs to figure out their own hardware budget, basically. This would also help you understand if you are using addressables right, and how effective they are for you.

    Something you may figure out, for instance, is that you need smaller resolution textures on your clothing. Or maybe you need to develop some optimizing strategy. But if you have the right texture size, I'd think properly used addressables ought to give you the best performance.
     
  21. lobotomista

    lobotomista

    Joined:
    Jul 21, 2018
    Posts:
    39
  22. starshipunity

    starshipunity

    Joined:
    Feb 24, 2017
    Posts:
    1
    Is anyone a champ at integrating UMA with Ultimate Character Controller (UCC), with URP for first person and third person controller? When running Opsive's UMA Character Builder Script, I am unable to use UMA Render Assets to hide body parts, which will be needed for the First Person View of our game (i.e. hiding the head and maybe arms later on.) My guess is that it is not an UMA issue, but an issue with UCC creating its own render of the character model. This makes it so UMA does its business on the meshes it knows about, but it can't do anything to the UCC render mesh so we end up seeing the UCC render.
     
  23. colpolstudios

    colpolstudios

    Joined:
    Nov 2, 2011
    Posts:
    150
    When making new clothing you can create an icon, but Im struggling to find that video tutorial could someone post a link please?
     
  24. Deleted User

    Deleted User

    Guest

    We upgraded to 1.2.10 and now getting error while making a build for android using gradle. Error is " General error during class generation: The max number of supported arguments is 255, but found 547". The number of arguments in StreamingAssets under uma_shareditems_assets_uma is way too much. Is there any way to decrease this number?
     
  25. colpolstudios

    colpolstudios

    Joined:
    Nov 2, 2011
    Posts:
    150
    Hi, I have downloaded a mixamo animation, I did use the special .fbx to do this.

    But I am unsure of the correct procedure on how to set this model with animation up to be used by UMA.

    Could you please explain the steps. Thanks.
     
  26. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I have not used the UCC, but you might try asking on the discord.
     
    hopeful likes this.
  27. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I'm not sure what video it is on. But it's not too complicated. Load up the "UMA DCS Tool - Photo Booth" scene, and run it. Load your character using the UMA menu, or set the items up using the in-game GUI, and then select the "PhotoboothPrefab" object, enter the photoname, choose the destination folder, and hit the "Take photos" button.
     
  28. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    This might help you - they talk about not compressing the bundles in the StreamingAssets:

    https://www.programmersought.com/article/35445117688/

    But the number of asset bundles doesn't seem crazy. Every slot and overlay gets it's own bundle, so they can be loaded and unloaded on demand.
    You can also deliver the asset bundles from a server using the Remote Load Path setting in the addressable profile. I'm not an expert though, so I can't give you specifics beyond I've worked directly with people who have done this with UMA.
     
  29. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    UMA creates a standard mecanim humanoid avatar, so you can use animations like normal (ie, set up the tree in your animator controller, etc). You can specify the AnimatorController under the "Race Animation Controllers" dropdown in the DynamicCharacterAvatar.
     
  30. colpolstudios

    colpolstudios

    Joined:
    Nov 2, 2011
    Posts:
    150
    I imported a mixamo typing clip, created an animation controller with this clip. But when played the UMA goes through the floor and the animation is not played.

    If I take the entire model and place it into the scene and use my animator controller it works perfectly.

    I am going wrong here somehow, can you help?
     
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I would guess that the issues is physics somehow. Do you have a capsule collider on your character?
     
    colpolstudios likes this.
  32. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    UMA creates the model in real time and adds the animator component, pointing the animator at whatever animation graph you supply, plus optionally a capsule that is the correct size for the character generated.

    If you are using your own character controller, you have to get it to find UMA's animator component and either use UMA's collider (if you used the optional collider recipe), or apply collider system your controller uses to the UMA model.

    A character dropping through the floor usually has no collider, as Jaimi pointed out. The floor and the body must have colliders, otherwise gravity causes the character to fall through the floor. Basically, everything involving physics relates to colliders, not models.
     
    colpolstudios likes this.
  33. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Close the recipe, review the index and make sure the RaceData for UMABuddy is in the index (if not, add it), and then reopen the recipe. I think the problem is that it's not updating a dictionary that is caching the races, not that it's missing. If that doesn't solve it, let me know. I can simplify the code there tremendously now that the asset bundles are in the index.
     
  34. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Arteria are pleased to continue their bonus to the UMA community, please choose any one, Single pack UMA costume from the arteria3d website, email orders@arteria3d.co.uk with your selection and we will provide you with a free link

    Also, we are having an 80% discount on our UMA costumes today only as the last part of Arteria3d's 16th year in business
     
    hopeful and Jaimi like this.
  35. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    870
    So does UMA have Teen-Anime characters in there by default now?
     
  36. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No, I will have chibi-races in the next version, without buffed stomachs, etc. But they won't be anything like the anime races you want. You will need to use WillB's anime races, or make your own.
     
  37. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    UMA 2.11 Alpha 1 is up for testing.

    It has gone through heavy testing, because of the fundamental workflow changes. However, it is an Alpha, with all that entails. This was originally going to be just a bugfix release for 2.10.1, but it took on a life of it's own.

    The zip and UnityPackage are available here:

    https://github.com/umasteeringgroup/UMA/releases/tag/v2.11.a1

    If you have a few minutes, give it a try! I'd like to make this release solid. All feedback is welcome.

    The biggest changes:
    1. UMA's are now completely visible and designable in the editor. You can now create UMA's and position them, and put whatever clothing on them right in the editor. Look at the "customization" section of the DCA.
    2. Backup/Restore of the global library
    3. Wildcard slots (for matching overlays to slots based on tag or race).

    The full list follows:

    Whats new in 2.11
    DynamicCharacterAvatar
    UMA characters are now visible at edit time (can be disabled)
    Made an edit time DNA editor, combined with colors and wardrobe under "customization".
    Added UpdateBounds() function.
    Added load/save preset in the editor.
    Default colors are now white/black for the various colors on the race.
    New events: WardrobeAdded and WardrobeRemoved.
    UMAMountedItem
    New object to make mounting simpler. Add this to an object you want to make mountable. Specify the bone you want to attach it to, and any offset/rotation. Will automatically attach and process, and survive rebuilds.
    SlotData
    New: Wildcard slots. This is a type of utility slots that can be added to recipes, which allows you to place overlays onto slots (or other overlays) based on tag. So you can place an
    overlay onto a "Torso" without knowing the actual slot ID, just the tag. This allows you to reuse recipes for slots that have the same UV coordinates.
    Recipe Editor
    Can now edit slot tags in the recipe editor, and they will be specific to the recipe.
    Support for adding the race tags to match races for specific wildcard slots
    Slotbuilder
    Made blender slot rotation fixup optional.
    Global Library
    Functions (and menu items) to backup and restore the Global Library.
    Made the Build Preprocessor optional (off by default)
    Misc
    Fixed some possible warnings during overlay generation.
    Fixed race loading in editor so it does not need to instantiate the race to get slots
    Lot of minor issues where assumptions were made in code that occasionally weren't true.
    URP conversion option will convert hair to use Speedtree8 shader
    DCARendererManager
    Added option EnableRenderers to turn on/off the renderer manager for toggling between first and third person.
     
    Last edited: Nov 2, 2020
    hopeful likes this.
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Note: When UMAS are generated in the editor, they are generated in low resolution. This is simply for speed purposes. There is a section on the UMAGenerator that you can change this if you don't like that behavior.
     
  39. unity_1530229

    unity_1530229

    Joined:
    Oct 20, 2020
    Posts:
    10
    Hello, I am using UMA on Android so that the avatar that I am using increases in weight, when it reaches a certain weight the textures begin to deform. Do you know what it could be? or how could I solve it?
     
  40. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Need more information on what is wrong.
    If you mean something like the belly button elongating, etc - that can be fixed various ways. If you're talking about the normals being stretched and the lighting looking strange, that is best dealt with by using higher resolution textures.
     
  41. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    If you are talking about adjusting a belly bone, for example, to have a larger belly, you can do this with UMA. If you've already downloaded UMA (which is free) and tested it, and decided you need more weight control, then check out the UMA races from o3n, which are also free: https://assetstore.unity.com/packages/3d/characters/o3n-uma-races-stunner-jane-john-175172

    Ultimately, everybody may have different art needs, and UMA can use the art you supply. UMA is a framework for modifying characters at runtime. You can use either store bought art or make your own, but that's for you to decide.
     
    unity_1530229 likes this.
  42. unity_1530229

    unity_1530229

    Joined:
    Oct 20, 2020
    Posts:
    10
    [QUOTE = "Jaimi, publicación: 6483418, miembro: 4776"] Necesito más información sobre lo que está mal.
    Si te refieres a algo como el alargamiento del ombligo, etc., eso se puede arreglar de varias maneras. Si estás hablando de que las normales se estiran y la iluminación se ve extraña, es mejor lidiar con esto usando texturas de mayor resolución. [/ QUOTE]

    Este es el problema, así se ve después de crear el APK e instalarlo en el dispositivo.
    WhatsApp Image 2020-11-02 at 11.07.02 PM (3).jpeg
    Este es el resultado de la ejecución en el entorno UNITY y cómo debería verse:
    childBien.PNG
    Estoy usando UMA con o3n o3n_models_blender_2_7
     
  43. unity_1530229

    unity_1530229

    Joined:
    Oct 20, 2020
    Posts:
    10
    [QUOTE = "esperanzado, publicación: 6484417, miembro: 475109"] Si está hablando de ajustar un hueso del vientre, por ejemplo, para tener un vientre más grande, puede hacerlo con UMA. Si ya descargó UMA (que es gratis) y lo probó, y decidió que necesita más control de peso, consulte las carreras de UMA de o3n, que también son gratuitas: https://assetstore.unity.com/packages/ 3d / personajes / o3n-uma-carreras-aturdidor-jane-john-175172

    En última instancia, todo el mundo puede tener diferentes necesidades de arte, y UMA puede usar el arte que usted proporcione. UMA es un marco para modificar caracteres en tiempo de ejecución. Puedes usar el arte comprado en la tienda o hacer el tuyo propio, pero tú decides. [/ QUOTE]

    Es lo que estoy usando, pero esto me sucede cuando lo ejecuto en el dispositivo móvil. WhatsApp Image 2020-11-02 at 11.07.02 PM (3).jpeg

    Cuando realmente debería verse así:

    childBien.PNG
     
  44. Deleted User

    Deleted User

    Guest

    Hi, I'm using Unity 20120.1 and UMA 2.10 with Addressables. I do "Addressables -> Generators -> Generate single group", however, when analyzing the resulting addressable group is shows tons of duplicate references, mainly for the textures used. Is it safe/recommended to "auto fix" these duplicates which moves them into a "Duplicate Asset Isolation" group?
     
    Last edited by a moderator: Nov 3, 2020
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I actually tried that. What ended up happening is that the textures were included in both groups (because the overlays include them as references, making them dependencies).The best solution I found was to minimize the number of overlays that use duplicate textures.
    But feel free to try out different solutions. Items are loaded by label (and labels are created by recipe), so you'll need to make sure that everything is labelled correctly.
     
    Deleted User likes this.
  46. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Look at your quality settings. UMA requires 4 bone weights per vertex.

     
    unity_1530229 and hopeful like this.
  47. Deleted User

    Deleted User

    Guest

    Thanks Jaimi, I'll try that.

    Another question (I edited it into my previous question so you probably didn't see it)
    I am having massive issues with Gradle build time, just the addressable bundle from default uma and nothing else takes about 5 minutes to build, opposed to just 20 seconds without the bundle. If I also add o3n the build fails because it runs into a timeout after 10 minutes. I guess this isn't normal?
     
  48. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No, that seems excessive. I have no clue what to do though. Maybe check the compression settings in the bundles, and make sure you are uncompressed or use LZ4? Most of my build time is taken up building shader variants.
     
  49. MiraculousVic

    MiraculousVic

    Joined:
    Jul 27, 2019
    Posts:
    7
    Hi. I seek the way to adapt 3d human models that are generated in real time in Unity to UMA. My goal is to somehow align topology of these models to one default UMA character, so I can then change its clothes and watch it work.
    In any case, I love the passion of this project, thanks for making such useful thing exist.
     
    Jaimi likes this.
  50. justasmig

    justasmig

    Joined:
    Jul 2, 2015
    Posts:
    6
    Hey, what are the best practices to make sure character body or first layer of clothes (e.g. shirts under jackets) don't clip trough top layers? Can't seem to find any information about that, is there any way to cull, or any UMA specific workflows when making models? Thanks.