Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. ashley66444

    ashley66444

    Joined:
    Feb 6, 2018
    Posts:
    5
    Is there an event that gets fired off or can be listened for when an a slot is changed/unequiped?

    Scenario: I wrote a script to re-adjust the IK for the feet in regards to a character wearing heels. Script works great, but wondering how to handle it when they are removed. The script is attached to the DCA in a similar way that the jiggle component or boneytail component are attached (prefab that is called OnDnaApplied and adds the script if it doesn't exist), but now I have the problem of when they are removed or replaced with different footwear, the feet stay in the arched position. Just looking to see if I'm missing a callback or event to listen to for when unequiped? I looked through the examples and couldn't find any examples where a script applied via wardrobe recipe was ever removed or disabled after added.

    Should I potentially handle the script differently somehow?

    Second question:

    I understand that the skinned mesh render right now is limited to 64k verts but it could potentially be increased to the 32 bit range? If I wanted to add that in, where would be the best spot to do that?

    Pretty sure the code is:

    Code (CSharp):
    1. mesh.indexFormat = UnityEngine.Rendering.IndexFormat.UInt32;
    Just wondering best place to change that and wondering if it would break anything else. I'm pushing 40-50k verts right now for high fidelity, and worried about potential combinations of different outfits that might hit that 64k limit. Also a few hair styles may push that higher and would like to not have that worry even at the expense of extra GPU/CPU cost
     
  2. StarChick971

    StarChick971

    Joined:
    Nov 28, 2015
    Posts:
    118
    First, did you converted your project materials to the project rendering pipeline? If not, simply go to
    Edit -> Render Pipeline -> URP -> Upgrade to Project Materials to UniversalRP Materials
    Actually, for some materials you might have to convert them manually if not done by the previous process, especially for custom shaders.
    In my project I have this, but I am not sure it is set correctly comparing to the original shader as i simply changed to URP/Lit shader:
    upload_2020-1-5_14-47-41.png

    @ UMA-Team: please provide an package to automatically fix the materials for LWRP/HDRP/URP and add updated custom shaders too, it will help us from doing it manually. Thank you!
     
    Last edited: Jan 5, 2020
    Deleted User likes this.
  3. nomax5

    nomax5

    Joined:
    Jan 27, 2011
    Posts:
    365
    Hi Hello, thanks for making / helping people with UMA
    I have been making my own Race Humanoid Male and Female
    My Characters have around 200 blendshapes so it takes about 18 minutes to create the Base slot and overlay
    from the FBX, I get sucess and it works
    My Garments are saved as .blend files and the wardrobe slot is made from them.
    again this works fine.
    When I have only one wardrobe slot it works
    once I add any 2nd wardrobe slot to the default wardrobe items I get the following errors:

    Code (CSharp):
    1. Mesh.boneWeights is out of bounds. The supplied array needs to be the same size as the Mesh.vertices array.
    2.  
    3. UnityEngine.Mesh:set_boneWeights(BoneWeight[])
    4.  
    5. UMA.UMAMeshData:ApplySharedBuffers(Mesh) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAMeshData.cs:893)
    6.  
    7. Failed setting triangles. Some indices are referencing out of bounds vertices. IndexCount: 34752, VertexCount: 65534
    8.  
    9. UnityEngine.Mesh:SetTriangles(List`1, Int32)
    10.  
    11. UMA.UMAMeshData:ApplyDataToUnityMesh(SkinnedMeshRenderer, UMASkeleton) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAMeshData.cs:750
    12.  
    13. then 999 Bone weights do not match bones.
    14.  
    15. UnityEngine.GUIUtility:processEvent(Int32, IntPtr)
    Sorry for the CODE this interface was converting colons to smily faces etc.
     
  4. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    I created my own UMA model and trying to implement expressions into the UMA system if it's possible. But I've created a blendshape based expression behavior now, they can simply add blinks and eye movements to the character.
     
  5. nomax5

    nomax5

    Joined:
    Jan 27, 2011
    Posts:
    365
    Thanks for the reply and advice Harekelas, as I was typing in the question I realised
    I am better doing it myself, it might not be as good but at least I will know how it works and have control over it.
     
  6. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No, the built-in expression player is not compatible with Blendshapes. It may be that you can use something like Salsa or Lipsync Pro, but you would need to setup your own interface for that.
     
  7. Deleted User

    Deleted User

    Guest

    Thanks. But it doesn't work for me. Now the character has "Not Set" pink texture. I will wait for an update from the developers.
     
  8. StarChick971

    StarChick971

    Joined:
    Nov 28, 2015
    Posts:
    118
    You still have to change the _MainTex to _BaseMap texture property on the UMAMaterials assets.
     
    Deleted User likes this.
  9. Deleted User

    Deleted User

    Guest

    Thanks a lot. My mistake was that I changed the material property only in the "UMAMaterial" directory - I did not understand correctly. It was necessary to do this in all directories.
     
    StarChick971 likes this.
  10. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    As a special thank you to this wonderful UMA community, and Dev support, we thought we would kick of 2020, with our free costume pack offer -

    Choose any single costume uma pack from our store for free

    Browse below link
    https://arteria3d.myshopify.com/collections/uma


    and email arteria3d@live.co.uk with your selection


    Also email the code '2020' to purchase all UMA Costumes on our site for just $100. Access to over 40 packs

    Steve
     
    michaelday008, Deleted User and Jaimi like this.
  11. XskodeMedia

    XskodeMedia

    Joined:
    Mar 10, 2018
    Posts:
    6
    I recently just finished your youtube videos 101 and 201 series for UMA.
    there is a huge issue though. getting downloaded fbx or obj clothings to be read in the slot builder skinned mesh render.
    I tried adding the clothing i downloaded into an empty gameobject added a skinned mesh render then made it a prefab. however, that still did not work.

    i also tried downloading the FBX and OBJ into blender and instead of exporting out I saved the file into unity3d. however, I still can't get the slot mesh to read my object or fbx in-order to make an outfit. This is what I downloaded: https://www.turbosquid.com/FullPreview/Index.cfm/ID/1338957 but UMA is not working. How and what steps in what order do i need to do in-order to get this object to show on my UMA for clothing? I rewatched UMA 201 part 5 like 5 times now. and there must be something I am not doing correctly. I just can't seem to recognize my mistake. any help will be greatly appreciated.
     
  12. ashley66444

    ashley66444

    Joined:
    Feb 6, 2018
    Posts:
    5
    I think you mentioned you watched the 201 Series on YouTube for UMA.

    I assume you mean this series?


    If not, I recommend watching the series linked above and pay close attention to Part 4 in regards to rigging. It looks like the model you linked wasn't specifically made for UMA. Any model you download or purchase that wasn't made for UMA will need to be re-rigged to work.
     
    Jaimi likes this.
  13. XskodeMedia

    XskodeMedia

    Joined:
    Mar 10, 2018
    Posts:
    6
    okay thanks, im going to rewatch this series again. and I'll make sure to pay closer attention to part 4.
    thanks for the reply, much appreciated.
     
  14. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    870
    Does anybody have a watered down (ie smaller) version of UMA? Right now its something like 200 Meg when built. Android Play store only allows apps to be 100M, but just UMA by itself is 200Meg (actually its closer to 250 Meg)!!!

    I tried reducing the size of some of the textures, but when i do that they dont show up when i run it. like if i compress the clothing textures to be 1024 (rather than 2048) , when i run the app shirts etc dont show up when selected. I dont know why.

    Anybody have a solution?

    Thanks
     
  15. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    The slot itself has events on it that you can use. Or you can just use the character created event on the DCA.

    There's more work than just setting the format (in the slot builder, and the mesh combiner). It's a big project, but if you want to try it, that would be great.
     
  16. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    They kept changing the property names there for awhile. I'll try to get something into the next release. Probably Kenamis' characters.
     
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    It sounds like you are over the limit for 16 bit indexes. In this case, assign different UMAMaterials to your items so they get in their own submesh.

     
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You need to remove things from the global library that you don't need. Specifically, slots and overlays. The next version I'm working on has the option to remove "orphaned" items from the library. This works with Addressables. (You will want to use Addressables - its much faster to load).

    Global library 2.10.png
     
    hopeful likes this.
  19. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    870
    Hi, the problem is that i dont know what i dont need, since i dont really know how UMA works. I tried several times to remove stuff (seems anything i change causes an error or some clothes dont show when selected etc) Its been like months since i had this problem.

    I wish there was a watered down version of it somewhere that just has the basics like male/female shirt/shoes/pants etc only, and no fancy stuff (like cars) to reduce the size so that it can be used with android.

    Right now the build with the full UMA "by itself" is almost 250 Meg where Android limits the whole apk to 100Meg.

    Is it possible for someone to just make a smaller version of UMA containing only the basics? I mean there would be no code change just remove stuff that isnt basic. Im sure im not the only one who needs it, because it cant be used as is for iOS or Android because its too big.
     
  20. ashley66444

    ashley66444

    Joined:
    Feb 6, 2018
    Posts:
    5
    I've seen the slot events and that is how I am applying the script currently but I was wondering if there was an event fired when a slot is removed or unequipped that has the data for what was removed/unequipped.

    Considering that the recipe & slot are what are kicking off the script, was looking for a way to remove/disable the script if they were removed without keeping a database/list of all items that need the script "on" and comparing.

    Also is there a way to provide values to scripts added via slots without hardcoding them?
     
  21. looytroop

    looytroop

    Joined:
    Jun 22, 2017
    Posts:
    70
    Hello UMA developers. Thank you for this incredible tool! I have am issue that revolves around setting DNA on animated UMA characters. For the project I am working on, we have a custom made character with custom animations, this all works fine, however, when adjusting the DNA, the model does not appear to change. If we remove the animator controller, we can see that the DNA DOES effect the model correctly, however, upon adding the animation controller back onto the character all modifications are reset to the model base.

    I am unsure what could be causing the DNA to be "overwritten" while animating.

    Also, when going directly into the hierarchy, if I move/scale any of the joints there, everything animates properly according to the changes. The changes don't seem to take place ONLY when animating AND while modifying through the DNA.
     
  22. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Thanks for the info, I'll create a blendshape based expression system by myself then.
     
  23. LastAtlas

    LastAtlas

    Joined:
    Jun 9, 2013
    Posts:
    15
    Struggling to get started with this. The guides on youtube show people dragging the UmaDynamicCharacterAvater into the scene and it just showing up. I however can't seem to get it to show in scene, only when I hit play? is this normal?
     
  24. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    Just got a crash when trying to load a character with my loading functions, here is the crash log file. Any suggestions?

    And I found update color is very slow when I used a slider to let player change the avatar's skin color, any suggested way to do it efficiently?
     

    Attached Files:

  25. ashley66444

    ashley66444

    Joined:
    Feb 6, 2018
    Posts:
    5
    I can't tell exactly, but this sounds like your armature doesn't have "Adjust" bones or perhaps not parented correctly. It sounds like your animations are overwriting the adjustments because they are taking place on the same bones. I'd take a look at Secret Anorak's series on creating a new race if you haven't done so or if you have, I'd double check your armature.

     
    Jaimi likes this.
  26. Yerkisk

    Yerkisk

    Joined:
    Jul 28, 2015
    Posts:
    38
    @Jaimi how's the addressable version coming along? Is it safe enough to use the test version or there are still issues to fix before it's stable enough? We're already using addressables for other components so if it's stable enough I might give it a try. Thanks
     
  27. ashley66444

    ashley66444

    Joined:
    Feb 6, 2018
    Posts:
    5
    Not sure about the crash, maybe someone else can help>

    In regards to the color change slider. I've considered the same thing. The problem is: UMA rebuilds the character every time you change it. Which it needs to if you want to properly display those changes to the client.

    A workflow that I've considered (but not tested) for either Color wheel picker or slider for color is:

    1) Save current wardrobe/settings
    2) Either hide all the other meshes that you aren't changing or set their color to pure black (which should black them out) (Could use a black overlay for this?)
    3) Use the color wheel/slider to adjust the color on the material directly in the UMARenderer. (We black the others out/hide the others so adjusting the color on the material doesnt affect everything with shared material that is atlassed)
    4) Have an Accept button that restores the original wardrobe and then applies that color to the appropriate slot (in this case skin)

    This way they have a visual indicator of what it would look like without having to rebuild the UMA every color change.

    Also when you rebuild the character you don't have to worry about the Atlas material color being set to whatever you were displaying as it will get reset when the atlas is rebuilt.

    Just an idea that has been bouncing around in my head. If it works, lemme know!
     
  28. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189




    New UMA Release today -
    Medieval Monk

    The 'Medieval Monk ' costume is designed for Unity UMA 2.5 Character system..

    All costume items scale and deform precisely so you can vary the size of your characters proportions

    Pack Contains:

    • 6 Slots
    • 6 Overlays
    • 6 Wardrobe/Recipe
    SLOTS Included & Overlays & Wardrobe Elements for:

    • Tabbard
    • Cape
    • Belt
    • WaistBag
    • Trousers
    • Boots
    Pack can be purchased for just $15 from the below link
    https://arteria3d.myshopify.com/products/medieval-monk-unity-uma
     
    Firlefanz73 and Jaimi like this.
  29. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    We're all kind of in the same boat as you. We don't know exactly what you need. There are some obvious things to remove - like the car, and the high-res models. But do you need the old jeans? Or just the new ones? Do you need all the hair? Etc.

    My suggestion is to work from the base race recipe, make sure you keep those. Then the different wardrobe recipes that you need. Then delete everything that's not in those.
     
  30. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I'm sure a lot of people would be happy if you were willing to contribute that to the project. This comes up quite a bit.
     
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yes, a UMA only shows up if you hit play.
     
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Can you post the callstack (from the console, bottom pane) for the crash error?

    If you are rebuilding your character, it is slower than simply rebuilding the textures. If you call SetColor, there is a parameter to force the texture to rebuild, if you set that it is much faster.
     
    hopeful likes this.
  33. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    It *seems* stable. But, I'm sure there are issues somewhere. If you use the automated caching/freeing, there are some (a lot of actually) restrictions, so I suggest not enabling that, at least for now. I would love to have some people give it a try. There's a PDF to help you get started. And I recommend looking at the "Addressables" scene.

    Right now the advantages are:

    1. It's a lot faster to load and get something going.
    2. Stuff isn't loaded until it's needed. You can always preload anything you want, otherwise, it will load it on first use.
    3. Overall feels snappier to me. But maybe that's wishful thinking. lol
     
  34. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    And I just found another issue with
    I found the issue, my eye blink code used dna to control the eye closing blendshape, and when changing race, the character is rebuilding, the dna change code caused the crash since it cannot find the renderer.
    I changed the method to directly change blendshape value in the skinned mesh renderer, it all plays out smoothly.

    I am using the set color method with the update texture bool set to true. It's still too slow, normally will stuck the scene for a second whenever I need to modify the color. I'm wondering if it's possible for me to directly change the main color of the corresponding materials, then only apply them when the character needs an update. But I got stuck on an issue. I can't let only one property of an overlay to use shared color, like, I got 4 textures in an overlay and a texture color property to change the main color of the material. But when I let it use shared color, the albedo texture and the main color both changed to the shared color. How can I only let the color option to affect the main color property and leave the albedo texture alone?
     
  35. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Second new release of the year - This time, paying tribute to an iconic Historical costume style 'The Gambeson'



    The 'Gambeson ' costume is designed for Unity UMA 2.5 Character system..

    Aptly named, paying tribute to an iconic historical Costume style.

    All costume items scale and deform precisely so you can vary the size of your characters proportions

    Pack Contains:

    • 8 Slots
    • 8 Overlays
    • 8 Wardrobe/Recipe
    SLOTS Included & Overlays & Wardrobe Elements for:

    • Tabbard
    • Helmet
    • Hood
    • Lower Hood
    • Belt
    • Boots
    • Spear
    • Sheild
    Pack can be purchased for $17 from the below link

    https://arteria3d.myshopify.com/products/the-gambeson-for-unity-uma
     
    Firlefanz73 and Jaimi like this.
  36. StarChick971

    StarChick971

    Joined:
    Nov 28, 2015
    Posts:
    118
    @arteria I got the UMA Hair pack but I don't know how to fix the shader for URP in 2019.3... Thank you.
    upload_2020-1-10_11-5-28.png
     
  37. StarChick971

    StarChick971

    Joined:
    Nov 28, 2015
    Posts:
    118
    Last edited: Jan 10, 2020
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Hi - UMA colorizes the textures, and does not change the "color" properties on the material. It does this because the textures can be put in an atlas, and you don't want the color to affect anything else.

    If you are going to be modifying colors on the fly, you should be using Render Textures for your characters. Make sure that in the Generator, that "Convert Render Texture" option is NOT checked. (so the textures remain RenderTextures).
     
  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Addressables Update

    The Addressables feature branch has been updated here:

    https://github.com/umasteeringgroup/UMA/tree/Feature-Addressables

    To use this, you need to use the new prefab:

    addr_newprefab.png

    This includes the new "UMAGlobalContext" that pulls everything from the global library without going through any libraries (they're all removed from the new prefab). Since this new context always pulls stuff from the global library, it has no options.

    There is a new interface to the global library (AssetIndex) in this release:

    Addr_GlobalLibrary.png

    This includes the new information tracking the addressables. "ref" is if it behaves like the old global library (a reference is included for the object). Or if the items are addressable, then the "adr" column is checked, and you will see addressable group(s) and label(s) for the item. There are several new options for filtering the view, and options for selecting items in the library by race.

    Mostly, it works automatically. You can tell the library to preload sets of races and recipes (or more generically, labels). Items that are preloaded stick around until you call a function to unload all items.
    Otherwise, items are loaded as needed - when the character is built. And previously loaded items are released. Any item that has no reference after being released is unloaded from memory. (The system loads the new items before releasing the old ones to ensure there slots/overlays are not unloaded/reloaded).

    The end result is that the UMA scene loads very fast. And memory usage is very low (especially if you don't preload anything), as only things that are being used are loaded into memory. Overall it feels very snappy!
     
  40. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    This sounds awesome. :)
     
    Jaimi likes this.
  41. girlinorbit

    girlinorbit

    Joined:
    Apr 27, 2019
    Posts:
    115
    Hi! I'm trying to create an UMA horse, and have been following Secret Anorak's tutorials on YouTube, which are absolutely wonderful. My only problem is the blender doesn't want to import my fbx file. Is it possible to create an UMA race using the following bone structure?

    upload_2020-1-11_8-2-57.png

    Thanks in advance!
     
  42. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You would need to add the global and position bones for UMA, but otherwise that structure will work for a generic avatar.

    For importing fbx into blender, It needs a binary version. Fortunately, Autodesk has a good tool to cleanup and convert fbx files:

    https://www.autodesk.com/developer-network/platform-technologies/fbx-converter-archives

    just convert to the latest version (binary) and you should be able to import.
     
  43. girlinorbit

    girlinorbit

    Joined:
    Apr 27, 2019
    Posts:
    115
    When I do convert it, it won't give me any errors, but it won't import it either. Is there any way to edit an fbx file in Unity?
     
  44. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Not that I'm aware of. if you want to send me the fbx via PM, I will take a look at it. It should be able to load.
     
  45. pistekmet

    pistekmet

    Joined:
    Oct 7, 2019
    Posts:
    2
    Hallo,

    I created new uma character with the help of Secret Anorak tutorial:

    Everything seemed to work well, but after I used wardrobe recepies (hair, clothes) on character, this situation happened:
    wardrobe problem.png
    The dress does not fit the character and is rotated 90 degrees. Would anyone know how to fix this problem?
    Thanks.
     
  46. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    1. Did you rig the clothes to your model, and build new slots for your model? If not, this has to happen before you can add the new clothes. It has to be fit to your model, and rigged to it's skeleton, and new slots created.
    2. When you exported the clothing, did you use the correct fbx export parameters as shown in the UMA Content Creation doc? (They're different for Blender 2.8+)
     
  47. Deleted User

    Deleted User

    Guest

    Hi! I noticed that you had a problem with "UMAData: Recipe or Generator is not valid". Did you solve it somehow? I am using HDRP version 2019.3 and I have this problem. Can you give me some advice?
     
  48. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Usually that happens because it can't find something in the recipe.
    Sometimes it happens because texture channel counts don't match up.

    What does the console say?
     
  49. pistekmet

    pistekmet

    Joined:
    Oct 7, 2019
    Posts:
    2
    Well, no. I did not create the hair and shirt, it is standard UMA content. So I assumed it would fit on my model automatically. If this doesn't work this way, is there some tutorial how to proceed?
     
  50. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    UMA doesn't make all clothing items automatically fit your model, regardless of what model you use. Like, you can't make a new model and expect clothing to fit. You have to fit them to the base model yourself.

    Once they are fit to the new base model, then they will follow whatever adjustments you make to differentiate characters using the adjust bones.

    There's Secret Anorak videos on making slots. It's usually not all that hard, but it's enough extra work that you want to make sure you're going to stick with a particular base model before you dash off a ton of clothes.
     
    Jaimi likes this.