Search Unity

  1. Unity 6 Preview is now available. To find out what's new, have a look at our Unity 6 Preview blog post.
    Dismiss Notice
  2. Unity is excited to announce that we will be collaborating with TheXPlace for a summer game jam from June 13 - June 19. Learn more.
    Dismiss Notice

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. faizan143143

    faizan143143

    Joined:
    Oct 24, 2017
    Posts:
    7
     

    Attached Files:

  2. faizan143143

    faizan143143

    Joined:
    Oct 24, 2017
    Posts:
    7
    Please help me on this error my blandedshapes are not working correctly
     
  3. BrocaTech

    BrocaTech

    Joined:
    Jan 6, 2023
    Posts:
    1
    Is there a guide on how to extract the character from Blender 3.x so that it also works with UMA2?

    Currently it doesn't work at all. When I have finished the text receipe, the character is not displayed and then there are various errors.

    One of the errors is:
    Code (CSharp):
    1. uma2 slot '_10' material channel 0 refers to material property '_basemap' but no such property exists.
     
  4. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    UMA works fine in 2021

    The issue you have is HDRP. You will need to update UMA Materials, overlays and slots for the races to get it to work (and then after that...for all the wardrobe recipes for all the clothing you have)

    There was a github that did that for two of the races that you could use

    GitHub - kenamis/UMAHumanHD: Example Default Human Male and Female for use with Unity HDRP

    So spend some time understanding the Material -> Overlay -> slot relationship
     
  5. angiemon

    angiemon

    Joined:
    Mar 26, 2018
    Posts:
    38
    Hi guys! Maybe someone can help me again:

    My UMA faces are weird, in the editor and in the build, in the build very much so.

    Editor:
    UMAEditor.png

    Build:
    UMABuild.png

    Skin Weights in Quality Settings are set to Unlimited (in all the quality Levels)

    Thanks!! :)
     
  6. dreb4o

    dreb4o

    Joined:
    Mar 29, 2015
    Posts:
    54
    Hi
    New project - HDRP - Unity LTS - 2021.3.16f
    I put Gaia - i use her HDRP settings
    I put Uma - first error

    NullReferenceException: Object reference not set to an instance of an object
    UMA.CharacterSystem.DynamicCharacterAvatar.GetBodyColorNames () (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterAvatar.cs:2081)

    does uma support HDRP ?
     
  7. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    I have been using UMA with HDRP for a while now. By default though all the materials use the built in rendering engine.

    Look at my post, just 3 up from this one. Hopefully that will help you.
     
  8. dreb4o

    dreb4o

    Joined:
    Mar 29, 2015
    Posts:
    54
    i found this
    I don't know if it's legit - https://github.com/umasteeringgroup/UMA/releases
    does this version fix the bugs?

    your suggestion doesn't remove the errors
    I don't think it's just about materials.
     
    Last edited: Jan 19, 2023
  9. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    Thats the main github for UMA. So, yes it is legit. Fix your bugs?? Unsure. Depends on your version, but in my experience errors like that usually come from errors in the underlying recipes.
     
  10. WeeHarrison

    WeeHarrison

    Joined:
    Aug 23, 2022
    Posts:
    1
    Hi

    I've been following Secret Anorak's tutorial videos but I've ran into a problem. When trying to create a slot (whether for building a new race or creating a new wardrobe item), certain files aren't generating. I get the slot and overlay files, but no mesh file or anything else.

    Taking my attempt to create a new slot for building my new races as an example - I've set up the character model with the required global and position bones at the top of the heirarchy, I've set the model to humanoid, and I've extracted a T-pose without issue. I used the slot builder to create seperated body parts which the seams mesh will stich together. This is where the problem happens. The slot builder doesn't generate the full set of files I expected. Only slot and overlay files. I followed the tutorial on how to use the slot builder without deviating from the insturctions.

    upload_2023-1-23_12-40-35.png

    I'm using unity version 2021.3.1f1

    I have the following messages in the console:

    upload_2023-1-23_12-41-25.png

    Does anyone know what this means, or how to address it? Any help would be very much appreciated.
     
  11. mattseaton22

    mattseaton22

    Joined:
    Sep 12, 2019
    Posts:
    43
    Has anyone managed to get facial mocap working with the UMA models? Any advice? Setting up all the ARKit blendshapes and configuring the face mapper is a very tedious process.
     
  12. Junior_Djjr

    Junior_Djjr

    Joined:
    Nov 3, 2017
    Posts:
    11
    Is it really possible to use UMA completely async, without a pause? I setup the addressables and used the addressables demo scene, disabling "fast generation" and "process all pending" e decreasing texture scale a lot, but there is still a pause of a few milliseconds, which is much worse when I use a more detailed race.

    I need to use this in realtime in my game (for random NPCs). It can take a time to build, I don't care, I just would like to fix that pause.
     
  13. mattseaton22

    mattseaton22

    Joined:
    Sep 12, 2019
    Posts:
    43
    Having issues with crashing while editing a mesh hide asset. Every time I hit save & return, unity crashes. Log attached. Using develop branch.

    The reason I'm trying to generate a mesh hide asset in the first place is because I can't get HDRP materials to work properly with hair/transparent materials. Eyebrows were half occluded behind the face. I had to set material "depth test" property to Always to get them to look right.

    But when I try this with head hair, the hair behind the head is rendered through the front of the face. I set it to LessEqual and it looks better but some parts of the hair mesh are not rendering now. See attached pics. Any advice from anyone? How do I set up my hair material to get it looking right? I tried both HDRP/Hair and HDRP/Lit shaders. Same result, but for some reason eyebrows do not render through the back of the head with the same material. I don't get it. Also tried Lit shader in opaque mode with alpha clipping. No depth test, but still parts of the mesh aren't rendering. I can see the faces in the wireframe though.

    I don't even know if a mesh hide asset would work. Just trying random things.
     

    Attached Files:

    Last edited: Feb 11, 2023
  14. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    Well..I have not had an issue with creating/saving mesh hide assets. I am using Unity 2021.3.7 with HDRP 12.1.7, UMA 2.12

    Also, Never used mesh hide with hair either. I use WillB's hair but that would be hard to get these days.

    What I do with Hair is create two slots for each hair. 1 slot is a "base" layer and the other layer is a "transparent" layer
    So far I am happy with it.

    Material properties in pictures
     

    Attached Files:

    • 1.png
      1.png
      File size:
      50.5 KB
      Views:
      114
    • 2.png
      2.png
      File size:
      53.7 KB
      Views:
      118
    • 3.png
      3.png
      File size:
      89.4 KB
      Views:
      113
    • 4.png
      4.png
      File size:
      1.4 MB
      Views:
      122
  15. mattseaton22

    mattseaton22

    Joined:
    Sep 12, 2019
    Posts:
    43
    I think there's something weird happening with this particular mesh. It looks weird in that spot just as a regular object in the scene. I tried the ponytail and it looks normal. Was just worried about putting in too much effort in collecting assets if this was going to be an issue.

    A couple questions for those of you more familiar than me.

    How do you find the skinned mesh that has previously been assigned to a slot? I see the meshdata dropdown but it only shows some mesh info, # vertices etc, but does not have a way to find the actual skinned mesh asset that was used. I'm trying to find the eyebrow mesh asset but I can't find it. I also don't see any eyebrow meshes in the blender base files.

    What happened to WillB's models? His site is shut down or something? Anywhere else to get decent models?

    I was also wondering what sort of functionality would we be sacrificing if we create our own races. I assume things like expressions are only set up to work with the UMA base models.

    On a related note, does anyone know if it's possible to get facial mocap working (in blender or unity or elsewhere) with the existing uma facial bone rig? The whole idea of setting up visemes and using lipsync addons seems to produce very low quality facial animations. On the other hand, it seems like all the ARKit stuff (e.g. Unity's Live Capture package) relies on blendshapes/shape keys instead? Is there any easy existing method to convert facial bone poses into shape keys in blender without doing all the tedious work by hand? I will do it by hand if I have to but if there's a better way then I don't want to waste time. But I need to find the eyebrow mesh.
     
    Last edited: Feb 12, 2023
  16. mattseaton22

    mattseaton22

    Joined:
    Sep 12, 2019
    Posts:
    43
    Anyone know why my eyes are black?
     

    Attached Files:

    • 1.png
      1.png
      File size:
      611.1 KB
      Views:
      108
  17. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    It will be in the material/slot definition for the eyes.
     
  18. mattseaton22

    mattseaton22

    Joined:
    Sep 12, 2019
    Posts:
    43
    The material is the same as the body.
    The overlay uses a texture which is correctly added to the atlas as shown in the upper left (see prev. post).
    You can see the UV also matches up with the texture.
    Still they are black. And just to be clear, no the shared eye color is not set to black.
    I don't get it.

    I filled the other texture slots with random textures to suppress a warning. The skin does not use all 4 textures and it still works fine, but just in case...

    Do I need to adjust the rect values? It's unclear what they are for.
     

    Attached Files:

    • 1.png
      1.png
      File size:
      429.1 KB
      Views:
      91
    • 2.png
      2.png
      File size:
      438.7 KB
      Views:
      94
    Last edited: Feb 13, 2023
  19. hhenriques1999

    hhenriques1999

    Joined:
    Feb 8, 2023
    Posts:
    2
    No matter what I do I can't get characters to show up in the build. I've looked at the Global Library, ticked all the boxes, went to File -> Rebuild from Project yet... Nothing. It works on the editor and even on the preview but after building and going to the actual app (Android Build) I just don't see the character anywhere.
    I'm at a loss cause I've looked everywhere and I don't see any guides on how to put it in the build. It's very, very confusing. Anyone?

    It's even worse now:
     
    Last edited: Feb 13, 2023
  20. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    Well...skin is not the same as eyes so I am not sure why you are using the same material (I use Sub surface scattering with two different diffusion profiles)

    If you separate them out as a different material, you can then play with shader settings and see how the eyes change.

    For my eyes, when I change my the type from sub surface to standard the eyes change to black too. Its maybe a shadow.
     

    Attached Files:

    • 1.png
      1.png
      File size:
      433 KB
      Views:
      96
    • 2.png
      2.png
      File size:
      366.5 KB
      Views:
      94
  21. mattseaton22

    mattseaton22

    Joined:
    Sep 12, 2019
    Posts:
    43
    OMG this actually helped me figure it out. There was actually a second mesh for the lens which was getting shaded black, covering up the iris.
     
  22. hhenriques1999

    hhenriques1999

    Joined:
    Feb 8, 2023
    Posts:
    2


    I don't even know what's wrong at this point. Even trying to add an empty character breaks everything...
     
  23. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    lol Yea that one should be transparent
     
  24. mattseaton22

    mattseaton22

    Joined:
    Sep 12, 2019
    Posts:
    43
    Okay. I'm making some progress.

    Regarding facial mocap. I found you can export Daz models with all ARKit blendshapes required by the Live Capture package already prebuilt onto the model. However I was disappointed to see in Unity there are no blendshapes appearing on the UMARenderer object. They are on the base skinned mesh if I just drop it in the scene. Is there a setting I'm missing somewhere? Please tell me blendshapes can be made accessible outside the DNA / UMAData system. EDIT: Found the "Load Blendshapes" boolean on the avatar script. I guess I was tired last night.

    I've also have a problem with creating hair. You can see it looks normal on the are fbx(middle) but when I add it to my character (left) I get a bunch of rogue triangles all over the body. I don't understand. Where is this extra geometry coming from? And why does her bra disappear when I add the hair? The bra is in the chest slot and the hair is in the hair slot.
     

    Attached Files:

    • 1.png
      1.png
      File size:
      507.5 KB
      Views:
      107
    Last edited: Feb 18, 2023
  25. TheAmazingB74

    TheAmazingB74

    Joined:
    Aug 28, 2015
    Posts:
    14
    Is there anything in uma that makes it so I can't turn off the skinned mesh renderer at runtime. In the past when I wanted to make a character "invisible", I would just turn the renderer off. Seems I can't do that w UMA model
     
  26. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    DynamicCharacterAvatar.Hide = true
     
  27. o_lli

    o_lli

    Joined:
    Sep 30, 2020
    Posts:
    2
    Hello, I am a newbie to UMA. How can I spawn an predefined UMA character on runtime?
    Usually, in my game, I do:


    private GameObject myUMA;
    [...]
    GameObject go = Instantiate(myUMA, networkContainer);
    [...]

    What steps does the UMA prefab need to appear?
    How can I predefine it by a string?

    I am completely lost.
    Where can I get information, easy to understand?
    Thank you for any help.
     
  28. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    #1 Look at the Demo for UMA Random Characters

    #2 Check out the UMA -> Load and Save -> Save Selected Avatar menu

    use the text file created in the Load/Save options of the Dynamic Character Avatar script of your prefab
     
  29. Nusametadeveloper

    Nusametadeveloper

    Joined:
    Aug 9, 2022
    Posts:
    2
    I have this shader that can resulted in gradient color for the hair, it exposes _ColorTop, _ColorBottom, and _Origin for the middle ground where these colors meet, this is the setting that I have
    upload_2023-3-1_12-18-48.png

    I can actually change the colors and the origin through the Unity Editor, but I have no idea how to change these colors in codes, anyone can help me with it?
     
  30. VR_Junkie

    VR_Junkie

    Joined:
    Nov 26, 2016
    Posts:
    77
    How can I export the UMA as a model for blender use? Like convert an UMA to an fbx (dont need the clothes just the base)

    Update: Nevermind I figured it out. I can make the UMA into a prefab using the built in tool and then use Unitys built in fbx exporter to export it
     
    Last edited: Mar 3, 2023
    Jaimi likes this.
  31. waseku

    waseku

    Joined:
    Jun 28, 2020
    Posts:
    7
    i am using UMA for quite long time. recently i started to have weird issues of characters becoming ghosts
    What could be the cause of this? It is kind of 50 50 , i change something than it goes away for few runs then it appear again. It would really help me if someone has idea what could be the cause.
    upload_2023-3-9_16-54-56.png

    EDIT: changed atlas to 2048 and i have not seen it happen again. Will see.
     
    Last edited: Mar 10, 2023
  32. o_lli

    o_lli

    Joined:
    Sep 30, 2020
    Posts:
    2
    Thank you for your reply.
    I could get the UMA Random Characters Demo into my scene.
    Still, I don't know how to spawn these characters on runtime.
    Would I generate them first, save them, and later, on spawn time, I would load them again?
    I dont understand the work flow.
     
  33. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    This is just by memory, so may not be 100% correct

    In the editor, adjust your uma until you are happy. Add wardrobe, mod the dna

    When you are done use the Save avatar menu to save a text file. This file will contain all the settings to recreate the UMA

    Put this file into a resource folder. (Folder named Resource one of those special folders like Editor)

    Anyways, reference this file in the Load/Save Options in your UMA prefab. Dynamic Character Avatar script

    When you spawn the prefab, it should use the text file to setup your uma
     
  34. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    86
    First of all. What changed? Did you import a new package/update a package? Multiple packages? Does that include a package that adds some graphical enhancements?

    I would start by turning off all post processing.

    Second, check the umarenderer object and see what shaders are being used. Tinker with some of the settings to see what happens.
     
  35. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,211
    Holy Smokes! I've not been getting notifications for this thread.
     
  36. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,211
    Typically, you would get the OverlayColorData from the DynamicCharacterAvatar: (var MyColor = GetColor("ColorName"))
    Then you would get the propertyblock from the OverlayColorData, and modify the shaderproperties: MyColor.PropertyBlock.shaderProperties;

    Updating them doesn't update the materials. You would need to call DynamicCharacterAvatar.ForceUpdate(false, true, false); to rebuild the materials.
     
  37. vonSchlank

    vonSchlank

    Joined:
    Jan 5, 2017
    Posts:
    39
    Hello,
    What do you mean by "after every build"?
    Do you mean "DCA.BuildCharacter();" should trigger "DCA.CharacterUpdated"?
    Maybe i'm looking at the wrong direction, but with
    Code (CSharp):
    1. DCA.CharacterUpdated = new UMADataEvent();                DCA.CharacterUpdated.AddListener(UMAUpdated);
    2.  
    "UMAUpdated" doesn't seem to be called after "DCA.BuildCharacter();"
    What do i do wrong?
     
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,211
    Updated events are called in play mode, but not when the character is generated using Edit time generation in edit mode. CharacterCreated is the same, but only called once.
    CharacterCreated and CharacterUpdated will both be called on the first generation, but only CharacterUpdated will be called after that.

    BuildCharacter will set the UMAData.CharacterUpdated event. So if you are setting the event *after* calling BuildCharacter, it will not be called until the next build. so you should either set it on the component, or set it before calling BuildCharacter().

    Code (CSharp):
    1.         public void FireUpdatedEvent(bool cancelled)
    2.         {
    3.             this.cancelled = cancelled;
    4.             if (CharacterBeforeUpdated != null)
    5.             {
    6.                 CharacterBeforeUpdated.Invoke(this);
    7.             }
    8.  
    9.             if (!this.cancelled && !isOfficiallyCreated)
    10.             {
    11.                 isOfficiallyCreated = true;
    12.                 if (CharacterCreated != null)
    13.                 {
    14.                     CharacterCreated.Invoke(this);
    15.                 }
    16.             }
    17.             if (CharacterUpdated != null)
    18.             {
    19.                 CharacterUpdated.Invoke(this);
    20.             }
    21.             dirty = false;
    22.         }
    DCA.BuildCharacter won't directly result in a call to CharacterUpdated. This is because the UMA is put in a queue, and pulled out of the queue and generated in a different component (the UMAGenerator). This could be the current frame, or the next frame, depending on the order of game objects.

    If you're not getting a CharacterUpdated event in play mode, you might want to step through the code in the FireUpdatedEvent and see if the CharacterUpdated is null for some reason.
     
  39. vonSchlank

    vonSchlank

    Joined:
    Jan 5, 2017
    Posts:
    39
    Thank you for your quick reply - i have to say a wasn't expecting such a quick response. :)
    I'm on a different branch now, but i'll check your answer as soon as possible.
    Again, thank you!
     
  40. petroslouca

    petroslouca

    Joined:
    May 17, 2018
    Posts:
    14
    Have you managed to get answer for the expression documentation or to your question/hypothesis regarding the recording of expression and saving them to a clip in order to play back later? It would really be useful if an expression clip could be generated from a speech audio file of from a custom facial MOCAP anim clip produced while making talking the words.

    Looking into the FacialAnimationDemo clip included with UMA asset package, about 8-10 joints are mainly used to accomplish the talking, concerning jaws, mouth and lip bone joints. Possibly a facial MOCAP could be mapped to these properly to have the expressions anim layer function as desired but no online resource was found to help me.
     
    Last edited: Apr 8, 2023
  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,211
    Salsa LipSync uses the expression player to simulate expressions while talking. There is a "blendshape emulator" included with the latest UMA also to allow you to use blendshape-based lip-syncing solutions.
     
  42. petroslouca

    petroslouca

    Joined:
    May 17, 2018
    Posts:
    14
    Thank you for your reply. As I am developing AR mobile apps and keeping the processing and memory demands as low as possible is very important, I presume that real-time lip sync is not suitable in my case. I would prefer creating and using a pre-made facial animation clip just like the one bundled with UMA package (FacialAnimationDemo clip).
     
  43. joihnsonlee

    joihnsonlee

    Joined:
    Nov 21, 2013
    Posts:
    14
    hi where can i find uma 2 youtube tutorials?
     
  44. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,211
    bdb400 likes this.
  45. charris456

    charris456

    Joined:
    Nov 25, 2012
    Posts:
    29
    Is UMA still getting developed? Last release on the develop branch was a few months ago, and the asset store version is a few years old.
     
  46. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,211
    Yes - I'm still working on it. I make changes in production, and then work them back into the dev branch when I get a chance.
     
  47. joihnsonlee

    joihnsonlee

    Joined:
    Nov 21, 2013
    Posts:
    14
    hi i have a problem.

    i tried adding hair from
    to the model found


    but when i try to make it into a fbx it looks like this?

    and the strange thing is it was working before being a fbx shown here


    please help?
     
  48. Kst001

    Kst001

    Joined:
    Sep 14, 2021
    Posts:
    16
    There are 2 episodes on integrating Dynamic Bone with UMA. Why was Dynamic Bone selected? Why not Magica Cloth or other asset for physics simulation?
     
  49. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,211
    Dynamic bone is popular. But UMA has support for Unity cloth already (with all it's shortcomings). But it's an open source project, feel free to create any integration that you like, more contributions are always welcome.
     
  50. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,698
    At the time, Dynamic Bone was new. Magica and other solutions did not exist.
     
    Kst001 likes this.