Search Unity

  1. Calling all beginners! Join the FPS Beginners Mods Challenge until December 13.
    Dismiss Notice
  2. It's Cyber Week at the Asset Store!
    Dismiss Notice

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    420
    Working on a scene like in assassins creed where it's a crowd and you have to move through the people
     
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    I recommend using LOD and working within the system as it is. You should be able to handle hundreds on the screen at one time as is (look at the "random characters" scene). ECS is cool, but will be a lot of work. If you do decide to go down that path though, all code contributions are welcome.
     
    hopeful likes this.
  3. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    420
    Thank you. I will try it. I just didn't think I could get 1000 on screen at once with that. And do plan to share any ecs changes I make
     
  4. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    1000 is a lot - that's a lot of skinned mesh renderers to calculate at one time. You might look into using the power tools, and reducing the number of bones, and creating meshes from the UMA. The existing UMA's are really flexible - they can be retargetted on the fly to be different people, etc. But they are overkill for a scene of static people.
     
  5. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    420
    Well it's not static people. Within my game a certain ai character will exist and have it's own life (own home, job, etc) but if killed it's gone. I think watchdogs 2 added a feature similar. That amount would be my worse case scenario like if a lot of players and ai happen to meet within a certain point in city
     
  6. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    What I mean when I say static is, that the character doesn't change - ie, he's always wearing the same clothes, same hair style, has the same nose, etc.
     
  7. Baylamon

    Baylamon

    Joined:
    May 16, 2019
    Posts:
    11
    Thank you and sorry, I haven't seen your first answer in time.
    I switched from blend to fbx and got much better results.
    Right now the output is symetrical but not as expected.

    I experimented with dimensions, turning the rig and the shirt but nothing changes.
    The base for that shirt item was btw. a cutout from the UMA Blender file.
     
  8. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Did you get a warning that the slot was too small in the builder? Make sure when you import, it is scaled up by 100:

    Scaled.jpg

     
    Baylamon likes this.
  9. tredpro

    tredpro

    Joined:
    Nov 18, 2013
    Posts:
    420
    Clothes may change. Stuff about character may change depending on what happens in game
     
  10. Baylamon

    Baylamon

    Joined:
    May 16, 2019
    Posts:
    11
    Thank You! :) That did it eventually.
    I tried to increase the scale at the export side due to that message but forgot the import side, blame me :oops:.
     
    Jaimi and hopeful like this.
  11. BlankMauser

    BlankMauser

    Joined:
    Dec 10, 2013
    Posts:
    104
    Can anyone help me creating a new race?



    I've followed Secret Anorak's tutorial, this is even just a modified version of the UMA Content .blend human male. I literally just wanted to replace the head but im getting issues as seen here. Ive tried every import scale imagineable. The t-pose is extracted and the rig works correctly when I just drag it into the scene. Its only with UMA builder do I get whats happening here. The scale is all wrong, and the head is being blown up for some reason with no animations working.

    EDIT: I was able to fix the Bone error by adding the original head back as a slot, as every bone needs slots assigned to it. But the animation that resulted was still incredibly messed up and the head that I added is still completely wrong.
     
    Last edited: Sep 4, 2019
  12. Prod212

    Prod212

    Joined:
    Dec 13, 2017
    Posts:
    12
    Hi, we currently have a problem with the animations. I've exported the animations from blender 2.8 and have followed the parameters from the UMAContentCreation documentation but for some reason when I use this animation with an animation controller, the mesh appears deformed. I've tested the animation to see if it works on a non UMA model and yes the animation works perfectly fine on a non UMA race. So right now i'm not too sure if it's the exporting that's the problem or UMA.

    upload_2019-9-5_17-47-25.png
     
  13. DeadSeraph

    DeadSeraph

    Joined:
    Sep 8, 2017
    Posts:
    86
    Hi guys. Some animation related questions:

    1) I have hooked up my UMA characters with some old animations used for previous characters (set to humanoid) and they work with mecanim. Problem I'm having is that the feet skate around a bit during the idle animation. I believe the animations were generated via mixamo. Is there an easy way to fix this without manually editing the animations or would I need to generate new animations from mixamo using the UMA mesh?

    2) I've tried exporting the o3n male mesh as an fbx to upload to mixamo but mixamo doesn't seem to want to accept it. At first I thought it was because the o3n characters are modeled in the A-Pose instead of the T-pose. After successfully uploading the standard UMA male mesh to mixamo which is also modeled in the A-Pose, I realize that is no longer the case. What could be causing this? The o3n meshes are all triangulated. Could that be causing the issue?

    3) I'm assuming the bone positions for the o3n and standard umas are very similar since the 2 are compatible. Could I just use the standard UMA mesh to generate new mixamo animations and then just apply them to the o3n umas?
     
    Last edited: Sep 6, 2019
  14. Caisy

    Caisy

    Joined:
    May 7, 2015
    Posts:
    1
    Hello.
    I am runing in this issues :
    - uma root is rotated 90 when i press play so my character faces floor.
    - arms are rotated~90 pointing back.
    https://imgur.com/frXegbp

    This has something to do with my character being imported in A pose or. An be something else?
    Thanks.
     
    Last edited: Sep 6, 2019
  15. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    You need to keep the scale the same, and then import at 100x in the import settings. Be sure you copy the vertex weights from the base mesh, or that you rig to the appropriate bones (always the adjust bone when available). Be sure you export to FBX using the parameters in the content creation doc.

     
  16. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    I'm assuming generic rig? At the point it's animating, UMA is done, and it's just a skinned mesh renderer, so you should follow your normal animation export procedures. But I personally don't use the generic rig, so I'm not sure if there are any specific issues with the animations that need to be addressed. Might try posting on the discord (invitation in the main doc file), see if anyone there has any insight, or perhaps Secret himself might be able to help out.
     
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    1. This is usually a problem with the animation itself. You might try going into the animation, and baking the root transform pos (xz) into pose.

    2. I have no idea on Mixamo uploads (sorry) - you might ask umut on his thread. I always just choose to export animations from mixamo as unity optimized animations, and they seem to work OK.

    3. Yes, that should work. You may need to adjust the avatar on the animations when importing to make sure they are close in pose to get the best results.

     
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    This is usually caused by exporting your character with the incorrect parameters. Please be sure you follow the instructions in the content creation doc when exporting (see the UMA folder).
    As well, be sure to extract the tpose from your fbx, and assign it to the race if you haven't already.

     
  19. DeadSeraph

    DeadSeraph

    Joined:
    Sep 8, 2017
    Posts:
    86
    I've tried baking the root transform position previously but it causes the rest of the animation to glitch noticeably. Thinking I will need new Idle animations in this case.

    As for the o3n character uploads, it must have been something to do with the fbx settings because uploading it as an OBJ worked fine.

    Thanks for your help as always, Jaimi.
     
  20. umutozkan

    umutozkan

    Joined:
    Oct 30, 2015
    Posts:
    312
    Mixamo used to let you map your bones to mixamo rig when you upload a rigged character. For last couple years it seems it is trying to automap and fail to do so if structure and naming of the bones is note what it expects.

    I did some tests with another model and found out that it is very picky. UMA base rig, on the other hand, passes.

    For o3n races to be uploaded with its own rig to mixamo a lot of bones of it would have to be renamed. And that would break the DNA stuff. Uploading it as an object and let mixamo rig it with its own skeleton seems to be the only option for o3n models.
     
  21. PeterB

    PeterB

    Joined:
    Nov 3, 2010
    Posts:
    342
    Hi, I'm new to UMA (though not new to Unity), previously having used other systems. As a newcomer to the UMA world, it's a little difficult to get an overview of what's new and what's obsolete, of what to use and what to avoid. This is of course a common problem with anything as multifaceted as UMA, and with such a large ecosystem built around it by people and companies of very varying capabilities targeting very diverse price ranges, getting a birds-eye view is challenging. I know about UMA 2, etc, and I have followed a number of tutorials and also experimented with a number of packs.

    Specifically I'm wondering about the following:

    1. Is it possible to get AAA results using UMA? Most of the examples, to be honest, look a bit old and behind the curve – but then they might be using low-poly assets or an obsolete UMA version.
    2. Is there a more realistic skin shader available? I've only found Fast Fake Skin, which doesn't really do SSS. Can any skin shader be used or does UMA have special requirements? (The same goes for hair, btw: can any hair shader be used?)
    3. I need modern clothing in high resolution. Again, searching the Asset Store doesn't turn up anything that really fits this category, but I might definitely be looking in the wrong place.

    This is not meant as criticism of any kind – UMA is obviously both very flexible and very performant. It's just an observation: it's not very apparent to which level one can take UMA in terms of AAA quality. I'd be grateful for any pointers anyone might have.
     
    Last edited: Sep 8, 2019
  22. id0

    id0

    Joined:
    Nov 23, 2012
    Posts:
    327
    PeterB UMA can work with HDRP, and I believe with any other shaders as well, with some magic. As for the models, they will be such quality that you make or find. There is paid assets for UMA, and some of them is very high quality.
     
    PeterB likes this.
  23. id0

    id0

    Joined:
    Nov 23, 2012
    Posts:
    327
    But actually I want to ask, how can I just add tag to the bones? "Main hand", "Head", etc...
     
  24. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    1. For compatibility reasons, the demo scenes use the low poly versions of the models, and downsample the textures by 50%. There are higher res versions of the races included. In addition, Willbgameart has compatible races, and o3n has a separate set of races (not compatible, but they have their own set of assets.)

    willb:

    1_1updateMain416-416x314.png AssetstoreLarge.png

    o3n:
    dabe5b84-8d57-4d91-8b20-5a5e43446653_scaled.jpg

    2. UMA can use any shader you like, you just need to setup a material to use as a template, and then create a "umamaterial" for it. I've updated the hair shader in the new version (probably upload in a few days) that fades the ends nicer, but you can of course substitute your own.

    3. UMA is actually a framework, with included example assets. There are better assets available on the store (most are fantasy/medieval, but there are some that are modern day, and I have a freebie modern day pack that I just need to find time to finish up). In addition to whats on the asset store, Arteria3d and Willbgameart also have their own sites that sell UMA clothing.
     
    Boegi, TeagansDad and PeterB like this.
  25. Ne0mega

    Ne0mega

    Joined:
    Feb 18, 2018
    Posts:
    150
    You can use any model or shader you want with UMA. (You can use shadergraph shaders (LWRP, HDRP) with UMA release candidates)

    UMA does not have special requirements. The only thing UMA controls at its core is what the bones initial rotations and scales are, and where to draw the triangles. The shader, materials, models, etc can all be your custom stuff. Any skin or hair shader can be used.

    Secret Anorak has a tutorial video about importing assets, using Blender. It takes work. The UMA compatible market place is small, as it is a very small niche of Unity.

    Strangely enough, UMA has little to do with graphics. It just arranges the textures you give it to a UV map, then skins that UV map to the skinnedmeshrenderer. UMA is more a texture mapper and bone controller / initial position/scale/rotation controller. The graphics you stick on top of UMA are only limited by Unity itself.

    It is incredibly flexible. It has a few minor limitations, which are being worked on now, such as whether an overlay texture gets mapped via pixel position, or mapped via ratio.

    It is incredibly well optimized. It can't do batching, as every character texture is considered unique.

    I found it incredibly hard to decode, (focused 6 months of free time) even with Secret Anoraks tutorials, which only scratch the surface of what UMA can do. It is a bunch of components like "DNA" and "race data" that in the end take a lot of practice to understand.
     
    Last edited: Sep 8, 2019
    TeagansDad, PeterB and Jaimi like this.
  26. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    You can either build the bones in advance using the bone builder, or you can search for the bones using the included functions. I recommend using the bone builder.
     
    id0 likes this.
  27. PeterB

    PeterB

    Joined:
    Nov 3, 2010
    Posts:
    342
    Many thanks, Jaimi, Id0, and Ne0mega! Much appreciated.
     
  28. Bartek_Gudowski_Friend_Factory

    Bartek_Gudowski_Friend_Factory

    Joined:
    Feb 18, 2019
    Posts:
    54
    Hi!

    We are now migrating to Unity 2019.3.0b2 and Universal RP 7.0.1. Has any anyone had success with this yet? And on which version is of the Git UMA Dev branch supports this?
    We have manage to run UMA very successfully on Unity 2019.3.0a8 and LWRP 6.9.1 but there are a lot of changes now so any input is valuable. Many thanks!
     
  29. id0

    id0

    Joined:
    Nov 23, 2012
    Posts:
    327
    Hello again. Well I create character and save it. He is loaded fine, and add all stuff in current wardrobe (recipe window is empty, but current wardrobe is full, and all clothes is on the character). But when I try to add new recipe, it rewrite current wardrobe completely, and I have naked character in armor. What am I doing wrong?

    Edit. Ok I got that, I need "additional reciepies".
     
    Last edited: Sep 9, 2019
  30. Crowvyn

    Crowvyn

    Joined:
    Sep 7, 2014
    Posts:
    5
    Did anyone get it to run in HDRP and could give some pointers on what to do?
     
  31. id0

    id0

    Joined:
    Nov 23, 2012
    Posts:
    327
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Release 2.9 (The release formerly known as 2.8.5) will be ready in a few days, and will contain support for HDRP and URP. However, to remain compatible with the default renderer, you will need to create the materials and update the UMAMaterial.
     
  33. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    When you load a character from the menu or buttons, it doesn't load/save the default wardrobe. So when you drop a new item onto the defaultd, it loads the defaults, overwriting what you loaded.

    This can be confusing because there are two separate containers.

    The "Wardrobe" - that contains the wardrobe slots that build the recipe. You can't set this in the inspector - it's meant to be set in code, or loaded from a string or file.

    The "Default Wardrobe" - this contains items that the system will be loaded into the wardrobe when the prefab is initialized. It can contain items for different races. Only the matching items are loaded into the wardrobe. The sole purpose of the Default Wardrobe it to allow you to setup prefabs. You can load complete outfits into the default wardrobe for different races, and then simply set the race when you instantiate it. It's for making prefabs.
     
    id0 likes this.
  34. id0

    id0

    Joined:
    Nov 23, 2012
    Posts:
    327
    Jaimi, thanks for the answer. I'm just trying to understand how to make character (say player can choose race, face, hair and so on..) save it, and then add, and remove armor, helmets, etc... What is the right way to do this?
     
    Last edited: Sep 9, 2019
  35. Bartek_Gudowski_Friend_Factory

    Bartek_Gudowski_Friend_Factory

    Joined:
    Feb 18, 2019
    Posts:
    54
    Thanks, that's great news. Does the Dev branch include URP or the old 2.8.5 if we want to test out today?

    Is this the new correct UMA menu layout in 2019.3.0b1?

    Screenshot 2019-09-09 at 09.45.36.png Screenshot 2019-09-09 at 09.46.09.png

    Old menu:
    image (7).png image (8).png
     
  36. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    No, something doesn't look right there. Maybe an error compiling something? Also make sure you don't have the debug inspector turned on.

    The Develop branch is the same as RC2 - you can download that here:

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

    Only thing I'm going to add for the 2.9 release is documentation and about box updates - no fixes.
     
  37. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    The default wardrobe is great for making prefabs in the editor. But if you need the end user to be able to create them, you'll need to construct a character editor. We've included two different editors in the download you can use as a base, or you can get a more professional looking one from the asset store:

    https://assetstore.unity.com/packages/tools/gui/redux-character-creator-ui-140745

    The Simple Setup scene is probably the easiest to use. I recommend to start there if you're rolling your own. The "Using Asset Bundles" scene is more complicated, but does show how to download assets and add them to the menus dynamically.
     
    id0 likes this.
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Tested on 2019.3 B2. They removed the TextureQualitySettings from the UnityEngine namespace.

    In OverlayLibraryEditor.cs, find the line where it has UnityEngine.TextureCompressionQuality, change it to this:

    textureImporter.compressionQuality = (int)UnityEditor.TextureCompressionQuality.Best;

    I'll fix this in the release version of 2.9
     
    hopeful likes this.
  39. MastersOfUs

    MastersOfUs

    Joined:
    Aug 29, 2015
    Posts:
    11
    Hey! I am trying to generate a bunch of random characters from the editor using the Randomizer. However, no wardrobe items get added, I traced it to internalSetSlot() with this line:
    _wardrobeRecipes.Add(thisRecipeSlot, utr);

    However no clothes get added, only the DNA is set. Am I doing something wrong here?
     
  40. Bartek_Gudowski_Friend_Factory

    Bartek_Gudowski_Friend_Factory

    Joined:
    Feb 18, 2019
    Posts:
    54
    We are developing an app for iOS which will feature a large number of characters, where each character may have different clothing. Whilst performance is not an issue, multiple characters with unique clothing causes the memory consumption to shoot through the roof.I’ve tried adjusting the texture compression rates for the textures, but this only gets us so far. The memory consumption is still very high as a result of each character having their own texture atlas. Is there a more optimal way of reducing the memory consumption, eg. by having the characters share common textures (eg. skin)? Thanks
     
  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    To share common textures would require that they be all the same. If that's the case, then those specific characters could be saved as prefabs with the power tools. We have discussed adding a texture caching algorithm that would reuse textures when possible, but it's more complicated (and less useful) than it seems as everything has to be exactly the same.

    Otherwise, I would suggest using the SimpleLOD system if you aren't already, it will allow you to dynamically reduce the texture sizes to a significant degree. You may need to adjust the algorithm to select only the very closest to be high-res, and work outward, but it should be easy to figure out what it is doing.
     
  42. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Did you build the character?
     
  43. Bartek_Gudowski_Friend_Factory

    Bartek_Gudowski_Friend_Factory

    Joined:
    Feb 18, 2019
    Posts:
    54
    Thanks, can you share common textures such as the skin for the same race and then have individual clothes items as separate textures? We are currently using 2048 for skin > 128 pupil and 256 for eye white, 2048 for clothes on iOS. The clothes still looks pretty pixelated at that texture size, especially if you have detailed fabric print. Are there any best practices for optimisation of the texture atlases? We are also interested in the ECS / Addressables streaming implementation for crowds if that can support a smarter memory management. LOD is something that can help but we are framing the character from close so we need to have good performance for 3 characters from close viewport.
     
  44. anomas

    anomas

    Joined:
    Jul 3, 2016
    Posts:
    33
    Hi, i am having an issue with the cloth component. Everything else works but when exporting skinned mesh models from blender (following UMAContentCreation.pdf) i get the following issue in the picture bellow after giving it a cloth component.

    (left one doesn't have a cloth component)
    upload_2019-9-10_21-5-27.png

    Any help is apreciated.
     
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    No, there's currently no sharing of textures. But you might try the SimpleLOD as it does free up a lot of texture memory. It wouldn't be too hard to make it special case close up, if you are really low on memory. You can adjust the individual overlays so they take up less space - you might lower the body texture down, so it consumes less space. Of course on mobile, you should avoid alpha/alpha test whenever possible. Maybe someone else with more mobile experience can be helpful.
     
  46. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Did you setup the weighting for the cloth?

    http://umawiki.secretanorak.com/Cloth
     
    anomas likes this.
  47. anomas

    anomas

    Joined:
    Jul 3, 2016
    Posts:
    33
    I cannot, it happens after the second step of the link you gave, forgot to say that.
    So no weight gizmos appear( i have gizmos ticked on).
    upload_2019-9-10_22-32-7.png

    Edit.: Also i can create wardrobe recipes without cloth just fine.

    Edit2: So after moving the camera around i noticed that at some angles the weight painting gizmos appearing, but the mesh looks duplicated. But only after applying a cloth component, any clues?
     
    Last edited: Sep 11, 2019
  48. MastersOfUs

    MastersOfUs

    Joined:
    Aug 29, 2015
    Posts:
    11
    Yes. I tried both BuildCharacter() and ForceUpdate(true, true, true), the latter which failed because the UMAData component is not generated before runtime
     
  49. id0

    id0

    Joined:
    Nov 23, 2012
    Posts:
    327
    Cloth is broken completely in new versions of unity because of new PhysX, and new physic settings, and stll buggy.
     
    anomas and Jaimi like this.
  50. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    No idea - this is something happening in Unity, so I have no clue what to do. I know that cloth has been broken, and fixed, in various versions - you might try R2017 to build the slots.