Search Unity

  1. Calling all beginners! Join the FPS Beginners Mods Challenge until December 13.
    Dismiss Notice
  2. It's Cyber Week at the Asset Store!
    Dismiss Notice

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. CWatsonT2

    CWatsonT2

    Joined:
    Jan 9, 2019
    Posts:
    24
    I'm using 2.9 and I don't see any errors.
     
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Just verifying: you did a "development build", and you have captured the console information from the device?
     
  3. CWatsonT2

    CWatsonT2

    Joined:
    Jan 9, 2019
    Posts:
    24
    I have it checked as "development build" and attached is what I'm getting from using ADB. Does this make sense to you? It runs perfectly fine in the editor without any errors or missing scripts.
     

    Attached Files:

    • ADB.png
      ADB.png
      File size:
      240.7 KB
      Views:
      29
  4. igrus

    igrus

    Joined:
    Aug 29, 2014
    Posts:
    2
    Thank you for the last questions.
    I have one more question.
    Do you have any sites or Statistical data you used to create UMA-based models? I read the article about the average volume, but I forgot where I saw it. Please let me know if there is a related document or if there is anything in mind!

    Thank you for reading!
     
  5. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Well, this seems like it is the problem, but why it is, I can't tell you. I don't seem to have this issue on builds for Windows & WebGL, and I can't really test Android right now.

    I can only recommend doing the following:

    Try removing the .asmdef files. Sometimes this can cause issues with scripts in some cases.

    If that doesn't help In player settings:

    1. Make sure your "scripting runtime version" is ".Net 4.x Equivalent".
    2. API Compatibility Level is ".Net 4.x"
    3. Managed Stripping Level is "Disabled"

    If you're currently using "Mono" as the scripting backend, and those didn't help, try using IL2CPP, and try with the settings above again.
     
  6. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Currently, we are using 16 bit index buffers. So the number of vertexes and polygons is limited to 64k.
    There is some documentation in the ASSETS/UMA folder. In addition, there is a wiki here:
    http://umadocs.secretanorak.com/doku.php?id=knowledgebase:start

    The documentation also contains an invite to the discord.

    Hope this helps!
     
  7. CWatsonT2

    CWatsonT2

    Joined:
    Jan 9, 2019
    Posts:
    24
    I made all these changes and it turned out to be that I didn't have the HumanFemaleDNA 1 file in the global library. That doesn't cause an error in the editor but does on the device I guess.
     
  8. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Great! I'm not sure why it worked in the editor, but glad you found it.
     
  9. Umslapogus

    Umslapogus

    Joined:
    Mar 27, 2017
    Posts:
    2
    I am having a rather strange issue -

    I have attached a capsule collider to an avatar prefab. I then detect right clicks on the avatar using a RayCast.

    This works perfectly on all objects I have tried, other than the avatar. The strange part is that the capsule attached to avatar does work while the avatar is building but stops when it is complete.

    I can easily make the collider work if I make it a cube rather than a capsule, which with the collider working at the start makes me think this is something that the avatar creation process is changing in the collider (other than the radius and height, which are scaled as they are expected to. Size does not seem to be the issue and I can't see anything else that might be.)

    Is this an issue with an obvious solution or a known cause?
    (I would prefer to solve it in a way other than brute force removing and re-adding the collider after the build completes, making my own not-quite-capsule or other hacky workarounds)
     
  10. leapp

    leapp

    Joined:
    Mar 19, 2015
    Posts:
    4
    using RendererTexture in UMA making my RT Memory much bigger in mobile platform!!!! how to create a character without RenderTexture???
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    There are some scenes/code that change the layers on the character (for physics). In addition, the default setup adds a rigidbody, if that would cause issues.
     
    Umslapogus likes this.
  12. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    if you don't create renderetextures, it will instead create standard textures. Mobile has much more restrictive requirements from the PC.

    Open the generator in the UMA_DCS prefab. You can lower the atlas resolution, the initial scale factor, and turn off mipmaps by unchecking "convert mip maps".
    You can also tune per-texture parameters in the UMAMaterial.

    But the best thing to do is to lower all of the texture sizes, and remove as much as you can from the Global library.
     
  13. leapp

    leapp

    Joined:
    Mar 19, 2015
    Posts:
    4
    Thanks for your reply! Every avatar create its own atlas texture? is there any method to reuse the atlas texture if they are wearing the same clothes
     
  14. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    There is currently no method to reuse textures built into UMA - Everything can be colorized and layered, so the textures aren't guaranteed to be the same even with the same clothes. If you use the LOD system, it will rebuild the textures on the fly, significantly lowering texture usage.

    However, there is also the UMA Power Tools from Unlogick - it will allow you to build a mesh prefab of a UMA character. That could let you reused the prefab with the same texture over and over.

    Some devices will be quite powerful compared to others, so I recommend using the LOD system, and lowering the Initial Scale Factor depending on your target devices. You might also consider using the Power Tools.
     
  15. LuisEGV

    LuisEGV

    Joined:
    Jul 21, 2015
    Posts:
    4
    Hello, I'm having issues with some UMA scripts. For example, the Dynamic Character Avatar, when I select a GameObject with that script attached, it takes a lot to load in inspector (and freezes de editor), with a lot I mean minutes sometimes. Also when I select a recipe asset, this is what shows in editor (screenshot attached), and throw some errors.

    This all seems like is corrupted, but it is a new import. I just downloaded the package and tested in an empty Unity project.

    I have the most recent version on the AssetStore, which is 2.9, but I noticed the problem on 2.8.1. Also I’m using Unity 2019.2.10, but again, the problem appeared before.


    Please help
     

    Attached Files:

    Last edited: Nov 26, 2019
  16. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Well, that definitely sounds like corruption. If you create a brand new project, and import 2.9 from the Asset Store, what errors do you get when you click on a DynamicCharacterAvatar? Do you get an error when you open the Global Library window?
     
  17. Umslapogus

    Umslapogus

    Joined:
    Mar 27, 2017
    Posts:
    2
    It was the default setup, in a place I hadn't looked. The CapsuleColliderSlotScrtipt was overwriting my settings, and removing it from the Additional Unity Recipes slot allowed me to handle collisions with no issues.

    Many thanks for pointing me in the right direction :)
     
  18. leapp

    leapp

    Joined:
    Mar 19, 2015
    Posts:
    4
    sorry, I didn't find the document about LOD, is it UMASimpleLOD.cs ?
     
  19. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    Yes. There's not a lot of documentation on it, but there is some documentation in the main doc file in the UMA folder.

    But basically it's pretty simple - you put the UMASimpleLOD component on your DynamicCharacterAvatar game object, and set the parms, and it's all automatic.

    I recommend starting with just Texture LOD - it is by far the most bang for the buck.
     
  20. LuisEGV

    LuisEGV

    Joined:
    Jul 21, 2015
    Posts:
    4
    No errors with DynamicCharacterAvatar nor with Global Library window. But when I select a GameObject (prefab or in scene) with DynamicCharacterAvatar attached it takes so much time to load. Errors are thrown when I select a recipe.

    My last test before I asked for help here, was in a new project, and the behavior is the same was in my current project.

    I deleted the package downloaded from asset store, and re downloaded it (also deleted all the files on the project and re imported the package). With this, takes much less time to load DynamicCharacterAvatar (still taking its time), so maybe the package was indeed corrupted.

    The problem with recipes still happening, but I think this issue is completely different (screenshots attached). I don't know if I have to download another package or import some package included with the main one, or if this is indeed an error. As I said, I just re imported the UMA package, so no should not be any missing "material"
     

    Attached Files:

  21. gromamg228

    gromamg228

    Joined:
    Dec 15, 2018
    Posts:
    1
    Hello Jaimi, can you help in adapting to URP (Universal Render Pipeline)? I have already changed the materials, but have a problem in the mesh :oops:

    Update. I think blendshapes is not working.
    Ended.
    the problem was in Skin weights
     
    Last edited: Nov 29, 2019
    arteria likes this.
  22. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,087
    Jaimi likes this.
  23. radrad07

    radrad07

    Joined:
    Sep 15, 2018
    Posts:
    7
    I would like to use UMA with VRIK component of Root Motion FinalIK plugin with HTC vive HMD, controllers and 3-7 vive trackers attached to feet, knees, elbows, pelvis. I want to dynamically choose a character, add VRIK component and calibration script to bind vive trackers and controllers based on proximity to matching avatar's joints. Something like showed here: https://qiita.com/kotauchisunsun/items/19d828383a63ed7fdece using https://github.com/kotauchisunsun/KotauchiTrackerCalibrator
    I know from umawiki pages there is: http://umawiki.secretanorak.com/3rd_party_integration and VRIK integrationat the bottom, but what about other integration points. Any examples would be appreciated.Thanks.
     
  24. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    An UMA is just a skinned mesh renderer after it is built. For all the VR, Controller questions, and all that, you may find someone who knows some, but you're probably better off asking in the section specific to those things.
    If you need access to the bones before the character is generated, you can use the "Bone Builder" tool to generate the rig for you on your prefab.
     
  25. moria15

    moria15

    Joined:
    Feb 25, 2011
    Posts:
    395
    Greetings :) Am using UMA 2.9 in uMMORPG and using WillB's RPG sets onUnity 2018.4.13f1... I have all the recipes etc loaded in the Global Library Window, however, when the game starts, any recepies in a wardrobe list item are removed on startup with the folowing messages...


    DCS removed M_Warlock from Recipes
    UnityEngine.Debug:LogWarning(Object)
    UMA.CharacterSystem.DynamicCharacterSystem:AddRecipes(UMATextRecipe[], String) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:296)
    UMA.CharacterSystem.DynamicCharacterSystem:AddRecipesFromAB(UMATextRecipe[]) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:239)
    UMA.CharacterSystem.DynamicAssetLoader:AddAssets(Dictionary`2&, Boolean, Boolean, Boolean, String, String, Nullable`1, String, Action`1, Boolean) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicAssetLoader.cs:671)
    UMA.CharacterSystem.DynamicCharacterSystem:GatherRecipeFiles(String, String) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:218)
    UMA.CharacterSystem.DynamicCharacterSystem:Init() (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:95)
    UMA.CharacterSystem.DynamicCharacterSystem:Awake() (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterSystem.cs:48)

    So came here hoping for help, or at least to point out what i did wrong.

    Thank you.
     
  26. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    This happens when you have recipes in a Wardrobe Set that aren't marked compatible with the race. You just need to go into the recipe, and add the race to them.
     
  27. moria15

    moria15

    Joined:
    Feb 25, 2011
    Posts:
    395
    Did that.. went into wardrobe and the wardrobe item was marked with HumanMale and HumanMaleDCS.. went into the DCS settings and added the individual recepies to the slots... rebuilt from global.. now it's saying cant find the slots :) Still fighting this :)

    Am using HumanMaleDCS


    Now error is :-

    UMAResourceNotFoundException: dSlotLibrary (211): Unable to find: M_Warlock Hood
    UMA.CharacterSystem.DynamicSlotLibrary.InstantiateSlot (System.String name) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicSlotLibrary.cs:170)
    UMA.UMAContext.InstantiateSlot (System.String name) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAContext.cs:119)
    UMA.UMAPackedRecipeBase.UnpackRecipeVersion2 (UMA.UMAData+UMARecipe umaRecipe, UMA.UMAPackedRecipeBase+UMAPackRecipe umaPackRecipe, UMA.UMAContext context) (at Assets/UMA/Core/Scripts/UMAPackedRecipeBase.cs:849)
    UMA.UMAPackedRecipeBase.UnpackRecipe (UMA.UMAData+UMARecipe umaRecipe, UMA.UMAPackedRecipeBase+UMAPackRecipe umaPackRecipe, UMA.UMAContext context) (at Assets/UMA/Core/Scripts/UMAPackedRecipeBase.cs:39)
    UMA.UMAPackedRecipeBase.Load (UMA.UMAData+UMARecipe umaRecipe, UMA.UMAContext context) (at Assets/UMA/Core/Scripts/UMAPackedRecipeBase.cs:20)
    UMA.UMATextRecipe.Load (UMA.UMAData+UMARecipe umaRecipe, UMA.UMAContext context) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/pUMATextRecipe.cs:182)
    UMA.UMARecipeBase.GetCachedRecipe (UMA.UMAContext context) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMARecipeBase.cs:51)
    UMA.CharacterSystem.DynamicCharacterAvatar.AddAdditionalSerializedRecipes (UMA.UMARecipeBase[] umaAdditionalSerializedRecipes) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterAvatar.cs:2967)
    UMA.CharacterSystem.DynamicCharacterAvatar.LoadCharacter (UMA.UMARecipeBase umaRecipe, System.Collections.Generic.List`1[T] Replaces, UMA.UMARecipeBase[] umaAdditionalSerializedRecipes) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterAvatar.cs:2810)
    UMA.CharacterSystem.DynamicCharacterAvatar.BuildCharacter (System.Boolean RestoreDNA) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterAvatar.cs:2729)
    UMA.CharacterSystem.DynamicCharacterAvatar+<BuildFromComponentSettingsCO>d__84.MoveNext () (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterAvatar.cs:568)
    UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)
     
    Last edited: Dec 2, 2019
  28. vsinners

    vsinners

    Joined:
    Jun 12, 2019
    Posts:
    1
    I want to use the same tattoo style overlays on several slots. In the recipe, I have it so that the overlay is compatible with two slots. But when I drag that recipe into my UMA, it's also showing the mesh of the other slot on top of the character.Is there a fix for this? I want to be able to use the same tattoo style overlay recipe for multiple slots.
     
  29. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    You can't do it that way because (as you see) it will add the extra slot to the other character.
    Instead, make two recipes with two different names. But give them the same "Display Name" in the recipe. And make each recipe have the correct slot, overlay and compatible race as needed.

    This way, when you are presenting the recipes to the user by "Display Name" they appear to be the same item, even though they are not.
     
  30. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    If you are using the UMA_DCS prefab, it should be setup to pull the slots and overlays from the Global Library.
    If you are using a different prefab, or setup your own, make sure your libraries in the prefab have "Dynamically add from Global Library" checked. You might want to verify that M_Warlock Hood is not setup to go into an Asset Bundle. Look in the Global Library, and make sure the slot is there.


     
  31. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    @Jaimi - Hey there! Just curious how the addressables version of UMA is coming along. IIRC, you were thinking it would come in at least two parts, with a basic function version coming first.

    Is that still how it's looking?
     
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    I'm almost done with the beta of the first draft. Just working through an issue that appears to be timing related. If you want to get a headstart on it, it's in the features-addressables branch. Only the "simple setup" and "addressables" scenes are currently working.

    I haven't done any actual measurements, but my general feelings are: "Wow, this makes it much faster to load, and use less memory". I'll be looking at metrics as soon as I have this last bug fixed.
     
    hopeful and chrisk like this.
  33. StarChick971

    StarChick971

    Joined:
    Nov 28, 2015
    Posts:
    15
    For all people using URP (Universal Rendering Pipeline), you will have to change in each UMAMaterial asset the material property from _MainTex to _BaseMap so that you won't see the pink NOT SET texture on your complete avatar.
    Still, I didn't tried with LWRP and HDRP but I think it would be the same fix to apply.
     
    hopeful and Jaimi like this.
  34. ChoChick

    ChoChick

    Joined:
    Jul 18, 2016
    Posts:
    22
    I am not familiar with bone animation.

    Even if I change the value of the ForearmLength slider, the character's arm doesn't get long and grows.
    Looking at the UMA sample race, the bones affected by motion, such as LeftForeArm, have the same XYZ values. Do they need to be the same value?
     
  35. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884

    Generally, for bones that are affected by animation, you create a duplicate bone and append "adjust" to the name. Then you weight the vertexes to the "adjust" bone instead. this will allow you to modify the adjustment bone affecting the vertexes, but not affect the animation and children bones of the original bone.

    Does that help?
     
    ChoChick likes this.
  36. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    4,961
    That sounds so awesome! As for the timing issue, I'm not super surprised as addressables allow us to access resources that may exist remotely. That probably affects the item access timings in some new way.

    One part of the system that I'm really going to love is the automatic unloading of unused slots and overlays. Not sure if that's going to be a feature in UMA up front, or if it comes later, but ... it sounds soooo great. :)
     
  37. daveinpublic

    daveinpublic

    Joined:
    May 24, 2013
    Posts:
    25
    Hey,

    I just updated Unity from 2018.2 to 2019.3. Now all my UMA models look kind of weird. Their faces are really pronounced, the girls boobs are really pronounced, and everyone's guts are larger but there's a chunk missing from the center, pictured below. Can't get the guts to smooth out even if I increase or decrease the sliders, I can see changes, but it changes the lower portion of the gut.

    Not sure how to fix this.

    Thanks - David
     

    Attached Files:

  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    My gut feel would be that the vertex weights in the selected quality settings is not set to 4.

    If that's not it, did you reimport UMA or upgrade it as well?
     
  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    4,884
    I found the issue, it's actually not a timing issue, but a caching issue. I should have it solved sometime today (I hope).
    The automated cleanup will not be in the first release. The first pass will have the ability to preload specific items, and then free them when done. It sounds hard to use, but it's actually pretty simple based on the wardrobe items.
     
    hopeful likes this.