Search Unity

  1. 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. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    Old versions would do that if a uma_glib wasn't in the scene. An exception would be thrown, and destroy the layout somehow.
     
  2. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    I didn't have materials assigned on the object so it threw the error. what causes this? upload_2022-10-13_1-13-18.png
     
  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    This is caused by exporting from Blender using incorrect export parameters. The export parameters are documented in the Content Creation pdf in the UMA Folder.
     
  4. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    but I didn't export that model from blender, that's the default human female I think.
     
  5. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    Make sure you haven't accidentally edited the racedata, and turned off the "Fixup Blender Rotations". Then rebuild your library and regen the character.
     
  6. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    I keep fixed up rotations on and just use the blender models directly but sometimes I get weird anomolies like this. notice his torso is 'pinched' around the buttocks. it seems kind of random when it happens and normally fixes itself if I start clicking buttons in the uma data script or dca script.
     

    Attached Files:

  7. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    his butt is still pinched, I can't figure out why tho.
     
  8. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    Are you sure your skinweights are set to unlimited in your quality settings (for every quality level)?
     
  9. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    they're set to 4bones
     
  10. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    Well, the squirrelly one above is probably due to changing the race without rebuilding the skeleton. This is optional on the avatar. Depending on what races you have, this may do something like this also.
     
  11. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    that is true, when I change the race with this custom uma model as the default all the other races are squirrely. I don't know why the custom one I am working had his hips shrink. I tried the bone builder and the extract tpose, but it's still acting inacurately.
     
    Last edited: Oct 16, 2022
  12. Peter54

    Peter54

    Joined:
    Apr 22, 2020
    Posts:
    4
    How to change the shader?
    Perhaps is the question how to change the shader without having UMA reset it on startup?
     
  13. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
  14. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,671
    UMA has a similar system in it. Did you know that? Or is the UMA implementation lacking in some way?
     
  15. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    I have used the uma system of hiding slots I wasn't sure if they complimented each other tho.
     
  16. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    here's another question. is there a way to force update the uma avatar in the scene view? sometimes I make changes in blender, upload the slots, and they don't display until I restart unity.
     
  17. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    oh that won't matter because I started using mixamo to create the rigs so I don't have to mess with making my own. happy umaing gguyz
     
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    The slots have a UMAMaterial assigned to them. The UMAMaterial specifies the material used.
     
  19. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    In the latest version, it should detect recipe changes. But if you have a circumstance where it doesn't, there is a "Regen" button in the inspector.
     
    hopeful likes this.
  20. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    I used mixamo to make rig a model for uma in unity but when I build the slots it's rotated 90 degrees forward on the z axis. I know there's a difference about y up and z forward between the two programs, and I followed a guide to rotate the character back 90 degrees, apply the transform and then rotate it back. but he's still off. any suggestions?
     
  21. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    if I switch to a default uma character they are upright, but mine is facing the ground. I noticed there is a -90 change on the x with the defaults but I can't get it to save for my character.
     
  22. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,671
    I'm not sure if you know about the UMA (Secret Anorak) Discord channel, but you might want to ask questions there. Generally there's more people in more frequent conversation, and you might get faster answers to your questions. IIRC, there's a link for the Discord in the documentation, or this link might work: https://discord.gg/PJEZ4REtfH
     
  23. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    my discord got banned and I can't join that channel anymore
     
  24. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    I worked on it all night and got it working finally. for anyone else who encounters this problem I had to reuse the warrioruma ummropg character prefab and it stopped resetting to a 90 degree offset. I guess my prefab was corrupt.
     
  25. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    Why were you banned? Was your account hacked? What was your user name?
     
  26. Peter54

    Peter54

    Joined:
    Apr 22, 2020
    Posts:
    4
    Thanks for the answer but why not let the user choose any shader?
    Another place where UMA decouples selections from the user is in SetupBones() in the UMAExpressionPlayer. The call from Initialize() seems to cause these choices to be incorrectly deselected.
     
  27. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    Of course the user can choose any shader - but UMA needs to know how to setup the material for the atlas, and which materials to combine together. So to use a new shader, just create a new material/umamaterial.

    In SetupBones, UMA turns those off if the bones do not exist. Otherwise, you would get Objref errors.

    I have half-started rewriting the expression player. The next revision will have expression be self-contained, and then dynamically added. They will be blendshapes, bone morphs, Color changes, etc. This will allow someone to smile and blush, or raise their eyebrows and create forehead wrinkles. But it's behind some other tasks.

    Of course, UMA is an open source project, so all contributions are welcome if you want to contribute.
     
    hopeful likes this.
  28. Peter54

    Peter54

    Joined:
    Apr 22, 2020
    Posts:
    4
    It sounds like very good and exciting ideas. With the usual expression player, it is difficult to combine several different expressions.

    As for SetupBones, I need to remove the call from Initialize. Everything then works without any Objref errors.
     
  29. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    my account was hacked and spammed discord nitro links to everyone until it got banned. gutts#0424 is my discord id.
     
  30. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    Ok - are you unhacked? I can unban your account if you're OK now.
     
  31. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    ya I was able to get the account reopened
     
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    You are unbanned - have fun
     
    hopeful likes this.
  33. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    337
    I started having problems after adding my races to the Addressables.
    It is in the global library and Addressables, and the Addressables are built.
    But when it gets to this code in SetRaceData, _data is null.

    _data = thisContext.GetRace(name);

    Is that not supported or am I missing something?

    upload_2022-10-24_11-39-43.png

    upload_2022-10-24_11-42-29.png
     
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    If you want your races to be available, they need to be loaded. Uma does not autoload them for you. The addressables sample code shows how to preload the races (if I recall correctly) But races do not take much memory - I would suggest you do not put them into addressables unless you need to dynamically update them.
    Anyway, you would need to preload them using LoadLabelList.
     
  35. AGS_Five

    AGS_Five

    Joined:
    Jul 18, 2019
    Posts:
    9
    EDIT: Found the prefab maker! :)

    Is there a way to save the randomly generated characters as prefabs from the "Random Characters" demo scene?
    Not looking to change the prefabs / clothes etc once created. Just need to batch create a few hundred, varied mobs.
     
    Last edited: Oct 25, 2022
  36. FenrirGameStudio

    FenrirGameStudio

    Joined:
    Dec 4, 2017
    Posts:
    7
    Hey guys : )
    Amazing work you've done with this asset, hat's off to you!

    I have a minor issue I believe, but I simply don't know enough about UMA to get my current UMA character setup working with the adjustment bones. For whatever reason it seems that my adjustment bones aren't carried over to the rig of the dynamic character.

    When I import the .fbx file into the scene, the bones are all there and they deform the mesh correctly when moved manually. They are also part of the T-pose data, but when the UMA is generated and the skeleton with it, it's missing all of my "Adjustment_" bones and the weird thing is that the breast bones are still there though they would presumably be working in the same way.

    Any help would be greatly appreciated!
    Thanks in advance : )





     
    Last edited: Oct 26, 2022
  37. ChristopherBKroll

    ChristopherBKroll

    Joined:
    Oct 24, 2022
    Posts:
    4
    Is the discord still active? The invite above looks to be expired.
     
  38. FenrirGameStudio

    FenrirGameStudio

    Joined:
    Dec 4, 2017
    Posts:
    7
    I just attempted and it worked fine for me : )
     
  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    Be sure to use the invite included in the documentation
     
  40. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    UMA will delete bones when you build a slot if that bone is not weighted, and they are not in the "keep bones" list.
    But since it sounds like they are weighted, my guess would be that something else is going on - first, make sure you have "rebuild skeleton" turned on in your DynamicCharacterAvatar, so if you are switching to your new race, all the new bones are loaded. Second, make sure you have rebuilt the T-Pose also. Another common issue is that people make new slots, and give the slots the same name as existing slots (either an earlier version, or the example race slots). This will cause the global library to ignore them. So if you added adjustment bones after you had created slots without them, make sure you delete or replace the old slots.

     
  41. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    337
    I have a question about using UMAWardrobeRecipe's with addressables.
    I see UMA doesn't add UMAWardrobeRecipe's to the addressables when I create the group.

    I have data files that I created that tells UMA what UMAWardrobeRecipe's to use.
    Neither my data files or the UMAWardrobeRecipe's are addressables.

    This causes many Addressable Dupe Dependencies.

    My initial thought is to change UMAWardrobeRecipe's to use addressables.
    Then I can have my data contain a string ref to the addressable location in Addressables.

    I am curious what is the "preferred" way to do this without having hundreds of Dupe Dependencies.
    upload_2022-10-27_11-3-29.png
     
    Last edited: Oct 27, 2022
  42. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    UMAWardrobeRecipe and UMATextRecipe do not contain references to anything, and should not cause any addressable duplicates. Are you following the guidelines on using UMA with addressables?

    The recommended way to do this is to use the alpha (delete the sql file if it causes an exception). Then enable UMA addressables, build using the Single Group Generator (fast), which will pack everything into individual bundles. Then when you build in your build script, regenerate your addressables, stripping materials so they do not get added to every bundle.
    This is a long conversation though, you might want to move to discord.
     
  43. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    337
    Ok I found out what the link between them is.

    So looking at dependencies look at this line :Assets/Apoth/RuntimeAssets/UMA/Version 1/Face/Slots/F_Face_SSS_Apoth.asset
    upload_2022-10-27_14-18-45.png

    I used "Asset Usage Finder" to find it's references.

    This is what I get:
    upload_2022-10-27_14-20-3.png

    F_HeadSSS_EarsOnly is a meshhider.
    So then I use "Asset Usage Finder" to find the mesh hider's references.
    upload_2022-10-27_14-21-41.png
    As you can see UMAWardrobeRecipe is referencing the meshhider.

    So that is the problem and reason for the Addressable Dupe Dependencies.

    Now the question is how to fix it?
     

    Attached Files:

  44. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    337
    upload_2022-10-27_14-30-12.png

    And in MeshHiders

    upload_2022-10-27_14-31-21.png
     
  45. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    337
    Should I be removing the reference to the slot in the mesh hider?
     
  46. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    Good catch. I think the simplest thing to do would be (in your build script) to loop through the MeshHideAssets and use FreeReference() on them, removing the slot reference. It tracks the name so it can Reload it anyway. But I think the ultimate solution will involve adding the MeshhideAssets to the library, and removing them from the recipe (keeping a list of the names on the recipe) at build time, and then looking them back up in ProcessNewItem (like we do Materials for this reason).
     
    LootlabGames likes this.
  47. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    337
    I am having a different problem when trying to edit the mesh hider.
    When I add a slot to the Occlusion Slot it is not showing it in the Scene view.
    I have tried many different slots and none show.
    But I know they are there because if I click raycast hidden faces it selects the hidden faces.
    Any idea how to fix it?
     
    Last edited: Oct 28, 2022
  48. FenrirGameStudio

    FenrirGameStudio

    Joined:
    Dec 4, 2017
    Posts:
    7
    Hey mate,

    Thank you for the detailed description : )
    I've managed to locate the issue. Apparently my new model was referencing slots from an old model and by wiping the data and recreating the slots the bones have now appeared!

    Thank you so much! : D
     
    Jaimi and hopeful like this.
  49. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,195
    That is drawn as a gizmo. You'll need to turn gizmos on.
     
  50. tleylan

    tleylan

    Joined:
    Jun 17, 2020
    Posts:
    613
    Hello. Wonder if someone can point me in a "useful" direction :) I have a working VR multiplayer PUN-based app I use for experimentation. I'm not happy with the avatars. I recently tried to incorporate the Meta Avatars but I'm getting so many warnings and errors that it is taking over my day. I'm watching a few UMA videos BUT... all that I am trying to do at this moment is to substitute better looking avatars for the ones I have. Can anyone point me to "if you do this you will have a basic avatar that works" type instructions? It needs to work with Unity 2021.3.10 (or later) URP and PUN2. I can't change everything just to improve the avatars a bit if you know what I mean. Thanks much. Oh, is there a Discord channel I couldn't find it?
     
    Last edited: Oct 28, 2022