Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    Use UMA version Unity53 from Github ... or are you experiencing a problem with that one?
     
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Yes. We're in the process of finalizing it now.
     
    TeagansDad and hopeful like this.
  3. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Yes, there will be an update that works with 5.5. It should be out soon.

    Oops, should have scrolled down further before answering. lol
     
  4. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    :) that's multi-factor authentication in action, folks!
     
    Teila likes this.
  5. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Starting Twitch at about 4 pm US EST. Not sure what that is in your time. I will be showing how to make a base recipe and a wardrobe recipe along with some tips and tricks that I use. The release will have some changes but they should be minor and what I do should still work. If there are any major changes, I will redo the video.

    A recording of the Twitch will be available so don't feel you will miss anything if you can't attend. I don't mind talking to myself. lol

    https://www.twitch.tv/watregames
     
  6. Leesh0923

    Leesh0923

    Joined:
    Dec 5, 2016
    Posts:
    5

    OMG:eek::eek: I'm so sorry I'm too late
    I mistook live time because I thought our time today :(

    And Thank you for your video
    I really appreciate your help!! :)
     
    Teila likes this.
  7. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932


    Here is a cleaned up video of the session, without the long slide show and bantering at the beginning. :)

    Post on the YouTube video if you want me to go over something else. My programmer is going to make another ICE video and in that one, he will show how to put the UMA into the game and also how to attach weapons. :)
     
    RoyArtorius, hopeful and chelnok like this.
  8. Sinnerboy89

    Sinnerboy89

    Joined:
    Jan 25, 2017
    Posts:
    11
    Are there any plans to expand upon the current set of expression clips (i.e. more visemes)? Has anyone started thinking about adding emotion-driven clips (happy, sad, angry etc.) yet?
     
  9. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Well, the expression set is just an example and anyone can create their own expressions if they are needed. I would love to see some more base expressions though as well.
     
    Teila likes this.
  10. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Honestly, I think this is something up to the user to do or someone to make as a separate package. UMA is open source with volunteer developers. Of course, you are welcome to join the team and work on some expression animations for the project. :)
     
  11. Sinnerboy89

    Sinnerboy89

    Joined:
    Jan 25, 2017
    Posts:
    11
    This makes sense, just checking that I hadn't missed more example expressions hidden away somewhere! It may come to be that I'll expand on the current set of visemes, maybe to add aforementioned emotions as a new layer...if it comes to that, I'll be sure to make any useful contributions available to the UMA community.
    I'm by no means an expert however, so "useful" is very much up for interpretation.
     
    hopeful likes this.
  12. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    The UMA guys reminded me that if you put all your slots and overlays in the resource folder, you do not need to put them in the slot and overlay libraries. Just make sure you have dynamically loaded checked and refresh the index after moving things to the resource folder.

    In my project, I left the slots out of the resource folder which is why I needed to put them in the slot and overlay libraries.

    Neither and I and I sometimes feel useless. But often, just being there to test something is a huge help. Anything you build, no matter how simple, can eventually be turned into something great. :)
     
    TeagansDad and hopeful like this.
  13. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,314
    Hello,

    I have a simple miner helmet, a Romania fighter helmet, two nice wizard hats and some clothing parts. It is a bit more simple than the stuff from will for example but I like it. We want to use them for our upcoming game, but I am right now too busy with other stuff to watch the tutorials from SecretAnorak and make Slots and overlay data myself.

    Because there is so few free uma stuff online and uma is so great there should be more stuff available, especially for beginners and just to try out!
    Here a suggestion:

    Somebody who is experienced gets my 3d meshes and textures, and if he manages to make Slots and overlay data for it, we give it to the comunity for free okay? Anybody interested?

    Thanks a lot for your interest :)
     
  14. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    It is really easy to make slots and overlays. :) Like...REALLY easy.
     
  15. Reiika

    Reiika

    Joined:
    Jul 18, 2015
    Posts:
    43
    Thanks Teila for the video,

    I am going to have to definitely watch this when I get home, I can tell from the jump that implementations are different. Should be a good watch!
     
    Teila likes this.
  16. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,314
    PS: it is 5 helmets or hats and 4 Kinds of hair. The other stuff is just single like shoes, I guess this is too complicated
    It is all not fitted to the UMA and not bound to the rig. I hope it will be easy for the helmets and maybe the hair...
     
  17. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    The only thing that is difficult is getting the first one done correctly, so you know how it works. Once you know how to go about it, it is easy.
     
    Teila likes this.
  18. Sinnerboy89

    Sinnerboy89

    Joined:
    Jan 25, 2017
    Posts:
    11
    I'm having an issue saving a particular expression to an animation clip - starting from default values (all zeros) I tweak Jaw Open_Close, Left Mouth Smile_Frown and Right Mouth Smile_Frown all to be 1 to give a basic happy face - saving to clip here produces an .anim with those variables present, but all = 0 still:
    upload_2017-2-9_9-50-45.png
     
  19. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    If you're willing for me to include them in the UMA release (if you have the rights to allow that, they fit in with the package, etc), I'll be willing to take a look at them. I'm going through the videos now trying to make some hair for UMA myself. :)
     
    hopeful and Firlefanz73 like this.
  20. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,314
    Hi Jaimi,

    they are 100% done by my gfx artist, we are a 2 man Team (me coding him Artist stuff).
    I have currently the X (DirectX) Format, if you can convert that I can send you at once, if not I will ask him to convert them later today.

    Yes, I want to use them for our game and it is 100% okay for us if others use those, too. You can gladly add them to the uma release or others uma / unity assets.
     
    hopeful and Teila like this.
  21. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    It is actually 13 items, clothing, hats, hair. None are fitted or rigged to the UMA. It will be a very long job. Also, it is a voxel game, which may be very low poly making the rigging and paint weighting much more complicated.
     
    hopeful likes this.
  22. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,314
    It is only the helmets that are of interest for me. If they or the other stuff can be used, good. If not, no problem. When nobody does, I will take care of the helmets myself later.
     
  23. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Helmets are very easy. Secret Anorak has a video on how to rig a hat to the UMA head. It is super duper easy. :) I suggest trying it. That way, you can learn something new and not have to rely on others. It is wonderful to be able to do something that you never thought you could do.

    I will make a little tutorial on how to make overlays and slots. It takes only a few minutes to do this if you have all the PBR maps and materials ready.
     
    treshold likes this.
  24. Reiika

    Reiika

    Joined:
    Jul 18, 2015
    Posts:
    43
    Definitely interesting on the usage of UMA, I pretty much do not use UMA built in but basically only use it from script as a final builder, watching your video I kinda reinvented the wheel with my interpretation of UMA in my system, They both do the same thing in the end, but I do not use the scriptableobjects to make prefabs, I make it from code...


    Code (CSharp):
    1.         dreamEngine._avatarSystem.SetSlot(maleAvatar, "Male_Boots_Wanderer");
    2.         dreamEngine._avatarSystem.SetSlot(maleAvatar, "Male_Scarf_Wanderer");
    3.         dreamEngine._avatarSystem.SetSlot(maleAvatar, "Male_Backpack_Wanderer");
    4.         dreamEngine._avatarSystem.SetSlot(maleAvatar, "Male_Bag-01_Wanderer");
    5.         dreamEngine._avatarSystem.SetSlot(maleAvatar, "Male_Bag-02_Wanderer");
    An example of what I do... lol
     
  25. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    According to one of my programmers, this is very difficult because you have to apply slots, overlays, etc. The recipes have a way to handle this, hiding, suppressing the slots. It is much more complicated in code. If you are always going to generate the same character and never change it, then code works fine.

    Of course, we all have our own ways. :) The old Umazing asset used code and when we tried to use it, the shear work at adding in dozens and dozens of slots and overlays made it very cumbersome. The recipe system is neat and clean.

    Depending on the scale of your game, it might not matter that much but for us, it did.
     
  26. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Yes, code works fine but gets very cumbersome as the game expands. The recipes are also good for artists and such, allowing some load to be taken of the programmer if you are working in a team, or if your new at programming. And even better would be if we could get content creators to ship the recipes with their assets, then its really just plug and play.

    There is not right or wrong way, just different ways for different needs and preferences : )
     
    Teila likes this.
  27. RoyArtorius

    RoyArtorius

    Joined:
    Jul 11, 2013
    Posts:
    73
    Hi all,

    I've always been conflicted when it comes to using UMA. I could never figure out the proper way to use it due to the various videos on UMA presenting different perspectives on it. Then @SecretAnorak posted his tutorial videos and it finally seemed to start making sense. But now those original videos are out of date and UMA is getting an update so now I'm confused as to what to do.

    Should I wait for UMA to have its update done and for more tutorials to be made on it before trying to use it again?

    I'm also the type of person who prefers to make their own stuff and, as such, I would make my own male and female races along with my game's other non-human races. That's where the wardrobe thing is confusing me. I would like to not be constrained by a pre-existing list of what items I can put on my character.

    Will Uma allow me to create my own configurations as to what my characters will look like and wear?
    I also remember that certain body parts could be switched out such as the ears and nose and they would all be merged into one mesh. Is this still a feature of Uma? That different shaped body parts could be switched around on the same race?

    Sorry if these are all obvious questions or something. :)
     
  28. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    The secretanorak tutorials will still be valid for the new UMA update. We just added a new way of using it on top of the old way. There will be new tutorials coming out on this as well. So either you stick to the old way as you are used to, or you wait for a bit until the new tutorials are ready.

    Yes, you can create whatever characters/clothing you want, thats the point. The recipes are there to help you "dress up" your UMAs, so instead of having to add every clothing item using code, you can now add in with a ui instead. This is especially helpful when creating NPCs or when you just want to make sure all the pieces fir together as they should.
     
    TeagansDad and RoyArtorius like this.
  29. RoyArtorius

    RoyArtorius

    Joined:
    Jul 11, 2013
    Posts:
    73
    Thank you for replying :)

    Sounds like an update worth waiting for then :D
     
  30. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I would wait until the new one comes out. Should be very soon.

    Adding clothing and items with the UI is not hard once you try it. Just have to get past the learning curve and it is a much much less steep curve now than it was in the previous version, even the one on the Asset Store.
     
    TeagansDad and RoyArtorius like this.
  31. Reiika

    Reiika

    Joined:
    Jul 18, 2015
    Posts:
    43
    Yeah my implementation was built around secretanorak's videos, the code I use is very simple it's not actually hard coded just the example was, but the way it is designed is basically I can use it to equip a piece using a number or a string value to change clothing, so for example if I have an item like metal boots, I can set the property of the equip mesh to just "metal_boots" and the system automatically applies the slot or slots and overlays to the UMA, it works just like how Teila demonstrated how UMA works, but outside of it lol, I just basically recreated what was already existing because I didn't know lol. I am using for an online game I am working on so character meshes are built dynamically based on what the server sends
     
    Teila likes this.
  32. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    Not sure if you would find it workable or preferable, but this new UMA has some sort of hookup to the Unity asset bundle system. That's a native way of downloading assets from server, caching them, and so on.
     
    TeagansDad and Teila like this.
  33. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,314
    Hey Jaimi,

    did you see the conversation? If it does not work or too much work, no Problem. There is also some hair in it, maybe we can use it...
     
  34. Rinzlo

    Rinzlo

    Joined:
    May 26, 2015
    Posts:
    14
    So I just want to confirm... the unity 5.5 version is not compatible with the latest UMA release due to the obsolete code correct?
    I'm brand new to UMA so im not about to fix it myself while theres so much else I can work on currently.
    P.S. if it is somehow up to date, then why is it that the git code is still obsolete when I turn it into a project?
     
  35. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    It's mostly due to shader problems rather than obsolete code.

    I tried to revert back to 5.4, unity said: DREAM ON XD
     
    Rinzlo likes this.
  36. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Sorry guys, they are working on it. :(
     
    Rinzlo likes this.
  37. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    The are a bunch of separate branches in git which contain different versions of the code. Most of the current work is not taking place in the main "master" branch, it will be merged into that when the work is complete.
     
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Yea, I got it, I don't think any of it will work for UMA.

    But I'm still learning how to do these right, and need practice. I'll try to convert a couple of your models, and send them to you. It might be a few days.
     
    Last edited: Feb 12, 2017
    Firlefanz73 likes this.
  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    if you want to try the absolute latest version, use the "FolderRestructure" branch.

    I'd love it if a bunch of you could test this. It should be all ready, pending any found bugs.
     
    Rinzlo and Teila like this.
  40. Drowning-Monkeys

    Drowning-Monkeys

    Joined:
    Mar 6, 2013
    Posts:
    328
    Hi guys,

    Just getting started with UMA but my artist has been working with it for several months and we've made great headway. My question is about customization. Changing the slot/overlay color and modifying the UMA through a GUI is really straightforward, so thanks for all your hard work!

    We'd like to do a point/click/paint implementation. So, select a color from the GUI, click on the part of the UMA that you want to paint, and voila. But this is an issue because the Dynamic Avatar combines the mesh, so there'd be no way to know what you clicked on. Is there a way to pause the combining process until we press a 'finalize' button?
     
  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Not really, but you could hack it. You'd have to duplicate all your slots and overlays (or programatically adjust the UMAMaterials). When UMA's are built, only slots that have the same material are combined. So if they had different materials, they would become different submeshes. Then once you had done everything, you could rebuild it with the correct materials. I'm sure this would be a ton of work.
     
  42. Drowning-Monkeys

    Drowning-Monkeys

    Joined:
    Mar 6, 2013
    Posts:
    328
    hahaha, ok, thanks. GUI it is...

    i tried to change the mat but now i get an UMARenderer w/ 2 mat's instead of two meshes. Did i do something wrong?
     
  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Nope, The two materials means there are two submeshes. You'll need to detect which submesh was clicked on. I've seen some code around, but I don't have first hand knowledge of what to do. Likely you'll need to get the click point, and iterate through the triangles.
     
  44. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    Now that I think about it - Another answer is to simply build multiple UMA's at the same spot. Then it's easier to figure out which one was clicked on. And you don't need multiple materials. You'd simply build a UMA for each piece. Note that this can cause bone errors if you haven't built a full UMA out of it before, so you'll need to take that into account. Sorry I don't have a pat answer for you, all of this will take quite a bit of work.
     
  45. Drowning-Monkeys

    Drowning-Monkeys

    Joined:
    Mar 6, 2013
    Posts:
    328
    ok my bad, and I found the code i need, but i've hit a new, most amazing snag:


    When I dynamically add a mesh collider using the following code:
    Code (CSharp):
    1.  
    2. SkinnedMeshRenderer smr = gameObject.GetComponent<SkinnedMeshRenderer>();
    3. MeshCollider mc = smr.gameObject.AddComponent<MeshCollider>();
    4. mc.sharedMesh = null; // with or without
    5. mc.sharedMesh = smr.sharedMesh;
    6.  
    I get an enormous collider that isn't lined up with the model at all. Any thoughts as to why that is?
     
  46. umutozkan

    umutozkan

    Joined:
    Oct 30, 2015
    Posts:
    406
    Hi Jaimi,

    I did take a look at Folder Restructure branch. (I checked out the branch and copied folders to a new project, on Unity 5.5) I am not so much experienced with UMA and wasn't able to test it much but checked folders, tried to run the scenes I found. (I couldn't figure out some utility scenes like expression clip editor and verify slot meshes.)

    Here's what I got:

    * When I first imported the folders in some messages were in unity log. I copied them (attached the file). I am not sure they were important or not (almost all of the scenes included in the package ran without a problem).

    * There are some empty folders in the project. I am not sure if it is intended, but it makes things confusing. Maybe unused folders can be removed.
    - Folders under /Assets/Lux 2.01 Personal are empty.
    - Folders under /Assets/UMA/New Body are empty.
    - Folders under /Assets/UMA/PBR are empty.

    * Scene06 - Crowd Recipes - PBR scene when run, throws following errors:
    - Slot 'FemaleFace' and Overlay 'FemaleLongHair01' don't have the same UMA Material
    UnityEngine.Debug:LogError(Object)
    UMA.SlotData:Validate() (at Assets/UMA/UMACore/Plugins/Core/Scripts/SlotData.cs:242)
    UMA.UMARecipe:Validate() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAData.cs:340)
    UMA.UMAData:Validate() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAData.cs:193)
    UMA.UMAGeneratorBuiltin:HandleDirtyUpdate(UMAData) (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAGeneratorBuiltin.cs:190)
    UMA.UMAGeneratorBuiltin:OnDirtyUpdate() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAGeneratorBuiltin.cs:249)
    UMA.UMAGeneratorBuiltin:Work() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAGeneratorBuiltin.cs:133)
    UMA.UMAGeneratorBuiltin:Update() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAGeneratorBuiltin.cs:98)

    - Overlay 'FemaleLongHair01' doesn't have the right number of channels
    UnityEngine.Debug:LogError(Object)
    UMA.SlotData:Validate() (at Assets/UMA/UMACore/Plugins/Core/Scripts/SlotData.cs:249)
    UMA.UMARecipe:Validate() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAData.cs:340)
    UMA.UMAData:Validate() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAData.cs:193)
    UMA.UMAGeneratorBuiltin:HandleDirtyUpdate(UMAData) (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAGeneratorBuiltin.cs:190)
    UMA.UMAGeneratorBuiltin:OnDirtyUpdate() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAGeneratorBuiltin.cs:249)
    UMA.UMAGeneratorBuiltin:Work() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAGeneratorBuiltin.cs:133)
    UMA.UMAGeneratorBuiltin:Update() (at Assets/UMA/UMACore/Plugins/Core/Scripts/UMAGeneratorBuiltin.cs:98)
     

    Attached Files:

  47. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Hmm, I am 99% sure I removed those. Looks like someone redid my folder structure. ;)

    That is a recipe error. The longhair overlay does not have to be the same material as the femaleface since the hair overly does not overlay the face.

    Looks like the long hair recipe is messed up in other ways.

    The other ones deal with stuff that I cannot explain. I am going to download it now and see what is wrong with it. If it is just overlay and recipe issues, I can fix those and if you want, send you a copy of my fixed version.
     
  48. Drowning-Monkeys

    Drowning-Monkeys

    Joined:
    Mar 6, 2013
    Posts:
    328
    OK...

    assuming i fixed the above problem (I did, just not the way i think it should work), I was able to grab the triangle that intersects the raycast, find the corresponding submesh, and access the overlay and paint it.

    So, now i've got a working click/paint system, and I can revert to a single material UMA by copying colordata, storing it, then switching base recipes and reapplying colors to overlays.
     
    ecurtz and Jaimi like this.
  49. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,204
    This is a problem in GIT, it doesn't delete some of the files and folders when you switch branches. If you pull to an empty folder, they aren't there. :)
     
    Teila likes this.
  50. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    It looks really messed up. I got errors that something was deleted. With no docs, why put a txt file in the resource folder instead of content? Obviously it is working differently than when I used it but without docs, I have no idea what to do with it. lol So, even me, who has worked with this before is baffled.

    You need to write some docs so those of us used to doing it otherwise don't have to beg for help.