Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. lobotomista

    lobotomista

    Joined:
    Jul 21, 2018
    Posts:
    39
    If I have a daz model, wich comes with some visemes and base expressions. Can someone give me a rundown of the steps necessary to add them to the expression player?
     
  2. leapp

    leapp

    Joined:
    Mar 19, 2015
    Posts:
    19
    our mesh every vertex have 20 boneweight, is that possible UMA support over 4 bone weight
     
  3. nasirs

    nasirs

    Joined:
    Dec 5, 2019
    Posts:
    11
    Curious and wondering, what is the downside of keeping that number very high?
     
  4. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    Currently, you can't add blendshapes to the expression player. I do have a new one in development that can use both bone poses and blendshapes. Probably a couple months out.
     
    hopeful likes this.
  5. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    Yes. You need to enable this in the import settings for your mesh, and in the player settings. But uma can handle as many as unity allows.
     
  6. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    Uses more RAM.
    Plus, high vertex count models use an enormous amount of resources.
     
  7. VR_Junkie

    VR_Junkie

    Joined:
    Nov 26, 2016
    Posts:
    77
    Hello @Jaimi,
    to start I am purely a programmer and I have a very rudimentary understanding of the art side of games so I apologize if my questions are basic. I am a bit confused with how UMAs work, more specifically uma races and clothing. Let's say I am using human male and have a wizard outfit for that race but then I switch to Dwarf male and that outfit no longer works. Why is that? In my head a dwarf is just a short human with different uma dna (I'm sure it's more complicated than that). I am making a game and want to use UMAs but I recently discovered some of the clothing in particular is sometimes only for a specific race. Is there a way to adjust clothing so it works for multiple races? Or alter a human so he can look like an orc (that way the clothing will auto adjust)? I thought uma races were just saved dna changes.
     
  8. lobotomista

    lobotomista

    Joined:
    Jul 21, 2018
    Posts:
    39
    daz expresions are bone based (I think)
     
  9. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    So, you can most definitely design two races to remain compatible by only varying their "bone pose". You can make tall skinny elves, short squat dwarves, and bulky orks, by scaling and moving bones (and changing meshes and textures as needed).

    When you do it this way - use the same exact rig with a varied bone pose - you can reuse all the slots across the races. You may have issues where you get "poke through" in spots due to mesh variances, etc, but you can handle this by making "mesh hide assets" or hiding meshes in the recipes.

    If your dwarf and human can't share slots like that, then it means they weren't created to be compatible, and don't share the same base rig. But it's definitely doable. In fact, it's pretty easy to modify a bone pose and make a new race from it.
     
  10. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    From what I have seen, they are based on Blendshapes and Bones. But of course, I have not looked at every model.
     
    hopeful likes this.
  11. lobotomista

    lobotomista

    Joined:
    Jul 21, 2018
    Posts:
    39
    the diffeomorphic plugin seems to import them as bone stuff.
    Anyway. Can you help orient me on how do I convert my bone base expressions to work with the expression player please?
     
  12. leapp

    leapp

    Joined:
    Mar 19, 2015
    Posts:
    19
    look into UmaMesh code, it can only handle 4 bone weight at most per vertex.
     
  13. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    You'll need to setup the pose pairs. The current expression player is pretty much hardcoded to the expressions as is. I didn't write it, and I'm not really that familiar with it. Your best bet is to dig into the UMAExpressionPlayer.cs and UMAExpressionSet.cs files.
     
  14. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    You must be looking at old code. I added support for unlimited bone weights in 2.11. The old "UMABoneWeight" class is only used to load old slots that were created before the unlimited bone weights were added
     
    Alic and hopeful like this.
  15. Gervais60

    Gervais60

    Joined:
    Apr 7, 2016
    Posts:
    37
    Hi Jaimi

    just to let you know i have a small problem

    I have a multiples scene project and the context field can't keep its value properly for character generated in scene other then the master one. I keep resetting the value to the proper UMA_GLIB but eventually it will keep referencing the the one from the primary scene all other field are ok except the context field.

    I get the following warning in the console:
    Cross scene references are not supported: 'Gard' in scene Game_Game_Castle has an invalid reference to 'UMA_GLIB' in scene Game_Game_Start. This reference will not be saved in the scene.

    each time i set the value to the proper object it look ok but when a come back to the project it is reset to the wrong one

    other then this it do not affect the project in edit mode or compiled version

    if you could have a look into this so that it get corrected for the future versions

    Thanks
     
  16. Kojote

    Kojote

    Joined:
    May 6, 2017
    Posts:
    182
    Hi!

    Is it possible that the "Animation Clip Target Renamer" of UMA2 has a bug?

    I have had it several times now:

    1. adjusted the structure of the animations.
    2. saved with "Apply".
    3. animations worked with the new structure.
    4. after restarting Unity, the original structure is back.

    How can this be?
     
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    I responded on the discord, but I believe there is a bug here. Change the "RenameTargets" function to look like this:

    edit: This doesn't appear to be saving also...

    Code (csharp):
    1.  
    2.     private void RenameTargets()
    3.     {
    4.         for (int i = 0; i < selectedClips.Count; i++)
    5.         {
    6.             CurveDatasList[i].ForEach(x =>
    7.             {
    8.                 if (x.Binding.path != "" && x.OldPath != x.NewPath)
    9.                 {
    10.                     x.Binding.path = x.NewPath;
    11.                     x.OldPath = x.NewPath;
    12.                 }
    13.             });
    14.  
    15.             selectedClips[i].ClearCurves();
    16.  
    17.             foreach (var curveData in CurveDatasList[i])
    18.             {
    19.                 selectedClips[i].SetCurve(curveData.Binding.path, curveData.Binding.type, curveData.Binding.propertyName, curveData.Curve);
    20.                 EditorUtility.SetDirty(selectedClips[i]);
    21.             }
    22.         }
    23.  
    24.         AssetDatabase.SaveAssets();
    25.  
    26.         Clear();
    27.         Initialize();
    28.     }
    29. [/code'
     
    Last edited: Jul 13, 2021
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    So, I'm not sure what to fix here. Generally, you should have one UMA_GLIB loaded at one time. Either you preload it in your startup scene, and then set the flag on it to "don't destroy on load", so it hangs around forever, or you don't do that, and then include a UMA_GLIB in each scene. As well, if the context isn't found by a character, it should attempt to find it, and fill that out. So you shouldn't have to set it/reset it or even save it.

    Is this causing a problem in your app? Or is it just the warning that is causing a problem? If it's just the warning, I can probably just remove that field from the editor, and make it private.
     
  19. Gervais60

    Gervais60

    Joined:
    Apr 7, 2016
    Posts:
    37
    Jaimi

    for now the field has the error message display in it but all the other field that need to reference the library are getting the correct one only this field is complaining

    has for now i did not see any problem in the application in edit mode or in executable format look only to be a warning of some kind.

    i only did reported this for future fix and version improvement but has of now i don't see any negative impact on the app
     
  20. VR_Junkie

    VR_Junkie

    Joined:
    Nov 26, 2016
    Posts:
    77
    Hello, the game I am developing recently got funding and I want to use UMA as our character creator. With that in mind I want to create more races. Is there any site I can go to in order to hire an UMA artist? Also how much would you say an artist should be per race (ex: creation of goblin race)? I know price wont be a 1 to 1 just a guesstimate in your expertise
     
  21. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    There are a few different artists working with UMA. This thread is probably a good place, but also the Discord channel might get you in touch with some more.
     
  22. solarstreamtechnology

    solarstreamtechnology

    Joined:
    Apr 10, 2020
    Posts:
    8
    If I want to make a sword prefab that can mount either on the Right Hand or Left Hand.

    How do I set in the UMAMountedItem?
     
  23. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    You would need to make two different items.

    Or you can just use the new functionality that lets you mount anything, as long as you put the "UMAIgnore" tag on it.
     
  24. vaibhavbagri

    vaibhavbagri

    Joined:
    Jul 8, 2021
    Posts:
    2
    Hi, I am trying to make my UMA character hold a weapon with two hands (like a rifle pose for example). But I couldn't find any material online to be able to do this. I tried to use Unity Animation Rigging and Two Bone IK constraint, but the UMA model does not do anything even after adding the constraint (maybe I need to override some default animation?). It would be great if you could help me out with this, I'm completely new to Unity, so any guidance or tutorial would be much appreciated.

    Also, I tried to find the link to the discord server, but was unable to do so. Do you mind posting it in the forum?

    Thanks!
     
  25. FiveFingerStudios

    FiveFingerStudios

    Joined:
    Apr 22, 2016
    Posts:
    510
    I'm on an older version of (UMA 2.7) and can't upgrade due the the impending release of my game.

    I've got a question regarding GC and UMA. I've noticed that around 400kb of GC is generated when changing recipes and rebuilding an UMA. I tracked it down to code that is resizing various arrays in the UMA generator. Does anyone know if this section of the code has been improved in the new versions? If so, I would try to integrate some of the performance enhancements myself from the latest version to mine.
     
  26. nicolasdemauroy

    nicolasdemauroy

    Joined:
    Nov 11, 2020
    Posts:
    21
    Hi,

    not sure it is the right place, but I want to know if there is a reference resource to use UMA latest versions. I have been running Secret Anorak tutorial, and somehow, things do not always match. I have been trying a Google Search, but with no success.

    My first questions are especially
    • In the tutorial, there is a "UMA_DCS" component to add to scene hierarchy. It seems to be obsolete somehow in the latest UMA version I am using (2.12). Should I include something else in the scene hierarchy ?
    • It seems my model 'breaks' at some point and does not display anything anymore and it gives me exceptions like the one below.
      • Using "Global Library / Rebuild From Project" does not help
      • What is strange is that, sometimes, those exceptions happen without me changing anything apart from stopping playing the scene and then playing it again. I did not manage to do anything to make the model work again.
    I would be grateful if you can provide some pointers to solutions / adequate documentation

    Code (CSharp):
    1. NullReferenceException: Object reference not set to an instance of an object
    2. UMA.TextureProcessPRO.ProcessTexture (UMA.UMAData _umaData, UMA.UMAGeneratorBase _umaGenerator) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/TextureProcessPro.cs:58)
    3. UMA.UMAGeneratorPro.ProcessTexture (UMA.UMAGeneratorBase _umaGenerator, UMA.UMAData _umaData, System.Boolean updateMaterialList, System.Int32 InitialScaleFactor) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorPro.cs:372)
    4. UMA.UMAGeneratorBuiltin.GenerateSingleUMA (UMA.UMAData data, System.Boolean fireEvents) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:305)
    5. UMA.CharacterSystem.Editors.DynamicCharacterAvatarEditor.<OnInspectorGUI>g__GenerateSingleUMA|20_1 (System.Boolean rebuild) (at Assets/UMA/Core/Editor/Extensions/DynamicCharacterSystem/DynamicCharacterAvatarEditor.cs:779)
    6. UMA.CharacterSystem.Editors.DynamicCharacterAvatarEditor.OnInspectorGUI () (at Assets/UMA/Core/Editor/Extensions/DynamicCharacterSystem/DynamicCharacterAvatarEditor.cs:261)
    7. UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <1d96ce257f0e45ff836d157d33fd933d>:0)
    8. UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
    9.  
     
  27. george_abashidze

    george_abashidze

    Joined:
    Jun 17, 2021
    Posts:
    21
    hi, I have problem, character not showing after build game, I know i have to index items in global library but its not working what can i do?



    as you see I have keep flag for every item
     
  28. nicolasdemauroy

    nicolasdemauroy

    Joined:
    Nov 11, 2020
    Posts:
    21
    I answer to my own question: actually: when I added UMA_GLIB to the project root, everything ran fine.
     
  29. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    A UMA character is just a regular Mecanim character - everything should still work. You can only do IK in the OnAnimatorIK event - is that where you are doing it?

    Also, the link to the discord is in the "UMA Documentation.pdf" file in the UMA folder, which is (hopefully) full of other helpful info. Here it is: https://discord.gg/5b39djg
     
  30. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    There is documentation in the UMA folder. The later SecretAnorak video tutorials have more updated information as well.

     
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    The "Keep" flag is used to stop the system from deleting an item during "orphan cleanup". You don't need it unless you are using Addressables, and you run the orphan cleanup.

    As for why your system is not building UMA's, we'll need more information - are you getting any errors in the console?

     
  32. vaibhavbagri

    vaibhavbagri

    Joined:
    Jul 8, 2021
    Posts:
    2
    Hey, thanks for the reply. Turns out I was just using the wrong bones for the animation rigging, so the character was not doing anything.
     
    Jaimi likes this.
  33. george_abashidze

    george_abashidze

    Joined:
    Jun 17, 2021
    Posts:
    21

    Thanks for reply, I just dropped UMA_GLIB prefab in scene and now it works even without that flags
     
    hopeful likes this.
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    While there are quite a few performance improvements (especially with building the rig), This section of code has probably not improved.
     
  35. george_abashidze

    george_abashidze

    Joined:
    Jun 17, 2021
    Posts:
    21
    @Jaimi can I get the mesh of generated character? I want to calculate height of character in runtime...

    or maybe there is other way to get character height, I want to modify navmesh agent base offset depending on height because tall characters foots are not correctly grounded
     
  36. solarstreamtechnology

    solarstreamtechnology

    Joined:
    Apr 10, 2020
    Posts:
    8
    Ok Thanks.

    Is it normal that I need to rebuild index every time the project is started for the latest UMA 2.12?
     
  37. FiveFingerStudios

    FiveFingerStudios

    Joined:
    Apr 22, 2016
    Posts:
    510
    Thanks I figured this, since I don't think there is anything that can be done with the arrays. Just wanted to make sure.
     
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    Yes - MyAvatar.umaData.GetRenderers() will return an array of SkinnedMeshRenderers (usually 1, unless you specifically add more). From the SMR, you can get the mesh, or burn a copy of the mesh as it is.
     
  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    No, unless you are using Source Control, and your index is read only or something. Its this file:

    Assets\UMA\InternalDataStore\InGame\Resources\AssetIndexer.asset
     
  40. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    The issue is that there was a stab at one time making the system multi-threaded (it's not). So it has this locking mecanism, and global arrays (that end up eating a ton of memory as they only grow), so you end up with it sometimes using those, and sometimes not, and things get out of sync. I will probably work on refactoring that all at some point, but it's not as important as some other items, especially if you use the new garbage collector, and tune the generator.
     
    hopeful likes this.
  41. Squibbed

    Squibbed

    Joined:
    May 18, 2021
    Posts:
    4
    Hey,
    I am currently facing a problem regarding the visibility of my UMA Characters. When I start the game one specific UMA Character wont be visible. However, this is random and the character may or may not be visible at the 2nd or 3rd time I start the game. Furthermore you can still hear the AudioSource attached to the UMA GameObject, so the GameObject as such is not inactive or something. I dont have any code, which manipulates the visibility of these characters. In fact, I only have code dealing with the AudioSource component of this GameObject. There is no error or warning on the console as well. Does someone have a clue, what the problem might be and how I can fix it?
     
  42. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    if you have UMA_DCS in your scene, replace it with the UMA_GLIB prefab, and make sure it is at the top of the hierarchy.
    if that doesn't solve it, look in your console, and let us know any errors.
     
  43. Squibbed

    Squibbed

    Joined:
    May 18, 2021
    Posts:
    4
    I actually had UMA_DCS in my scene. I just dragged UMA_GLIB into the scene and so far everything is going well. Thank you very much for that advise and your quick reply. :D
     
  44. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,670
    UMA Tribesman Male & Female was just published on the Asset Store.

    It's 30% off for the next 2 weeks as a new release discount.

    upload_2021-7-22_9-9-7.png

    (This is part of the collaboration between Pixel Crushers and Steve Finney of Arteria3D. Pixel Crushers is handling the Asset Store publishing of Steve's UMA assets. Lots more UMA assets are in the submission process and should be available later this summer.)
     
    Jaimi likes this.
  45. thedetective456

    thedetective456

    Joined:
    Oct 1, 2019
    Posts:
    35
    Hi,

    I was working on an FPS project and just stumbled upon UMA and now I really want this plugin to be part of my game.
    I was wondering if the Player's FPS Hands (the one they see) could look same as a third person character that players create. Like if they equip gloves for third person model, the FPS hands must have gloves too.

    Thankyou.
     
  46. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    You could do this. It's probably more work than you think. Its probably a lot easier to just place the camera in front of the face, or turn off the head/legs/etc/ that you don't need.
     
  47. lohrer

    lohrer

    Joined:
    Feb 15, 2021
    Posts:
    1
    Hi Forum,

    I am considering to use UMA for a project. It is a very awesome community Project.

    On top of the available content ate the asset store, I would also need some child and teenager faces.
    I tried to play around with the DNA, but the faces still look like from an adult. Maybe I am too inexperienced with the DNA settings ?

    If I need to hire an artist to achieve the goal, what would be the best place to find someone familar with UMA and suited for the job ?

    I am also not sure if its better to start from scratch or to go over one of the existing 3D Avatar Suites like Daz3D, which has a lot of content. I realised with the UMA Face Pack, that the faces should match the BaseModel precisely, so there would be still som adjustments nedded to fit a Daz3D Face to the Uma Male / Female Model.

    It would be also awesome, to have a rough idea about the needed budget.
    Searching some of the popular freelance sites. I found different offers, though I have no idea what quality to expect for these prices.

    ~ 260$ for a Male / Female set of Armor https://www.freelancer.de/projects/...ty-character-clothing-armor/?ngsw-bypass=&w=f
    ~ 750$ for a not specified number of clothing items. https://www.freelancer.com/projects/rendering/uma-unity-character-clothing/?ngsw-bypass=&w=f
    ~ 4000$ for 26 different model (~155$/model) https://www.upwork.com/freelance-jo...sets-for-Unity-humanoids_~01077afb7689adb0ac/


    Sorry for the many questions. Maybe porting this information to the wiki will make it easier for commercial projects to decide for UMA. Once they know, where they can find someone to extend UMA and how much it will cost them.

    Cheers
     
  48. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    Art costs are all over the board. Be careful of super-cheap prices, sometimes beginner artists overestimate their ability and underestimate their time. Do your due diligence.

    Arteria3D and WillBGameArt do contract work. You may be able to use some of their stock content as well (not all of it is on the asset store... check out their sites). You can also post on the discord.

    You may be able to get away with getting someone to modify the normal maps as well, so the characters aren't so chiseled/busty.

    http://willbgameart.com
    http://arteria3d.com
     
    hopeful likes this.
  49. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    As for the children, have you tried the o3n models? If that will work for you, it's best to know that before you commission a lot of art, as the base models you'd use should be determined first.
     
  50. thedetective456

    thedetective456

    Joined:
    Oct 1, 2019
    Posts:
    35
    Hi,

    Thanks for your inputs.

    Yeah I was trying to mess around with UMA source to fit Hands in there but seemed worthless and I broke alot of things. I think I am better of using seperate meshes for gloves and rig them to move along with fingers.

    Thanks