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:
    4,774
    Find the racedata in the project by typing t:racedata in the search box, then select it. In the inspector. You can edit it in the Wardrobe Slots.

    WardrobeSlots.jpg
     
    Last edited: Aug 20, 2019
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    http://umaapi.secretanorak.com/

    You could check if .context is null to see if it has already been initialized.
     
  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    I will have to take a look at the .blend to diagnose the issue.
     
  4. DeadSeraph

    DeadSeraph

    Joined:
    Sep 8, 2017
    Posts:
    68
    Thanks! Your help is appreciated :)
     
    Jaimi likes this.
  5. LarsH673

    LarsH673

    Joined:
    Mar 7, 2015
    Posts:
    13
    I still have the problem with duplicated rigs. Even if i use a new DCA with standard UMA race i get to rigs at runtime. (i generated the rig with Bone Builder, the double rig appears in runtime when i hit the play button. ) my Animators arent working anymore, so i cant work on my project until the bug is fixed, please help this is a big problem for me.
    DCA2.jpg
     
  6. DeadSeraph

    DeadSeraph

    Joined:
    Sep 8, 2017
    Posts:
    68
    Quick question: Are the fbx files for the females hair located anywhere? I can't seem to find them in any of the sub folders for UMA?
     
  7. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    Not in the main download, but I believe they are in the content pack here:

    https://github.com/umasteeringgroup/content-pack

    edit: I believe only the ones that Will B contributed are in there. The early ones are not.
     
    DeadSeraph likes this.
  8. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    UMA 2.8.5 RC 1 released

    Renderer Manager
    - allow you to specify visibility, shadows of specific model parts.
    Render Manager scene - hides head in world, but not in shadows, reflections**
    HDRP and LWRP compatibility. (Note: assets will need to be modified).
    Option on Generator to force all pending UMA's to be built on the next frame.
    Updated Documentation
    Updated hair shaders for Smoother hair blending.
    Two sample wardrobe items that modify the bone pose.
    New menu item to generate all the Controller and Bone Pose DNA for the new Physique slot.
    Various bug fixes/enhancements
    * Character colors not saving in the recipe editor.
    * infrequent DNA obj ref error when switching races.
    * Will build from settings if invalid file or options specified.
    * Keep Avatar option
    Ability to move InternalDataStore folder (name must remain the same, but location can change)
    UMABoneCleaner - cleanup after adding extra bones
    UMA Jiggle slots
    UMA Sway Bone - for ponytails, etc.
    New menu item to extract the Mecanim avatar from a UMA at runtime
    Default Mecanim avatars added race folder
    Experimental - Ability to specify position of overlay in Texture Atlas

    Please note: HDRP and LWRP will require you to load the specific packages, convert your project, and then setup the new materials and overlays. This can be quite time consuming, and for the most part you are on your own until everything settles down.

    You can get RC1 here:

    https://github.com/umasteeringgroup/UMA/releases/tag/v2.8.5rc1
     
    hopeful likes this.
  9. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    Can you specify the process you are using?
    I have just done this, and didn't have the problem.
    You might try the RC1 just released. With that version, you can select the avatar in the hierarchy, and run the bone builder.
     
    LarsH673 likes this.
  10. LarsH673

    LarsH673

    Joined:
    Mar 7, 2015
    Posts:
    13
    I get an error message when updating.pRaceInspector.cs is the new file from the update, it uses the same class as the RaceInspector.cs. class UMA.Editors.RaceInspector.
    DCA2.jpg
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    You have leftover files - that file doesn't exist anymore in UMA. Ideally, you should remove the UMA folder before updating, but you can get away with removing UMA/CORE in some cases.
     
  12. DeadSeraph

    DeadSeraph

    Joined:
    Sep 8, 2017
    Posts:
    68
    Hi again!

    Have a question about recipes. Is there a simple way to set up a wardrobe recipe so that it is incompatible with another wardrobe recipe?

    The issue is this: We have set up a character creator so that the player can swap through various clothing items and pick how they want to look, etc. The problem is that we have certain shoes that are high tops and certain pants that are lower cut and baggier, and the shoes clip through the bottom of the pants.

    I've tried using the mesh hider asset to fix this (both having the shoes hide polys on the pants and also the other way around), but the results aren't great. It's impossible to get it perfect because of the way the models are triangulated. I was hoping I could just adjust the models themselves but the asset pack they are from doesn't come with the fbx's and the author doesn't want to release them.

    So would there be a quick way to restrict the recipes so that the high tops only work with shorts or skinny jeans, or would the best way to handle that be via code?
     
  13. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    No, you'll need to track that somehow. We could add a field to allow you to set incompatible recipes, but you'd still have to manage it. One recipe can suppress another (like the pants could turn the shoes off), but that won't really do what you want.
     
  14. wethecom

    wethecom

    Joined:
    Jun 24, 2015
    Posts:
    67
    lets pretend i know nothing about any of this ... how do you access the animated race controller the proper way?..
    i added a animator but it has that ARC asking for a animation controller for some reason .. are there any demo videos on what this is all about?
     
  15. BlankMauser

    BlankMauser

    Joined:
    Dec 10, 2013
    Posts:
    103
    I'd like to rig a custom character's face to have the same bones as UMA faces or my own skeletal structure, but also keep bones separate for adjustments/customization. Is there any guide out there for such a process?
     
  16. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    I'm not exactly sure what you are asking. The section for "Race Animation Controller" specifies what Animator Controller is assigned to the UMA when it is built. You can specify a default animation controller, and then any races that need a specific controller that is different, you add using the "add race animator" button.
     
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    SecretAnorak has some videos that show how to setup adjustment bones in his video channel:

    https://www.youtube.com/playlist?list=PLkDHFObfS19yjYoQsMR0dCGjCLsrF1dB4
     
  18. BlankMauser

    BlankMauser

    Joined:
    Dec 10, 2013
    Posts:
    103
  19. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    By convention, UMA names the adjustment bones by appending "Adjust" to them (example, the adjustment bone for the "Spine" bone is "SpineAdjust"). You can add adjustment bones to any bones. the default UMA's have enough bones to both deform the face, and animate the facial expressions. They don't need to be the same, but it's a nice arrangement, so unless you need something different, it would be easier to just use the same structure.
     
  20. DeadSeraph

    DeadSeraph

    Joined:
    Sep 8, 2017
    Posts:
    68
    Hi guys. I realize this is a *very* broad question, but I'm wondering if you could make some suggestions on settings to tackle performance issues?

    I'm aware of the texture atlas, but I also noticed that UMA seems to have LOD support, and I haven't really found where or how to activate it.

    Do the default UMA's come with LOD's? As far as I know the o3n male and female do?

    For the record, the target platforms are modern iOS mobiles and Androids. The environments are very low poly and there is never more than 3 characters on screen at once, so I'm thinking there are ways we can gain some savings here that I haven't discovered yet.

    Also, I've made sure that any new accessories I've added are fully optimized and as low poly as possible, and I'm fairly certain the character models that were being used previously were much higher poly, as I've inspected them personally in maya.

    From what I have heard today, part of the issue is also stutter on start up while the characters are being loaded. I believe there is a way to turn UMA characters into standard unity prefabs via the UMA power tools but that seems like it would be sacrificing a lot of the features and functionalities that UMA brings to the table.

    As I said, I realize this is an extremely broad question but any suggestions (or pointers on where to activate LOD's) would be appreciated. Thanks in advance.
     
  21. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    UMA LOD is accomplished via the "UMASimpleLOD" script. If you load the "Random Avatars" scene, you will see it in action on 200 characters.

    By default, there are two parts to LOD - Slot LOD and Texture LOD. Depending on the settings in the UMASimpleLOD, the Avatar will be rebuilt with a Texture LOD and any Slot (mesh) LODs. Contrary to what you might think, in many cases Texture LOD is more important and makes a larger difference in processing speed. This is due to the default setting of UMA's using RenderTextures for the atlas, and the fact that each UMA has at least 1 unique atlas texture. And before you ask, yes Mipmaps are supposed to do this for you, but they don't work as well. Not by far.

    Texture LOD is automatic once you have the UMASimpleLOD script on your avatar. You don't have to really do anything. Your avatar gets far enough away from the camera, and he is rebuilt, with a smaller texture. If he gets closer, he is rebuilt with a larger texture. This all happens on the calculated recipe (ie, the recipe does not have to be recreated) so it's very fast.

    Slot LOD will happen if you check "Swap Slots" in the UMASimpleLOD script. It requires you to create pre-generated LOD levels for your slots in a 3d modeller. For example, if you have a slot named "Vest", then create a VEST_LOD1, VEST_LOD2 (etc - as far as you want to go). Then it will swap in VEST_LOD1 and lower the texture atlas size when the person gets farther away (and then again for LOD level 2).

    You don't have to have the same level of LOD for each slot. For example, you might have 2 levels of LOD slots for a simple item, and 4 for a complicated item. The system will always use the previous level if one doesn't exist. It will got to the libraries to find the slots, so they need to be in the global library or in an asset bundle.

    I should put this all in the documentaton. edit: done.

    For stutter when loading the initial characters, it's because UMA is amortizing the cost of generating them over the first few frames. You can do one of two things:
    • Turn on the new option to "Process All Pending" on the generator. This way, all of the UMA's will be generated on the first frame. This will delay the scene load by the time it takes to generate every UMA.
    • Make sure "Process All Pending" is off, and turn OFF "Fast Generation". With Fast Generation off, then the cost will be spread out over twice as many frames (Alternating, one texture will be generated the first frame, then the mesh will be generated on the second frame) This will reduce the per-frame slowdown.
    The Power Tools will allow you to create mesh prefabs of the UMA's. This will make it so they load faster. However, this will also remove the ability to do LOD and the ability to change them using recipes (they're stuck at what they are). However, the power tools has it's own LOD solution, but I'm not familiar with it.


     
    Last edited: Aug 28, 2019
    hopeful and DeadSeraph like this.
  22. chaza_li

    chaza_li

    Joined:
    Jan 8, 2018
    Posts:
    29
    Hi UMA team,

    Is there a way to set the tiling and offsets of a certain overlay from the editor, or from the script side?

    Thanks!
     
  23. bran76765

    bran76765

    Joined:
    Jul 14, 2018
    Posts:
    12
    Hey again, you guys have been really helpful so far and I have another question regarding UMA.

    Is there a way to make ragdoll only...half-apply to a UMA generated model? I have animations for my model and a controller, but I'm wondering if there's a way to apply ragdoll to it and blend between the ragdoll and the animations to make it appear more lively. I've looked into assets but I'm not sure if 1) They'd be compatible with UMA and 2) If they'd be what I'm looking for

    I did try duplicating the UMA skeleton/renderer at runtime and was going to make one be a ragdoll and one be the animated one under the same parent, but apparently UMA didn't like that.

    So in summary, I'm looking for a way to apply ragdoll to a UMA generated character and blend between the ragdoll physics and the animations to make the UMA character look more lively. Does anyone know how to do that?
     
  24. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,081
    New UMA Costume Pack for both Male and Female - Elementalist Aprentice.



    The 'Elementalist Male & Female Duo Pack ' costume is designed for Unity UMA 2.5 Character system..

    All costume items scale and deform precisely so you can vary the size of your characters proportions. Hair not included

    Pack Contains:

    • 3 Slots
    • 3 Overlays
    • 3 Wardrobe Recipes
    SLOTS Included & Overlays & Wardrobe Elements for:

    • Robe
    • Tabbard
    • Belt


    • Pack costs just $17.

    • More details via the Arteria3d webstore -

    • Once more, appreciation for allowing us to post on the UMA thread.
     
    TeagansDad and Jaimi like this.
  25. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    You can set the material parameters for a texture atlas in the template material, but generally tiling and offsets don't work with texture atlases.

    You can set the position of an overlay against the base texture (like the eye color is applied to the eye base texture). There is experimental support for manually positioning items in the atlas in the current RC.
     
  26. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    I'm not sure, actually. In the end, the UMA is just a regular skinned mesh renderer using mecanim, so it's possible that the solution would work. If you can point me to the utility, I'll look at it. You can also ask the author to contact us and we can discuss how UMA works.
     
  27. rasto61

    rasto61

    Joined:
    Nov 1, 2015
    Posts:
    293
    Hi @Jaimi
    thanks for saving the avatar. It works but with the latest RC the animations that worked before no longer work. Has something changed in the way the avatar is generated?
    You can probably imagine what idle should look like, but instead the arms are backward.
    Screenshot (250).png

    and another in defence stance the arms are kind of crossed:
    Screenshot (254).png

    I cannot reference the generated avatar for the animations fbx because its not a humanoid file.
     
  28. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    There is some issue in the initial mecanim bone generation causing this, and I have not found it yet. However, you can get around it by removing the bones and animator, running the scene, and saving the runtime-generated avatar using the new menu item on the UMA/Runtime menu.
     
  29. DeadSeraph

    DeadSeraph

    Joined:
    Sep 8, 2017
    Posts:
    68
    Thanks for the wealth of information :)

    I wasn't able to find the process pending option in the UMA generator. I see the fast generation option but not the other. Is this feature in 2.8.1?
     
  30. rasto61

    rasto61

    Joined:
    Nov 1, 2015
    Posts:
    293
    Thanks, that works.
     
    Jaimi likes this.
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    No, this is a feature in the RC that is available here: https://github.com/umasteeringgroup/UMA/releases/tag/v2.8.5rc1
     
    DeadSeraph likes this.
  32. Ziplock9000

    Ziplock9000

    Joined:
    Jan 26, 2016
    Posts:
    187
  33. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    Ziplock9000 likes this.
  34. DeadSeraph

    DeadSeraph

    Joined:
    Sep 8, 2017
    Posts:
    68
    So after a bit of testing, I'm at a loss to explain where the problem lies. It seems like it is more memory related. We basically have 3 characters that swap out accessories like shirts, shoes, etc. I can confirm that the old characters we were using are 10 times the poly count, yet UMA is still using more resources. One of my colleagues seems to think it is related to how we are saving out characters (via the dynamic character avatar txt files).

    I noticed that the new release has a save character function. Does this change the way UMA characters are saved and loaded, or is everything still done by saving out txt files in the Assets\UMA\Examples\DynamicCharacterSystem Examples\Assets\Resources\CharacterRecipes folder?

    In short: We need to reduce memory usage as much as possible.
     
    Last edited: Aug 28, 2019
  35. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    OK - Memory usage is directly related to the items in your global library. The first thing to do is go into your global library, and remove items that are not needed. Because characters are dynamically built/rebuilt, the pieces in the library are held in memory (we're planning to move to addressables to get around this in the future). The biggest resources in the library are the Slots (mesh pieces) and the overlays (texture pieces) which reference the textures. So review everything in the lib, and remove anything that is not directly needed. Review the textures for size. On a mobile device, you can usually get away with scaling them down (if you do this, be careful if you have created partial overlays - as they will need to be adjusted). Sometimes the normal maps and specular maps don't need to be the same resolution as the diffuse map, and you can reduce them further. You'll need to look at them in scene to see if it makes a difference.

    If you still are having issues, you'll need to look into either moving things out of the global library and into scene libraries (if you have certain outfits in one scene, and a different outfit in another, you can save memory this way). Or in the end, moving things to asset bundles, and implementing something to load/unload them.

    Characters should be saved the same in 2.8.5 - the changes involved what happens when files are not found (the default wardrobe is now loaded). Personally, I prefer saving and loading them from strings.
     
  36. bran76765

    bran76765

    Joined:
    Jul 14, 2018
    Posts:
    12
    The specific asset I'm talking about in this case is Puppet Master. It applies a ragdoll to the avatar and appears to have a UMA integration but...I'm still iffy on it and not sure entirely if/how it works lol
     
  37. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    That looks pretty neat. I saw that someone had posted a fix for the UMA integration in the forum (about a page back). I see that several people have used it with UMA 2.7 +, so it should work (no major structural changes since then to the skeleton/avatars/etc)
     
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    I'm prepping a 2.8.5 RC2. This will likely be the last RC before release. I've removed the ability of Bone Builder to save the Avatar, since I can't get it to generate correctly. (The option to generate one at runtime is still there). In addition, I've included prebuilt avatars for the current UMA's. There's been one bug fix, and a few minor UI changes - I've added right click options to the UMA to pull up the bone builder, generate the textures, etc.

    2.8.5 release version will likely be the last major version to support Unity 2017. This is because the next version we will be working on Addressables - replacing all the libraries, etc. This will also have a caching mechanism to unload items to help free up memory. This is only available on Unity 2018.3+.

    If there are major showstopper bugs, we will of course branch off a 2.8.5 tree so those can be applied.
     
    chrisk and hopeful like this.
  39. chrisk

    chrisk

    Joined:
    Jan 23, 2009
    Posts:
    478
    Awesome! High memory usage is a show stopper for me. Can't wait until the Addreable support. ^^
     
  40. BlankMauser

    BlankMauser

    Joined:
    Dec 10, 2013
    Posts:
    103
    Is there any way to export the combined skinned mesh that UMA makes at runtime into an FBX or some other similar file? We would like to make custom animations for certain wardrobe items to have the cloth animation be properly keyed in Maya.
     
  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    I think the FBX exporter from Unlogick can export an FBX of a UMA. You might try contacting him directly.
    There's a built in OBJ exporter, but I'm not sure if it works anymore, it's been in there forever and I'm not sure anyone has worked on it.
    Most of the meshes that come with UMA are in the content pack here:
    https://github.com/umasteeringgroup/content-pack
    If you are working with Purchased assets, try contacting the author for the source files. WillB usually includes the source with his assets.
     
  42. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    403
    has anyone had any luck getting this to work with any form of gpu instancing? and if so would you mind sharing your steps?
     
  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    Every UMA has it's own unique atlas texture. To use you instancing, you would need to export using power tools or something similar. If you are experiencing slowdowns look into implementing LOD.
     
  44. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    403
    That's what I figured :( do you know if there's any plans to change uma over to ecs? Or will I have to manually?
     
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    If you need that right now, you'll need to code it yourself.
    How many UMAs do you plan to have on screen at one time?
     
  46. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    UMA 2.8.5 RC 2 is released

    https://github.com/umasteeringgroup/UMA/releases/tag/v2.8.5rc2

    UMA 2.8.5 RC 2 Whats New

    Asmdef now available in 2018.4 + Unity only (too many issues with packages) - Menuitem to install will appear
    Restructured menu items
    New context menu items in project view
    Added incompatible recipes array and editor (your UI will need to address this)
    Minor bug fixes from RC1
    Added LOD documentation in main content doc
    Can now drag/drop wardrobe folders onto DCA

    UMA 2.8.5 RC 1 Whats New
    Renderer Manager - allow you to specify visibility, shadows of specific model parts.
    Render Manager scene - hides head in world, but not in shadows, reflections**
    HDRP and LWRP compatibility. (Note: assets will need to be modified).
    Option on Generator to force all pending UMA's to be built on the next frame.
    Updated Documentation
    Updated hair shaders for Smoother hair blending.
    Two sample wardrobe items that modify the bone pose.
    New menu item to generate all the Controller and Bone Pose DNA for the new Physique slot.
    Various bug fixes/enhancements
    * Character colors not saving in the recipe editor.
    * infrequent DNA obj ref error when switching races.
    * Will build from settings if invalid file or options specified.
    * Keep Avatar option
    Ability to move InternalDataStore folder (name must remain the same, but location can change)
    UMABoneCleaner - cleanup after adding extra bones
    UMA Jiggle slots
    UMA Sway Bone - for ponytails, etc.
    New menu item to extract the Mecanim avatar from a UMA at runtime
    Default Mecanim avatars added race folder
    Experimental - Ability to specify position of overlay in Texture Atlas
     
    hopeful likes this.
  47. Baylamon

    Baylamon

    Joined:
    May 16, 2019
    Posts:
    7
    I have an issue reinstalling UMA.
    No matter if I use Unity 2019.1.14f1 (latest stable) or 2019.2.3(newest alpha) I get 46 errors according timeline.
    Assets\UMA\Core\Extensions\Timeline\UmaColor\UmaColorClip.cs(5,19): error CS0234: The type or namespace name 'Timeline' does not exist in the namespace 'UnityEngine' (are you missing an assembly reference?)


    Edited: This one is solved updating the UMA Asset. Now I can use Unity 2019.1.14.

    Slot builder isseu, I write a separate post.
     
    Last edited: Sep 3, 2019
  48. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    1. Add timeline to uma_core.asmdef
    2. Export to fbx using the parameters in the content creation pdf in the UMA folder.


     
    Baylamon likes this.
  49. Baylamon

    Baylamon

    Joined:
    May 16, 2019
    Posts:
    7
    Slot Builder messes meshes.

    Using the SlotBuilder to create a recipe, the used mesh is messed up.
    I don't think the mesh in the loaded blender file is defect since it looks ok.

    left: Created earlier using Unity 2018.3.3.
    middle: Created using Unity 2019.1.14 (same effect with Blender 2.79 and Blender 2.8 safed file, same effect using the same unchanged file I used for the left one)
    right: Just the imported blend file, the structure looks fine.

    The SlotBuilder exports the mesh slightly strange:
    In the past there was the mesh.
    Now the mesh is names as name(clone)(clone) as child to a object with a BinaryAssetWrapper.
     
    Last edited: Sep 3, 2019
  50. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,774
    Please export using the correct parameters as specified in the content creation documentation.
    It's in the UMA folder.