Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. brendenguy

    brendenguy

    Joined:
    Nov 25, 2013
    Posts:
    7
    I spoke too soon. It is still happening with the new default renderer and 'Update When Offscreen' enabled. Any other ideas?
     
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    First thing to do is verify if the bounds are indeed messed up. Move your character to where it disappears, and pause the game. Go into the scene view, drill down into the GameObject with the DCA, and find the UMARenderer. Select that. It should show the bounds in white around the character:

    bounds.png

    If it looks like this, then the problem isn't the bounds. If it's not the bounds, I have no idea what could be causing it - except if you added some sort of occlusion culling, and it's breaking down. Or maybe, your character is getting into a physics bad spot and dropping through the world.

    If the bounds are generating, but in the wrong location, You can adjust the bounds in the "overall modifiers" of the Dna Converter Controller for your race. It should look like this for the default UMA:

    dnaconvertercontroller.png
     
  3. walkingwithmywolf

    walkingwithmywolf

    Joined:
    Aug 11, 2020
    Posts:
    3
    Hi,

    I have a case of the UMA character colors only working at runtime, and when they do, they can't be saved. Any ideas, please? There doesn't seem to be the usual slots for Hair and Skin, just blank boxes with black and white color ranges and no refences.
     
  4. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Clear the colors by setting the count to 0. Then the system will re-read the shared colors from the base race recipe. As well, you can always add colors just by increasing the count. Be sure to set the filter to show "all".
     
    walkingwithmywolf likes this.
  5. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
    Hello,

    I am getting the following error:
    The type or namespace name 'UMAGeneratorGLib' could not be found (are you missing a using directive or an assembly reference?)
    It's coming from line 8 in the UMAGeneratorGLibEditor class.

    I am not sure if just deleting the line is the best solution or not. So, I figured I'd reach out for insight and a suggested solution.

    TIA,
    Boysie
     
  6. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Hi Boysie - this happens if you don't remove the UMA folder before importing the new version. Unity doesn't clean up the files, so some old files get left behind. You can solve this issue by deleting the two files below - UMAGeneratorGLib.cs and UMAGeneratorGLibEditor.cs. I will include dummy files for these in the next update.

     
    boysenberry likes this.
  7. Michael_Berna

    Michael_Berna

    Joined:
    Jul 5, 2019
    Posts:
    39
    Ok, thanks. I feel stupid for not thinking about that. Sorry to bother you with a silly question.
     
  8. boysenberry

    boysenberry

    Joined:
    Jul 28, 2014
    Posts:
    365
    Thank you. Jaimi!
    I was afraid to delete anything because I have some Will B packages I didn't want to have to retool again.
    Any suggestions on a process for upgrading while leaving content intact? Maybe just deleting everything but that folder?

    Thanks,
    Boysie
     
  9. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yep - deleting everything except content. Then rebuild the index after importing, just to be safe.
     
    Michael_Berna and boysenberry like this.
  10. walkingwithmywolf

    walkingwithmywolf

    Joined:
    Aug 11, 2020
    Posts:
    3
    Thank you so much! Sorry to sound so dumb, I can reset the Character Colors size to 0, and then back to 4, but I can't find show 'all'. Where is the show 'all' tick box please? This is probably one of those problems to which the solution is so obvious that you can't see it for looking so hard.:)
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    It's in the filter box, right above where you set the colors. If your UMADynamicCharacterAvatar component doesn't look like this, then you are on an old version and should upgrade.

    FilterColors.png
     
  12. samshool

    samshool

    Joined:
    Sep 21, 2017
    Posts:
    31
    having the strangest issue....trying to download the latest 2.11.1 from the asset store but it keeps downloading 2.10 when i go and check in UMA "about"? ...I tried in a fresh unity project...also i dont see the character in editor only see the old grey silhouette....anyone else experience same issue? how can i get access to 2.11.1 thank you!!
     
    Last edited: Jan 4, 2021
  13. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yeah, This is due to a very annoying bug in the Package Manager in Unity 2020. There is a workaround in this thread:

    https://forum.unity.com/threads/new...e-never-downloaded-them.1017196/#post-6686398

    In short: in the current version of 2020, you cannot download updates to assets - you can only download them if you have never downloaded them before. To get it to behave, you have to delete the previous download from the asset store.
     
  14. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    UMA 2.11.4 is now live on the asset store.

    What's new in 2.11.4

    Typo fixed in version number
    Fixed issue where 32 bit meshes were corrupted.
    Fixed issue where LOD system could "thrash" and flipflop LOD levels.
    Added time and random variation to LOD test so all checks do not happen on the same frame.
    Expression player fixes - now works in Edit Mode
    Fixes for overlays with no textures
    Fixes for mismatched overlys/slots
    Fixes for asmdef and addressables
     
    hopeful likes this.
  15. AlTheSlacker

    AlTheSlacker

    Joined:
    Jun 12, 2017
    Posts:
    326
    Is there a simple way to bring an avatar into a scene, in the editor, when using HDRP?

    After a lot of messing about with an existing HDRP scene I decided to start one from scratch, this was my approach:

    1) Open a new HDRP project in 2020.2.1f1 (all works fine)
    2) Import UMA 2.11.4 (confirmed this is the actual version imported Re: Package Manager bug)
    3) Imported HDRP-Races from UMA/Content/Example/HDRPRaces
    4) Added the HDRP Test scene
    5) Converted the materials to HDRP via the HD Render Pipeline Wizard.

    This gives me a scene with a grey floor and pink (invalid) rendered woman. The UI buttons show as expected.

    Pressing play results in the woman disappearing and 3 console errors:

    Slot 'FemaleEyes' Material Channel 1 refers to material property '_BumpMap', but no such property exists.

    Slot 'FemaleEyes' Material Channel 2 refers to material property '_MetallicGlossMap', but no such property exists.

    UMAData: Recipe or Generator is not valid.

    Changing the material properties to ones that do exist results in the figure being displayed, but with all textures (skin and eyes) set to a texture of the words "Not Set".

    This is my first experiment with UMA in HDRP and it is entirely possible I have made a foolish mistake - any enlightenment would be welcome!
     
  16. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I haven't checked the HDRP races in some time. I believe they have their own set of races, so you would need to use those instead of Human Male and Human Female. Don't forget to add them to the index (or simply rebuild the index from the file menu). And if you have anything in your default wardrobe, you would need to remove those until you convert them materials and umamaterials over.

    You can convert all content to HDRP if you want by editing all of the UMAMaterials, and replacing the Material Property Names of the channels to the ones needed by the converted materials. Generally, _MainTex becomes _BaseMap, _BumpMap becomes _NormalMap , and _MetallicGlossMap becomes _MaskMap. Those mostly line up, but you may need to adjust textures for the mask map, depending on how it was created.
     
  17. AlTheSlacker

    AlTheSlacker

    Joined:
    Jun 12, 2017
    Posts:
    326
    Thanks for that. Here is my summary if anyone else is interested in this....

    I used 2020.2.1

    The HDRP races appeared of little use to me (a non-functioning fix to my problem). So I went with the second part and converted UMA to HDRP. These were my steps:

    Import UMA and convert materials to HDRP using the HDRP Pipeline Wizard.

    I changed line 425 of SlotData.cs to add the material name to the debug output
    Code (CSharp):
    1. Debug.LogError(string.Format("Slot '{0}' Material: '{1}' Channel '{2}' refers to material property '{3}' " + "but no such property exists.", asset.slotName, material.name, i, channel.materialPropertyName), asset);
    This just makes it easier to find the mats you miss.

    Then I updated materials in these locations:
    Assets/UMA/Content/Core/HumanShared/Materials/Other/
    Assets/UMA/Content/Core/HumanShared/Materials/Standard/
    Assets/UMA/Content/Core/HumanShared/Materials/Standard(Specular)/
    Assets/UMA/Content/Core/HumanFemale/Materials/

    You need to edit the asset that points to the material, not the actual material, under the Texture Channels section of the asset click the Select dropdown to get a list of valid options:

    _MainTex becomes _BaseColorMap
    _BumpMap becomes _NormalMap
    _MetallicGlossMap becomes _MaskMap
    _OcclusionMap becomes _BentNormalMap (I hope, this was my guess!)

    If there isn't an option then don't change it, I think you will just find this is the case for the hair, which uses a different shader.

    Edit: Female Long Hair
    I'm really not sure if I did this correctly, but try this...
    Assets/UMA/Content/Contrib/Materials:

    UMA_Mesh_Hair_DoubleSided
    Change the shader to HDRP/Lit
    BaseMap is normal_dark_hair_texture_0002
    NormalMap is bb_female_hair_UMA

    UMA_Mesh_Hair_DoubleSided Asset
    Change channel 0 to _BaseColorMap
    Change channel 1 to _NormalMap

    UMA_Mesh_Hair_SingleSided
    Change the shader to HDRP/Lit
    BaseMap is Hair_Short_Generic_diffuse
    NormalMap is HairStrands_Normal

    UMA_Mesh_Hair_SingleseColorMap
    Change channel 0 to _BaseColorMap
    Change channel 1 to _NormalMap

    I've not tested this much and have got here with mostly trial and error, if you have a better solution, or find I have missed something please DM me, and I'll edit this, at least the HDRP stuff will be in one place then.
     
    Last edited: Jan 7, 2021
    mranderson744 and boysenberry like this.
  18. ericflorio

    ericflorio

    Joined:
    Oct 14, 2016
    Posts:
    3
    Hi!
    Is there a way to use generic animations with the standard Male Race?
    I created my animations inside the blender file provided in the UMA repository, but I couldn't make it work as generic animations, only humanoid.
    I'm trying to avoid humanoid because I'm not getting good skinning with it (the mesh colapses in some points, depending on the pose)
    Thanks in advance!
    Eric
     
  19. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You can change the race to use a generic avatar. Selelct the RaceData, and in the inspector, change the "UMA Target" to Generic from Humanoid.
     
  20. AlTheSlacker

    AlTheSlacker

    Joined:
    Jun 12, 2017
    Posts:
    326
    Sorry, I did not quite resolve my HDRP issues... I seem to be struggling to understand how the long hair options are done, for example, FemaleHair1 seems to use UMA_Mesh_Hair_DoubleSided, using the shader UMA/Hair Fade Cutout, but does not render correctly (solid pink), although I can see an image of hair in the Diffuse/Alpha Map and a sensible looking normal map.

    I am 100% certain this is due to my complete lack of knowledge about rendering and this is not a real issue for UMA, just me messing up trying to use it with HDRP. Any pointers would be welcome.

    Edit:
    OK I see HDRP hair shader is on the Trello board for version 2.12, so I guess I will have to wait.

    upload_2021-1-7_10-26-31.png
    upload_2021-1-7_10-27-18.png
    upload_2021-1-7_10-28-4.png upload_2021-1-7_10-26-31.png upload_2021-1-7_10-27-18.png upload_2021-1-7_10-28-4.png
     
    Last edited: Jan 7, 2021
  21. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    For now, you can change the hair material to use the SpeedTree 8 shader for HDRP, or even the standard LIT shader.
     
    hopeful and AlTheSlacker like this.
  22. ericflorio

    ericflorio

    Joined:
    Oct 14, 2016
    Posts:
    3
    Thanks, Jaimi!
    I changed the RaceData to Generic, and now it can play the animations.
    However, it seems to have a mismatch between the armature of the UMA character and the armature of the animations.
    Do you know if I have to configure or export the animation blend file in a certain way to make it work?

    Generic_01.JPG
     
  23. JohnDoe2001

    JohnDoe2001

    Joined:
    Feb 20, 2018
    Posts:
    11
    EDIT: I came to the understanding that the "wiki" is the Documentation in the UMA assets folder and that the link to the Discord is there.

    ORIGINAL POST:
    Hi there. I couldn't find the Discord link on the wiki. Can someone please link the official wiki page and confirm if there's still a Discord channel? Thank you!
     
  24. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I can't say 100%, but my first thought would be that the animations and the skeleton were saved with different export options -- I'd check the various axis settings, and make sure they match. As well, you might want to make sure that the base pose has had it's transforms applied.
     
    hopeful likes this.
  25. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    UMA 2.11.5 released

    https://assetstore.unity.com/packages/3d/characters/uma-2-unity-multipurpose-avatar-35611

    What's new in 2.11.5
    Added Prefab Maker - converts an UMA to a Non-UMA.
    Fixed bug where UVs could be incorrectly positioned when multiple slots shared a non-atlas material
    Added a checkbox to disable garbage collection during the edit process
    Removed some debug messages that were no longer needed
    Fixed issue where DNA could get an exception if you recompile but have a scene open that does not have a UMAContext
    Edit time generation will create a UMAContext from the UMA_GLIB prefab if you drop a UMA in a scene that does not have one. This will be deleted when something else is selected.
    Fixed issue with Animancer and Playables when building an UMA.
     
  26. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Thank you to Jaimi and the UMA Team for their amazing work on UMA. Its grown and grown from its first release, quite some years ago now! Simply superb

    Steve, Arteria3d.
     
    hopeful, syphon1977 and Jaimi like this.
  27. syphon1977

    syphon1977

    Joined:
    Apr 18, 2019
    Posts:
    19
  28. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    From the UMA menu, choose "prefab maker".

    Put the gameobject with the DCA on it in the "UMA Avatar" field.

    Note: Use an Avatar from the project window that has been generated and is visible!.

    Leave "unswizzle normals" checked, unless you are on a platform that doesn't swizzle them.
    Name the prefab something.
    Put the folder where you want it to make everything go. then press the button (the button is only visible when everything is correctly filled out)

    Prefab Maker.png
     
    Last edited: Jan 13, 2021
    hopeful and syphon1977 like this.
  29. colpolstudios

    colpolstudios

    Joined:
    Nov 2, 2011
    Posts:
    150
    Hi, what are "unswizzle normals"? unless you are on a platform that doesn't swizzle them.

    My first time coming across this term.
     
  30. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Swizzling is a generic term meaning to restructure the vector coordinates. In this case, Unity is compressing the normal maps by dropping one of the channels, and rearranging them (it puts them in AG or RG depending on platform). The dropped channel can be reconstituted from the other two channels because a normal map is guaranteed to be a unit-vector. If you look at a normal map, and it appears to be pink instead of blue, then it needs that flag checked. I believe it is needed for all desktop targets, but may not be needed for IOS/Android (not sure).
    Maybe I could call it "Unpack Normals?" to be less confusing?
     
  31. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    And ... BC5 normals look yellow or greenish, right?
     
    Jaimi likes this.
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yep - The unswizzle I used can handle either format - I actually cut and pasted Unity's UnpackNormals function (lol).
     
    hopeful likes this.
  33. BentelAnnR

    BentelAnnR

    Joined:
    Jun 16, 2020
    Posts:
    5
    Hi everyone,

    I'm using UMA characters as avatars for a multiplayer VR application but I would prefer having characters made of just head, chest and hands (no legs, no arms).

    So I was wondering if UMA lets us render only some body parts or if is there another way to achieve that goal, like maybe working with the clothing or so.

    Could anyone give me a piece of advice on this?

    Thanks in advance
     
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    For this, you should turn off edit-time generation, turn off "rebuild skeleton" in race change options. And then create a recipe that hides the body parts you don't want. You may also need to use the Bone Builder to preconstruct the rig.
     
    BentelAnnR likes this.
  35. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    93
    Have been away from UMA for a while and just wanted to say the latest version seems great, some nice new things. Thanks

    Is it possible, please, to get a slack or discord invite as I am about to start on the scripting proper?
     
  36. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Sure - here you go: https://discord.gg/fxATPG5yra
     
    DankP3 likes this.
  37. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    boysenberry, hopeful and Jaimi like this.
  38. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    343
    I am having a problem with the recipes not showing in the inspector.
    Any ideas?
    upload_2021-1-20_13-15-40.png
     
  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Does it work if you put a UMA_GLIB in the scene?
     
  40. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    343
    No I still have the same issue.
     
  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Do you have any error messages or warnings in the console? What version of UMA are you on (go to UMA/About)?
    Might be easier to debug on discord: https://discord.gg/fxATPG5yra
     
  42. mmauricioabreu

    mmauricioabreu

    Joined:
    Sep 30, 2020
    Posts:
    2
    Hey, i have a silly question about the function UMA mount object: how can I mount an object using it? Like putting a weapon in the hand of the character..
     
  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    There is a sample scene which shows how to mount objects and put weapons in the UMAs hands: "MountingObjectsSampleScene". You can use two different methods. Please review the sample code.
     
  44. giotta

    giotta

    Joined:
    May 31, 2015
    Posts:
    48
    Good morning, I just have a question to ask. Is there a way to "modify" the skeleton and DNA of the UMA model (via script) to make it more similar to the model of the animation package I bought? Unfortunately, every time I find myself playing with mecanim and its "problems". The model on which the animations of the asset I bought, is different from that of the UMA model, I tried to play a little with the DNA of the uma to make it similar to that of the model, but the animations are still not natural. Sorry for incorrect English
     
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You can several things you can do to improve your experience.

    1. If you are not using the "HumanMale" and "HumanFemale" races, I recommend to switch to them as they use a more mecanim-friendly avatar that works better with most animations.
    2. If you end up needing to adjust the avatars, you can do so in the avatar configuration for the animation (and the UMA - to do this, use the FBX, adjust the avatar, and extract the T-Pose using the menu item and add it to your character).
    3. You could make a bone pose to match the skeletons, and then apply it with DNA.
     
  46. colpolstudios

    colpolstudios

    Joined:
    Nov 2, 2011
    Posts:
    150
    Hi, thought id share this from Game kit controller:
     
    hopeful and Jaimi like this.
  47. HP

    HP

    Joined:
    Nov 20, 2012
    Posts:
    80
    @Jaimi
    I created a prefab with a DynamicCharacterAvatar component and every time I start and stop the play mode the link to the prefab is gone. The same thing happens when I save and reload the scene.
    I suspect it is due to the UMAData component that is automatically added and removed.
    Is there a way to prevent this behaviour and keep the link to the prefab?

    [EDIT]
    I found out that if you uncheck "Editor Time Generation" under "Customization" in DynamicCharacterAvatar, it no longer loses the link to the prefab.
    Is there a way to keep the link and activate "Editor Time Generation"?
     
    Last edited: Jan 24, 2021
  48. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Unfortunately, this is not currently possible. As you've seen, the build process deletes some items and this causes the system to get an exception if it's not unpacked. It does the unpacking during the build process, so if you need to update the prefab, you can drag it back in, turn on generation, design it, turn it off, and drag the updated object on top of the old one.
     
  49. lobotomista

    lobotomista

    Joined:
    Jul 21, 2018
    Posts:
    39
    probably a stupid question but:

    I saw this video
    and on it he says that for better performance you need to assign the bones on each equipment to the same skeleton as the body. so he makes a script that on equipment change assigns the bones of the body to the equipment piece. This seemed odd to me so I guessed I would as here.

    Is this really necessary? and if so does uma does it by default?
     
  50. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If you do this, it means the skeleton only has to be transformed one time for each animation frame. So it's n time better than transforming in n time for wardrobe item. UMA does this for you.