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
    The only thing I can think of associated with AA is that HDR doesn't work with MSAA (if that is still true). Is there anything else in that vein?

    As for things that can turn characters black, a year or so ago there was an issue about using legacy UMA textures built for gamma and they would turn black under linear.
     
  2. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    YAY! New UMA 2.5 is now built, hurray!!
    The impatient devs can get it here: https://github.com/umasteeringgroup/UMA/releases while we wait for it to go live on the store.

    Full release notes:
    -DynamicCharacterAvatar - advanced avatar and clothing system
    --Loading from Asset Bundles and Resources
    --Asset bundle encryption
    --Parameterized DNA for Races
    --Placed UMA representation in Edit mode
    -Upgraded base avatars
    -Unity 5.5 compatibility
    -Improved custom inspectors for objects in Unity Editor
    -Expression editor
    -High poly slots compatible with low poly slots
    -Alpha Cutout system
    -Global texture scaler
    -Animator dont get rebuilt on UMA update
    -New scenes - New avatars, Networking, LOD
    -General speed up
    -Lots of general fixes
     
    Anisoropos, malkere, chelnok and 13 others like this.
  3. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    I still think it should be UMA 3.0. Just look at the list of new features! :)
     
    Anisoropos and DonLoquacious like this.
  4. JamesK24

    JamesK24

    Joined:
    Feb 28, 2017
    Posts:
    20
    Thanks for the quick response. I tried adding the expression script to the DCS inspector manually and it worked! Regardless of DCS script automatically adding the expression script just inserting the expression script in edit mode and un-checking made i work. Thank you for your help!
     
    Last edited: Mar 17, 2017
  5. JamesK24

    JamesK24

    Joined:
    Feb 28, 2017
    Posts:
    20
    One other question for UMA masters. I have an animation that was built on a non-UMA rig.. Thus when I have my UMA avatar play the animation it looks quite different from the original animation. After checking out the animation rig and a UMA rig that I've got from the contents pack.. it looks like the UMA avatar rig is quite different from other avatar rig hence the animation looking weird. When I try to insert the UMA avatar rig as the model for the animation it dosen't work because the copied avatar rig configuration is mismatched.. I am guessing it's because UMA avatar has different settings when it comes to the hips.. but does anyone figured out a way to successfully have the UMA adapt to an animation that was built on a regular avatar rig?
     
  6. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    This should be able to be solved by using the Tpose for your animations on your race. To Fix it, go to the fbx with the TPose for your new animations, select "Rig", and press the "configure" button. Once in the TPose, select "UMA/Extract TPose" from the menu, and save the TPose. Put the new TPose on your race.
     
    TeagansDad likes this.
  7. JamesK24

    JamesK24

    Joined:
    Feb 28, 2017
    Posts:
    20
    Following your instructions I went to the fbx of the animation and extracted the Tpose.. Then i've put the TPose on my male race...and on the console 'IndexOutofRangExeption : Array index is out of range" error pops out... am I doing something wrong? or is it that i have to build animations based on UMA rigs.... by the way thank you for the support
     
  8. gordiri

    gordiri

    Joined:
    Dec 3, 2015
    Posts:
    9
    Did you try in build? Here is example with example scene
     

    Attached Files:

  9. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    Oh, sounds like the skeleton is different. Well, only thing to try is to load up the "unified male" skeleton the same way, adjust it so it's the same as your other one, and export the TPose from that.
     
  10. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    Yeah - set it at 8X and did a build.

    Can you try the following:

    1. Go to the generator and set the "initial scale factor" to something like 8. It will look really fuzzy, but that will tell us if something is wrong like it's failing to create a big texture or something.

    2. If that has no effect, I can only think to try updating drivers. What type of card do you have? I'm trying mine on an intel (iris 540).

    You might also check the player log:

    https://docs.unity3d.com/Manual/LogFiles.html
     
  11. tequyla

    tequyla

    Joined:
    Jul 22, 2012
    Posts:
    335
    thanks for all ! :rolleyes:
     
  12. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    I disagree with Jaimi on this one. You're going to be much better off if you can get Mecanim to do its job and transfer the animations for you. There's probably an issue with the TPose on the original animation, but you don't need to export it and use that, you should just be able to adjust it so that the movement ranges are correct and reimport. After that Mecanim should be able to transfer the animation to the UMA skeleton.
     
    Teila likes this.
  13. RoyArtorius

    RoyArtorius

    Joined:
    Jul 11, 2013
    Posts:
    73
    It's awesome that it has finally updated. I haven't tried using it yet but I'm curious about something.
    Can I get some info on the process to use generic animations with UMA? I despise Unity's Humanoid Avatar system with a fiery passion :p
     
  14. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    UMA has a pretty standard humanoid rig, just with the adjustment bones added on top. If you wanted to do custom animations or use some sort of procedural controller, you'd just hook into that as normal. There are source files for the base models in FBX or Blender format available on GitHub: https://github.com/umasteeringgroup/content-pack/tree/master/ContentPack_1.1.0.1
     
  15. silentneedle

    silentneedle

    Joined:
    Mar 14, 2013
    Posts:
    280
    I'm currently migrating to the new release. Would it be possible if you guys remove the flags of the demo asset bundles? It wouldn't be that comfortable to remove them manually for each uma update. Maybe you could separate them to a asset bundle demo unity package.
     
  16. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    403
    Hi. I'm new to this thread and asset. coming unimpressed from Morph3D. Can anyone give me a brief rundown of UMA, how it works, and it's pros/cons/limitations?

    I'm in the process of building a small scale multiplayer RPG, which seems to make me exactly the sort of person that Morph3D doesn't want.
     
    Anisoropos, Teila and DonLoquacious like this.
  17. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Hey, welcome : )
    You can get some basic information here: http://umawiki.secretanorak.com/Main_Page
    Best is probably to look through some tutorials and/or join us on slack for a chat, just send me your email if your interested.
    Also, there is a new tutorial series that will start coming out this weekend that will start with some more basic explanations on "what is UMA?".
     
    hopeful likes this.
  18. Pros: free, MIT license; faster (bone-based) than the MCS (blendshape based); stable fan-base; helpful forum members; helpful contributors (I admire every one of them for their long hour works); small number of real bugs (no really show-stoppers in general)
    Cons: bone-based, so certain things (like body-shape, fat) are harder or impossible to achieve right now; it can be confusing at first sight, but it goes away when you learn the terminology and watch the tutorial videos; it's a framework, not a solution out of the box, however they are going to that direction;

    I think the best way to take a look is download it from the github today and fire up in Unity. And then visit SecretAnorak's youtube page and watch the tutorials (these are made for the previous version but most of it can be applied to the current as well).

    After all, if you're unimpressed with Morph3D, there is a good chance to feel better with UMA. I'd give it a chance if I were you. :)
    SecretAnroak's channel:
     
  19. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Support for blendshapes will come in next release. However, its quite a lot heavier than the standard bone based solution. We will investigate if we can bake the blendshapes and that way get rid of the overhead, but thats further away on the roadmap.

    Edit: Also keep in mind that the new version is a lot easier to get into and requires a lot less code than the version in the videos, even if you can still do it that way if you need full control.
     
  20. umutozkan

    umutozkan

    Joined:
    Oct 30, 2015
    Posts:
    406
    Actually, it is possible to achieve body-shape / fat by bones to some degree. If you skin the mesh right, you can have blendshape like effect with some limitation (i.e. direction of movement should be the same for the vertices like inwards / outwards but weight can be different on each vertice).

    Exploiting this and the fact that UMA DNA can be set up to affect multiple bones, theoretically, you can have adjustment bones all around the body to morph it into more muscular shape.

    The current base model doesn't have this kind of skinning on it but as LurkingNinjaDev pointed out UMA is a framework.

    (BTW I am trying to create an UMA race capable of what I described. When or if I manage to do that I'll let you know ;) )
     
    TeagansDad, Teila and hopeful like this.
  21. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    403
    Interesting stuff, thank you.
    So shape is fixed, no blends or alterables for the moment, though various options are being looked at.
    I presume if it's bone based, I can rescale bones (I'm thinking shorter/wider for dwarfs, or taller/thinner for elves)?

    How trivial is adding parts like tails, wings, etc?

    Thanks again for the welcome, and info.
     
  22. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Shape is not fixed at all, there are lots of options for changing shape of body and face. Just thats its bone based instead of blendshape based. Adding wings and tails should be pretty trivial i would say. Easiest is to just download it from github and give it a spin using the example scenes
     
    Anisoropos and DonLoquacious like this.
  23. Maybe I should choose my words more carefully, sorry about the misunderstanding. I haven't intended to tell that the shapes are fixed. I just tried to communicate that certain 'extreme' shapes (like obese) of the body is harder to achieve in UMA than in MCS (nature of the two separate methods of changing the body).

    I really would like to urge you to download it and try it, there are some examples in the package and you can see what you can achieve fairly easily. And of course if you like it and start to use it, you can introduce your own meshes and textures, nothing stops you to create/buy 3rd-party clothes and accessories for your characters.
     
    hopeful and DonLoquacious like this.
  24. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    One thing to consider...it is not that difficult with UMA to add bones and DNA so you can make more adjustments to the body. I can make fat, pregnant, pear shaped, and lots of other shapes. Will have to do make some pictures sometime.

    The limitation is the textures since they all have painted on muscles, except one which is okay...but none for chubby women.
     
  25. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    I would also think that the more you dynamically deform from an original body shape, the more your normals are going to be stretched.
     
    TeagansDad and Teila like this.
  26. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Yes, you would have to make new normals to go with the new textures. But then again, it depends what you want.
     
  27. DonLoquacious

    DonLoquacious

    Joined:
    Feb 24, 2013
    Posts:
    1,667
    The textures definitely seem like the major concern. I have Substance Painter and I'd like to use it for just painting some new textures on the same UVs, but there are a couple of potential problems with that.

    1. When using UMA, is the actual mesh deformed in a way that would allow the results to be output (exported from Unity and dragged into an external program) for painting, or are the results only real-time deformations and not saved as a usable mesh?

    2. How easy would it be to separate out various body parts for texturing (head, arms, legs, chest), like they do with MakeHuman and Fuse? That seems to be the standard there for a reason, as it allows different shape and texture options independent of the rest of the body.

    3. If it's possible to separate out body parts like in (2), I assume that each part would have its own texture. How difficult might it be to then re-merge those various textures into one final texture result? Ideally, I don't want to have 4 different materials for one character's body, especially if we do PBR and that turns into 16-20 different 2k+ textures. At the same time though, the arms/legs could be muscular on a man with a pot belly, so having only full-body texture options means a LOT of Painting for variations.

    I haven't actually looked into UMA yet (been a busy day), but just some quick clarification on whether any of these aspects are easy/difficult to deal with or work around would be extremely helpful.
     
    LukeDawn and Lurking-Ninja like this.
  28. RoyArtorius

    RoyArtorius

    Joined:
    Jul 11, 2013
    Posts:
    73
    I'm assuming when you add bones you're adding them in a 3d modeling program? Also, I plan on using my own custom character models and skeleton, would the process of adding bones and such remain the same, be easier or harder?
     
  29. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    I wouldn't say a major concern, exactly, just something to plan for. If you keep your size modifications small, you should be okay. And if you want more range - say a really big belly - then make a big belly slot that again can only be modified a little bit so as to minimize distortion.

    That is why, for example, the female model has a medium sized bust. So the slider can move a bit one way or the other and it looks fine. However, if you move it too far you'll begin to see distortions, and that's when you need to think about making a new slot with a new normal texture and maybe albedo too. (This was an issue for someone about 50 pages back.)

    As for the rest of what you're talking about, I'm not an expert, but here's my understanding:

    1) The modified mesh is procedural, but you can manipulate the bones in Blender and make it look just like what it would look like in the game.

    2) Body parts are already separated out, but you can do what you want, and separate even more out if you like.

    3) You do make a different texture for each slot (body part). That's the normal way of doing it. UMA combines the slots (meshes) and atlases the overlays (textures) at runtime. If you don't need more than one shader, you can get it all in as one material.
     
    Last edited: Mar 18, 2017
    DonLoquacious likes this.
  30. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Shouldn't be too difficult but might require some knowledge of a 3d modeling program. There are plenty of us to help. Making the 'race', which is what you would do when using a different model is relatively easy and very easy to hook up the DNA with the bones. Check out Secret Anorak's videos. It is even easier now than when he made that video.
     
  31. If you have substance painter I'd like to ask you to consider to release clothing/accessories for UMA based on procedural materials (You can create it in Substance). You can choose what parameters will be exposed in the editor after release. It would be nice touch to be able to customize (even in run-time) some colors, dirt, blood stains, etc on these stuff. I think I would pay for such things, like I paid for substance-based assets before, because can be made somewhat unique easily. But on the other hand I've never tried to use UMA + Subtances yet.
     
  32. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    I think we could export a deformed mesh. We were just talking about that in the UMA channel. I plan to try it sometime next week and see if I can get it into a 3d modeling program. If I can, then it should work fine with Substance painter.

    Easy to texture the different parts. Just use the separated UMA mesh and if you want cut up the body even more. You will have to make new slots and overlays but not a bit deal. I often create body parts to go with clothes.

    Body parts can have their own texture if you want and as long as you carefully match the skin, that should be fine. Right now, the head and body are separate. You just set a shared color for the skin for the face and body and it just works. I don't see why it wouldn't work for each body part. However, it is much better performance wise to use one body for all the body parts and one for the head/face. But if performance isn't an issue for you then you could do whatever you want.

    If you want to get that detailed, you can make the arms a separate mesh and do as you will. My plan is to have a fat skin and a muscular skin. I can't personally imagine a fat belly with muscular arms, and honestly, my game is about so many other things that I don't need to worry about that type of realism. But sure, try it. :)
     
    TeagansDad and DonLoquacious like this.
  33. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    We will have to test substances with UMA. It may or may not hurt performance. One could certain make different skins for clothing, with blood on one texture, dirt on another, both on a third, and then a nice clean one and scripts could allow for texture changes. But not sure about real time changes. Substances can be heavy in-game and you want UMA's to be fast. It is why they work so well in games.
     
  34. Yep, if they too heavy for such a use, you always can bake them on build so they will be as any other texture in run-time and obviously can't be changed during game-play.
     
    Teila and DonLoquacious like this.
  35. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    What is the expression editor?

    Is it similar to Valve's Phoneme editor?
     
  36. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    And not everyone needs loads of characters on screen at the same time, so performance is not always critical.
     
  37. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    It lets you create facial expressions and play them (like various phonemes, sad face, smiles, raise eyebrows, etc). To sync to voice, you would need to use a different tool (I think most people are using Lipsync pro)
     
  38. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Ok, Thanks for the info. :)
     
  39. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Got a question - Are there any plans for the UMA steering group to take advantage of GPU instancing?

    I am asking this as I am using UMA for a single player game however I do plan on having allot of characters on screen at one time. Either instancing via body part or via character would be a welcome addition to UMA.

    Either way just curious,

    HeadClot
     
  40. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Im no expert, but isnt instancing made for lots of meshes that are same, like grass or trees? In the case of characters all meshes will be unique so there will be no real gain?
     
  41. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Yes as long as the base mesh is the same. My thought is if an instance shares the same geometry and maps it should be OK. I am unsure about morph targets tho. Why I say I am unsure about morph targets is that they are just deformations of the base mesh. However the geometry is the same so that is why I say it is Ok. At least that Is why I think so.

    Morph targets are what I will be using to make my characters look different from each other. Going to ask some people who are more knowledgeable on this either way. Just to make sure.

    Here is the Wikipedia article on the topic. https://en.wikipedia.org/wiki/Geometry_instancing

    Either way - The UMA Steering group has made an incredible tool. Cannot wait to use it :)
     
  42. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    @HeadClot88 - If you are are targeting desktop, you can get a couple hundred UMAs using LODs.

    If you want to do something like a stadium crowd scene, that's where I think you might use the instancing. Probably that would have very little to do with UMA, though.
     
  43. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Ah fair enough :)
     
  44. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    403
    I'm still interested so far.
    I would like to know how to add bones to change avatars (chubby, pregnant, breast size, tails, etc). I don't really have any 3D skills, or any 3D software.

    I haven't seen any other skin textures so far, some PBR ones without lighting/shading on them would be great (albedo as opposed to diffuse), as would some for darker skins, where certain body areas have more melanin pigment than others. Is there any plan to create more for this project, or is it down to finding artists who want to create and sell in the asset-store?

    The available clothing so far is incredible, much better than for MCS, though I haven't seen how much is truly PBR yet. I'll have to buy some and find out.

    Finally, hair. All of the hair assets I've seen so far are block mesh. Are there any that are made from strands and look a bit more realistic? Or is this something else that needs a push to get it going?

    Thanks again for all the info so far
     
  45. LukeDawn

    LukeDawn

    Joined:
    Nov 10, 2016
    Posts:
    403
    Are there any higher poly models? The one's I downloaded only seem to be 7K tries. Great for a LOD stage, but not so good close up.
     
  46. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    Animation is my weakest skills so I'm just going to skip to the asking here =o
    I'm using lots of animations from Explosive's animation packs, Crafting and RPG. They're pretty mediocre, but there's a lot of them for a decent price. Anyway, I get legs twisting funny which I think I've fixed with baking before or something.. I'm trying to just swing an axe with both hands right now, but the alignment is really horrible. Does this have anything to do with UMA or is more just my lack of handling animations properly?

    I'm still on the UMA53 build by the way.
     
  47. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    First problem is definitely atlassing changing the uv coordinates. You'd need to change the uma material settings to not do atlassing. This will produce a lot more drawcalls, but the uv coordinates will be kept intact. Setting this is trivial, select the UMAMaterial assets and use the inspector to change the setting, just remember to set it back when you're done. :)

    Simplest way to do this, use Unity's BakeMesh method to get a static mesh, this will be fully deformed and look like on screen and then use one of the free obj exporters to get it into your tool of choice, of course you'll loose the rigging with obj, but that shouldn't matter for texturing.

    It would require you to split the texture into multiple textures and re-uv the meshes to match. In other words uma supports this but our base assets doesn't. :)

    You should cut the big texture into several smaller ones, the atlassing will take care of this and ensure the final result is still only 1 drawcall. If you run out of gpu memory you're not using the texture resolution lod properly. We have been talking about a more complex atlassing where it looks at the used rectangles of each texture and combines based on that. This would allow you to not cut the big texture into several pieces but it would still make it impossible to tint each part differently, which cutting it up wouldn't have problems with.

    The framework can handle all of it, but sometimes the assets might require a bit of work.
     
    DonLoquacious likes this.
  48. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Aligned animations like this is a weak point in how unity's animation system works. This problem exists with Mecanim Humanoid but even with Generic uma would still be affected.

    Essentially the animations are rotational from the joints but when we change the length of the bones (or when the humanoid retargeted character has different arm length) the hands ends up in a place that doesn't match the animators intention. This is pure math and there is no real way to get around it. I would advice to use a bit of IK to clean that up.
     
    malkere and TeagansDad like this.
  49. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,203
    There are higher poly hands and head included in the package.

    As well, the texture resolutions are scaled down by default. If you're using the UMA_DCS prefab, open it up in the scene and change the global scale.
     
  50. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    My understanding is that (at least for now) GPU instancing isn't supported for skinned meshes.