Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. HedvigF

    HedvigF

    Joined:
    Mar 31, 2022
    Posts:
    3
    Hello :) I have a question about texture/shader offsets in UMA.

    I am currently trying to animate a mouth on a character, the mouth itself being a plane fitted to a 3D character while the texture is a texture sheet with several different mouth types to achieve a 2D mouth effect. The UV of the "mouth plane" is fit to the "first" mouth on the texture sheet.

    To my understanding UMA combines shaders somehow, but when I try to animate the offset in the UMArenderer it seems that all things that share that sort of shader (even if they have different materials) share values so other things get animated at the same time. For example, if I also have eyes in the same way (3D plane but with a texture sheet), they move at the same time. Is it possible to animate different things individually and having it work in runtime?

    Thanks!
     
  2. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    UMA is open source, on Github, and anybody can contribute new features. @Jaimi is generally running everything UMA right now, so he might be someone to talk to. Also this would be a good question to ask on the Discord.
     
  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    There are new options in the current Alpha to use existing materials. But you can also add shader parameters to shared colors to drive all the options on the material.
     
  4. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Hmm - I'm kind of snowed under at the moment with changes. It shouldn't be too hard if you or someone wants to make a go at it. Otherwise, I'll put it on the roadmap to get to when I have time.
     
  5. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    UMA can use UDIM, but only if you don't use an atlas. Otherwise, the tiling messes up the atlas UV coordinates.
     
  6. Immi

    Immi

    Joined:
    Jun 2, 2011
    Posts:
    81
    Hello,

    I have checked demo scene and characters (Male/Female) both are working fine, but I am facing an issue with my custom character. I want to create my custom character and adjust the bone system for change Height, Belly, Chest, Leg and Hand Size.

    Every time I am trying, it gives the bone-related error like (See attach output image)
    AvatarBuilder 'UMADynamicCharacterAvatar': Transform 'LeftEyeGlobe' for human bone 'LeftEye' not found
    AvatarBuilder 'UMADynamicCharacterAvatar': Transform 'LowerBack' for human bone 'Spine' not found
    AvatarBuilder 'UMADynamicCharacterAvatar': Required human bone 'Hips' not found

    I am using Blender 3.0, Unity 2021.3.7f1 and UMA 2.12 (Asset Store Version). Can any one help me to solve my issue?
     

    Attached Files:

  7. MAVG

    MAVG

    Joined:
    Feb 22, 2018
    Posts:
    41
    hello again i came with a question it maybe a little dumb but how do i use the following options?
    upload_2022-9-7_18-36-8.png
    i was looking for it in documentation and online docs but i found nothing and i tried to put a wardrove recipie (beard) in the mysical robe and then put the mystical robe and then the beard to see if it cancels it but it did nothing... what am i doing wrong... how do i do it right... did i miss a tutorial or... also what the tags to hide does and how do i use it? thank you in advance
     
  8. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    So about that research about metahuman and co. Just putting that there for those who are interested and for sake of completude @Jaimi

    My assumption that Metahuman was bone only, was people transferring the rig in maya to a different mesh, which wouldn't be possible without bone, I can't say I'm sure 100%. However Digging down how they could have done that I found out about SSDR (smooth skin decomposition with rigid bone) Which had been showcased by Naughty dog's Hans Goddard and put on github freely by electronic arts (de bones).

    It's a technique that turn blendshape animation into bone animations. Metahuman seems to have used a library of scan to make their solution, the rig looks like what UMA does, animation bones with shape bones as child, but instead of one shape bone, they have many, probably found using SSDR.

    While UMA isn't a "character mesh" solutions, it's code oriented and model agnostic, one big criticism was about the quality of the human mesh. I can forsee a UMA 3 human mesh that could compete with other solution out there, providing we can get hold of good input data in some way, then using SSDR to convert the data into "bone shaping".

    However it wouldn't be as easy as using SSDR, the tools currently availaible, turn blendshape, as alembic file, into bone animation, we probably need to export many blendshape as animation, find the bone, then rig that back by parenting the bone in a global rig, which sound like a lot of fiddly tasks and iterations before getting something good and getting the parameters and workflow down for automation.

    There is also the issue of getting data for shaping. I did a mild dive into face capture (but not body) to see what everyone is doing. We could probably get some result with "traditional" scan using a phone, then using facial recognition (like open cv) on the mesh to align with a generic head mesh with a good topology, which could be rigged to the 468 detected markers as bones, so that we fit the mesh by simply capturing them, then transfer the vertex to an adequately rigged mesh, eventually cleaning up the result.

    Sources:
    SSDR Paper: https://binh.graphics/papers/2012sa-ssdr/
    SSDR tool: https://github.com/electronicarts/dem-bones

     
    Jaimi, kenamis and hopeful like this.
  9. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    It’s with great news that Arteria3d, is now 18 years old.. cant quite believe where the time has gone

    Many of these years have been working with UMA and with great appreciation to all for the support of Arteria's UMA costume collection

    Today/Tomorrow only we are offering our full suite of UMA's costumes for just $99. Any customer who purchases this will also receive a custom costume item created custom for them(i.e. to their design and needs). This is limited to the first 20 customers.

    To purchase please use the link below:

    https://arteria3d.myshopify.com/products/arteria3d-17th-birthday-uma-special
     
    Jaimi likes this.
  10. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    It sounds like the T-Pose does not match the model.
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    "Incompatible Recipes" is just there for the user to use when creating their UI. It allows you to remove recipes that you don't want to display. UMA does not do anything with this field.

    "Tags to hide" will hide any slots that have the specified tag on it. The tag can be defined on the slot, but is actually only looked at in the recipe. So if you add a tag after the recipe is created, it won't see it.
     
  12. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yeah, this does look interesting. I've been thinking to put up a Patreon to raise money to get better models/skins made, and create a new base... Just need to find time, there is so little of it anymore.
     
    neoshaman likes this.
  13. sethcambron

    sethcambron

    Joined:
    Mar 16, 2021
    Posts:
    6
    I want to change the Avatar on my animator component and UMA seems to be making it so that it changes to one I don't want every time I run the project. Any Ideas what is happening and how to fix it?
     
  14. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Since an uma can be different races (creatures, people, things, etc), it has a provision to assign animators based on race. Look at the section for race animators on the component, and set your animator controller there.
     
  15. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    85
    I ended up using 2 slots per hair. 1 Slot uses the hair shader that can be found when downloading the samples found in the HDRP software in the package manager. It ends up looking very "thin" I then use a Lit shader to fill it out


     

    Attached Files:

    • 4.jpg
      4.jpg
      File size:
      252.6 KB
      Views:
      152
    • 3.jpg
      3.jpg
      File size:
      195.1 KB
      Views:
      149
    • 2.jpg
      2.jpg
      File size:
      140.3 KB
      Views:
      149
    • 1.jpg
      1.jpg
      File size:
      180.5 KB
      Views:
      143
    Jaimi likes this.
  16. ContactVR

    ContactVR

    Joined:
    Feb 19, 2021
    Posts:
    12
    Hello, I want to do the same. Did you find how?
     
  17. ContactVR

    ContactVR

    Joined:
    Feb 19, 2021
    Posts:
    12
    More specifically, I want my player (first person in front of a mirror) to choose either a male or female avatar, and from one recipe or another. The four recipes (Male recipe 1, Male recipe 2, Female recipe 1, Female recipe 2) were saved in the resources folder as mentioned by SecretAnorak, but I am not really sure how to include a "recipe loader" or "recipe switcher" in the script.
     
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    There is a sample scene that shows how to load and save the avatardefinition.. look for the scenes that start with "How to"
     
  19. jacob_unity989

    jacob_unity989

    Joined:
    Jan 10, 2022
    Posts:
    8
    Thank you for answer. I'm not a programmer, so I can't edit the code myself, but as a user I can give my opinion. If the circumstances allow, I hope that I can also crawl into the development of assets.
     
  20. jacob_unity989

    jacob_unity989

    Joined:
    Jan 10, 2022
    Posts:
    8
    Thank you for answer. Although I can't understand everything, I'll try to understand it by studying it.
     
  21. jacob_unity989

    jacob_unity989

    Joined:
    Jan 10, 2022
    Posts:
    8
    Thank you for answer. Research on the function is not urgent right now, so we will check the function again and study it when necessary.
     
  22. jacob_unity989

    jacob_unity989

    Joined:
    Jan 10, 2022
    Posts:
    8
    We are currently in the middle of setting up DNA customization using Adjust Bone. In previous research, we confirmed that DNA customization control is not possible if you have animation keys. However, even if there are no animation keys at all, there is a problem that the customization function does not work, which slows the progress of the work. In order to make it work normally, it would be appreciated if you could advise if anything other than the DNA controller and Dynamic DNA is needed, or if other options should be checked inside.

    And our company's new version of the app has been released and introduced.
    UMA was utilized in the development of the avatar. App name is <Moim Planet>

    https://play.google.com/store/apps/details?id=com.grid.moimplanet
    https://apps.apple.com/kr/app/moim-planet/id1633928215
     
  23. Immi

    Immi

    Joined:
    Jun 2, 2011
    Posts:
    81
    Hello,
    I have integrate one female character in UMA, Female character's animation and rendering working fine,but my issue in DNA Controller and changes in DNA Values. Head, Legs, Hands are working but issue in belly and waist. it's not working properly. When we scale bone in blender, it looks fine but same thing doesn't work when I scale in Unity. It gives very bad output. May be I am missing some settings to follow. Can you please help me with the same? I have attached screenshots too for the reference.

    I am using Blender 3.0, Unity 2021.3.7f1 and UMA 2.12 (Asset Store Version).
     

    Attached Files:

  24. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    Just a guess, but is your Unity skin weight 4 bones ... or less? That's a setting in Project Settings > Quality : Meshes (at the very bottom of the Quality page). It needs to be at least 4 bones (or Unlimited).
     
  25. Immi

    Immi

    Joined:
    Jun 2, 2011
    Posts:
    81
    Yes the Unity skin weight is 4 bones and checked the settings too. It was set to 4. I tried changing that too. But that didn't help. Also checked demo character HumanMale and HumanFemale, both are working properly.
    Any other setting I am missing?
     
  26. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    If this is the first character you have imported into UMA, chances are any error is coming from not having the export settings exactly right in Blender. It's super common for people to make an error on that when they first start going from Blender to UMA. But if that's not it, then I'd defer to @Jaimi, as he's most knowledgeable on these things.
     
  27. Aaron2348

    Aaron2348

    Joined:
    Dec 12, 2016
    Posts:
    328
    Hey I need some help, Im having trouble with understanding why im getting this wierd deformation in the default Human Female face. I've tried importing Uma into an empty project but im still having this issue. Anyone who can help i'll be very thankful of ya Screenshot 2022-09-28 222443.png .
     
  28. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Your quality settings are limiting the skinweights.
     
  29. Aaron2348

    Aaron2348

    Joined:
    Dec 12, 2016
    Posts:
    328
    Hey thanks so much for getting back to me , Okay i see putting the quality settings to high is were skinweights start to look correct,does this pretty much mean the skin weights will not look correct for the female when using the low or medium quality option in the quality settings, is there a way around that?
     
  30. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No, it just means you need to update all your quality settings to have at least 4 skinweights. Best to make them unlimited.
     
    Aaron2348 likes this.
  31. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    I've never done any testing on this, but is the performance difference minimal when going to unlimited? On desktop?
     
  32. Aaron2348

    Aaron2348

    Joined:
    Dec 12, 2016
    Posts:
    328
    Hey so i've been running some test and I have it working correct with the prefab without lod support just not the DynamicAvatrLod prefab. Is it that the DynamicAvatarLod prefab this will not work with?
     
  33. Aaron2348

    Aaron2348

    Joined:
    Dec 12, 2016
    Posts:
    328
    @Jaimi Another quick question does uma not work in linear color space?
     
  34. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    It's for linear color space.
     
  35. sethcambron

    sethcambron

    Joined:
    Mar 16, 2021
    Posts:
    6
    I can change the controller I need to it from change the avatar. Uma seems to be changing the avatar on play which is breaking the animations.
     
  36. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    my hair is disappearing at runtime. any ideas why? eyebrows and beards stay put but hair disappears!
     
  37. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If you do not want UMA to change the animator, you have to set the "Keep Animator Controller" option. But also you could just put your animator in the "Default animator controller" in the race change options.
     
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    My guess would be something with the slot. Are you sure it has a unique name? Are you getting any errors in the console?
     
  39. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    I decided to restart the project because hair wasn't working in ummorpg 2.37 but was working in 2.39. however now I have a new problem, when try to add wardrobe recipes to the randomizer it defaults to the skycar instead of the models I have made for uma. any reason why that happens? after trying a few times it looks like it always goes up 1 on the list, for instance: if I select the bottom race it will take the one right above it, if I chose the second from the bottom it choses the one above that, but if I chose the top one it glitches out and I have to delete the file. is there a way to organize that list?
     
    Last edited: Oct 10, 2022
  40. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    I did fix this by making an empty race, however the first race still doesn't show up on the list which can be found in the global library. g8m? anyway, thought i'd document any errors I encounter on while I proceed.
     
  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Make sure your races have unique "race name" set on the racedata. This kind of think is usually caused by forgetting to set the internal name of the object (race name on races, overlay name on overlays, slot name on slots). These things are looked up by the internal name in the library.
     
  42. manwitch

    manwitch

    Joined:
    May 28, 2019
    Posts:
    7
    So, I'm facing this problem with UMA. Most character creators (that I own or have tried) need the animator component on the parent and the uma (or any 3d model) as a child of the controller. But UMA needs (in fact forces) the animator component on the model, I've tried changing all the GetComponent.animator to GetComponentInParent (although I know I've more than likely missed something here) But no matter what I try I can't get the uma to read that the animator is there in the parent.

    I've been struggling with this for a year now. I've found some work arounds (like disabling one and enabling another in the inspector after starting the scene) So I could finish working on other aspects of my project. Now I have the world, spawners for items and enemies, inventory. etc. so the project is nearly complete. But I can't figure out this last hurdle.

    Any help is appreciated.
     
  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    In the current alpha version, you can remove the animator from the character, and remove the references to the animator controller in the component, turn on "Keep animator", and it will generate the UMA and not add an animator.
    But having the UMA as a child seems problematic - it seems like that would break all non-mecanim animations.
     
    manwitch likes this.
  44. manwitch

    manwitch

    Joined:
    May 28, 2019
    Posts:
    7
    Thanks for the reply! So, the alpha version is acquired from the git page and not the store or package manager? I normally stay away from alphas lol. The version I use now (from the package manager) has the "Keep Animator" option, but it seems to add an animator whether checked or not ... I suppose because it's not the alpha?

    Regarding - "But having the UMA as a child seems problematic - it seems like that would break all non-mecanim animations." Can I ask what makes the UMA model different from any other model that would cause this, since the controller works flawlessly with other models? Or are you saying that having ANY model as a child would be problematic?
     
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yeah - the "feature 13" branch is the latest.

    Non-mecanim animations are resolved by the animator by their path, so if you change the path, the animation will be broken. This is not the case for Mecanim (which handles it differentlly). So if you layer animations on top of you mecanim animations, then you'll need to modify them.
     
    manwitch likes this.
  46. manwitch

    manwitch

    Joined:
    May 28, 2019
    Posts:
    7
    Thank you very much for your time, and your knowledge. I guess I'm off to discover the difference in mechanim and non mechanim animations, lol, I had no idea there was a difference. Thanks again.
     
  47. Tobymeadows

    Tobymeadows

    Joined:
    Apr 13, 2015
    Posts:
    1
    Hey there! Not sure if I'm missing a fundamental step, but I'm trying to use the same UV space for my clothing mesh and base character mesh. They're unwrapped in a way they use the same space, when I add the wardrobe recipe it overlays the clothing texture correctly and also creates another texture in the atlas outside of the skin overlay. Is this possible or am I misunderstanding something? Thanks!
     
  48. cidolfas2015

    cidolfas2015

    Joined:
    Sep 27, 2015
    Posts:
    87
    any idea why this happens? this is the recipe inspector.
     

    Attached Files:

    • ....PNG
      ....PNG
      File size:
      24.4 KB
      Views:
      127
  49. sethcambron

    sethcambron

    Joined:
    Mar 16, 2021
    Posts:
    6
    That worked thanks.
     
  50. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    I believe that's a Unity error that happens in certain versions, I forget which ones.