Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    229
    Very nice! Looks like very promising stuff to me overall. I'll check out tutorials and hopefully it's something I use.
     
  2. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Great to hear that =)
    Please subscribe on youtube channel, so you get updates of new tutorials.
    I´m still recording new videos, the old ones are mostly deprecated because of the huge amount of changes on those last months.
     
  3. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    Has this been implemented yet? If not, what is currently the best way to get notifications after generation? Thanks in advance! :)
     
  4. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Not yet. Right now we have umaData.OnUpdated, take a look on UMACrowd to see how it works. It´s called after every update the avatar receives.
    We update Avatar Collider calling myColliderUpdateMethod() on OnUpdated.
     
  5. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    Thanks!
    I did some quick tests and as far as I could tell it only got triggered once even when creating lots of UMAs. However, I sidestepped the issue for now by implementing a simple IEnumerator that checks for the new avatar after creation. Works well enough for now. :)
     
  6. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    SetUMAData(); (where we have umaData.OnUpdated += myColliderUpdateMethod is called on GenerateOneUMA(), and this guys is called for both cases.

    But very important: I´ve corrected this on Git but not sure it has been submitted on latest AssetStore update:
    CapsuleCollider tempCollider = umaData.umaRoot.gameObject.GetComponent("CapsuleCo llider") as CapsuleCollider;

    We had a big change on where UMAData is, on old versions, both CapsuleCollider and UMAData where on same GO.
     
  7. Mikie

    Mikie

    Joined:
    Dec 27, 2011
    Posts:
    367
    What do the 3d scan apps do for me in simple terms? Is there a movie?
     
  8. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    Not sure how serious this is, but I think it might be worth looking into. I get this error quite a bit when stopping/starting a UMA project during development:
    Any ideas what might be causing it? Stopping and starting again clears it...
     
  9. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    There´s a couple webplayer for each of them. Here´s an example:
    http://www.huika.com.br/UMA/DionysusWebPlayer/

    Those improve quality of avatars, if you´re aiming for realistic rendering.
    I´ll be able to record a video about those on following days, maybe today if I´m lucky :)
     
  10. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    770
    They provide upgraded photo-realistic skin textures for your UMA avatars, to replace the standard painted ones. They aren't strictly necessary, especially if you plan to use your own skin textures, or non-human characters, but they do make standard human characters look more realistic. There's no video tutorial yet, but they come with a demo scene, and instructions for adding them to your overlay list, to use on your own avatars.
     
  11. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Looks like one of your overlays have an empty texture list. Can you check if that´s causing the error?
    You´ve been creating your own overlays by hand? MaterialBuilder should fill Texture list
     
  12. Mikie

    Mikie

    Joined:
    Dec 27, 2011
    Posts:
    367
    Thanks for the info. I looking for a monster, animals, cartoon package, etc.
     
  13. buckius82

    buckius82

    Joined:
    Nov 19, 2013
    Posts:
    40
    Fernando awesome job with UMA, i have been messing around with the models i have a couple high poly models i would like to add as replacements, i can enter the animated bone info and most of the temp bone info manually but i have no idea about the original rotation in temp bone on the UMA data script. Is there an easy way to populate the UMA data Script New or different models.

    I had scaled your skeleton to my model then adjusted a few of the bones my model was about half the height, was that a bad idea? should i just model around the Armature?
     
  14. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there! Yes, I really recommend the opposite, adjust your content to the base mesh/rig, this way it works for everyone following the standard.
    Can you post some images?
    There are many devs looking for content, so new stuff is more than welcome! = )))
     
  15. FargleBargle

    FargleBargle

    Joined:
    Oct 15, 2011
    Posts:
    770
    These are only the first ones. I expect Fernando and others will be coming out with more in coming months, including non-human variants. If you plan to make and sell your own skin overlays, Fernando's packs provide an excellent example of what needs to be included, and how to package them.
     
  16. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    The thing is that this happens intermittently. And I am not changing anything in between. In 95% of the cases it runs fine, but all of a sudden it will trigger that error without me doing anything. And again, without me doing anything to correct the situation, it will always run fine the next time I hit play. Really strange.

    Is there some operation that is done runtime that might fail the next time around if it is not allowed to complete properly or similar? That is the only thing I can think of.
     
  17. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    Forgot to add: The UMA setup in this project is standard as I imported the most recent asset store version to check if there were more events to tap into. So the setup in terms of slots/overlays etc. is 100% stock.
     
  18. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Ok =DD
     
  19. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    Hi again,

    Another question. :)
    I have spent the day testing foot placement methods, and during the tests I happened to notice that UMA seems to add a lot of foot sliding to Mecanim. At first I thought it was due to something I had inadvertently done, so I created an empty project and ran the crowd example.
    Now, given the included running animations it is not easy to spot - but swap it for some other motion or slow it down to 10% and it is very easy to see. I compared this to a stock Mecanim rig (even with foot placement scripts on it) and the floor/foot lock in that case is 100%.
    The animations also look solid in the animation preview view, but as soon as they are applied to a UMA character they slide a lot (perhaps 20-30% of the motion is lost).

    So, basically my question is: Does UMA do something that could introduce foot slide? I have not downloaded the DLLs yet but my hunch is that you do something in UMAData?

    Thanks in advance for any info! :)
     
  20. goat

    goat

    Joined:
    Aug 24, 2009
    Posts:
    5,182
    I think you need to uncheck 'Apply Root Motion' on the Animator component.
     
  21. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    No, without root motion applied the avatar will only run in place.
    It does move now, but slides compared to the animation preview and the same motion clip applied on another mecanim rig.
     
  22. juliobds

    juliobds

    Joined:
    Dec 27, 2011
    Posts:
    25
    My guess is that maybe the size of the legs isn't being calculated correctly and the animation speed might be a bit off? Either ways I don't think it's something very noticeable but it's definitely something to look out for.
     
  23. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Are you noticing this foot slide on avatars with neutral DNA values (0.5)? It might be the case the way mecanim itself calculate the movement speed based on body structure didn´t predicted extreme proportion changes as we can have. This is just speculation from my side, as the integration with mecanim avatar API was done by Joen with the help of mecanim team.
     
  24. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    How well would UMA work for a game where you can switch between first and third person cameras (like Syrim, for example). Can you disable the head and torso but still show the arms and legs along with their overlays and attachments, and still have everything animating correctly? Is there maybe a way to apply transformations when in first person mode to sort of clamp the limbs to different places on the camera/screen regardless of field of view even if it's not anatomically possible, as most FPS views do?
     
  25. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    You have full freedom to cut the body base mesh in as many pieces you need. In that case, would be possible to keep only arms and hand.
    The arm pose could be adjusted based on fps or third person view as well using mecanim.
     
  26. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    Hi!
    To be sure this was not related to something we had done, I created a new project and imported Uma from the store. I changed nothing and created a crowd. I slowed down the run animation to 0.1 to check, and it is very obvious then on all characters. Size was one of the first things I checked, and the effect seems to be the same regardless of avatar size.
    On normal speed you have to be very sharp eyed to spot it on the included demo animations (as they are run animations and mostly airborne), but it gets very obvious if you switch to walk motions.

    If this is a UMA issue, it has to be solved as it ruins use for anything but cartoony games. To be certain it is an issue I would be thankful if someone would care to reproduce the steps I described earlier. It is a very quick process and the problem should be visible immediately.
     
  27. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    I had this issue as well with non UMA stuff, like animals and so, i get no slide in the animation preview but i get slide when the animation is playing in the game/editor. So i think it might be a non UMA issue. But this could of course be another issue with same result, hard to tell.
     
  28. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    Yes, it is hard to tell - especially as I do not know where to look in the UMA project to see what they are doing with Mecanim. I have dug around a bit in the DLL source but not found anything I could point a finger at. It may very well be a Mecanim problem or just a combination of factors.

    Anyway, I have submitted a bug report for it (Case 588396) to hopefully get some eyes on it. It is really a deal breaker for us if we cannot fix the issue. The slide while walking is far too obvious. Again, not complaining since UMA is basically free, but we need to have a solution that looks good in action. There is no point in me spending time on predictive foot placement if the basic animation slides around. :)
     
  29. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    This issue was caused by a texture failing to import from the downloaded Asset Store package. Once I found the texture and refreshed it in the project the error disappeared. :)
     
  30. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    The slide problem may well be a collision issue with the stock UMA setup. Just a quick test of setting the rigidbody to kinematic removes the foot slide issue. I will keep you updated as I implement a force driven ground collision approach instead. It may well solve this.
     
  31. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Great =)
     
  32. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Makes sense. You might want testing UMA avatars with a physical material that has reduced Friction.

    Edit: After testing this out, I actually don´t recommend this for all situations. Even Angry bot using this technique, it´s not flexible and might provide unwanted behavior on physics simulation.
     
    Last edited: Jan 30, 2014
  33. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    The solution for us is to simulate leg strength via cheating. :) we use colliders for what they do well: collision. So a capsule collider for the upper body and probably a few for the limbs (not set yet, also will probably depend on the situations). The act of keeping the avatar upright is done by calculating a force based on ground distance and the desired distance. This allows much more flexibility when negotiating obstacles and has the bonus of allowing the root motion to freely dictate xz motion. :)
     
  34. novanox

    novanox

    Joined:
    Dec 17, 2013
    Posts:
    3
    Hi I'm currently using UMA in conjuction with UMAWizard for a game project I'm currently working on that with allow players to create their own avatars.

    I've managed to port the UMAWizard into a running web and binary windows build.

    I'm down to my last issue which when running the compiled versions, the textures for the overlays are not rendering or not being set for some reason.

    Now I double checked with the UMACrowd class and I'm adding the new over lays to my characters slots using

    EX: slots.AddOverlay(overlayLibrary.InstantiateOverlay("FemaleHead01", skinColor));

    the same way its done in UMACrowd

    The weird part is that the slots themselves are working and I'm able to add clothes, hair, the ears or nose, even a blocky set up of programmer art shoes I made for testing adding new content.

    In the overlay class I'm storing all the textures from each overlay in a list and displaying them as labels in a debug window. They show meaning that they properly compiled into the build.

    I'm still a noob to the system so I was wondering if you could point me in the right direction to getting these overlay textures to properly apply.
    $InoNoYuNoWork.jpg
     
    Last edited: Feb 1, 2014
  35. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362


    It´s hard to tell with no extra information, but I would recommend trying a different shader and also setting convertRenderTexture on UMAGenerator.
    Please let me know if those don´t work.
    Also, it´s a good idea to test if when you build the example scene UMA Crowd for web you get the same behavior.
    Cheers
     
  36. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    229
    Would UMA avatars be controllable using Playmaker? I mean doing incredibly basic things like make an activity cycle. Say one is an NPC walking along the street, but it stops and looks in a store window sometime, then continues on.
     
  37. Pecek

    Pecek

    Joined:
    May 27, 2013
    Posts:
    187
    I'm just wondering, if I would like to create let's say a weapon holster, how would that work with UMA? It's size have to be the same, no matter what.
     
  38. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Last time I checked making an integration with UMA was Playkmaker's trello to-do list.

    But you'll have to contact Playmaker for confirmation and details.
     
  39. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Interesting problem, we already discussed this in the beta. Of course you can model a mesh bone to the position and place the mesh on that GameObject. But that's kinda cumbersome.

    But if you want a way that doesn't involve coding and modelling, I'm considering making a separate component for placing mesh mount points on the character. I would allow multiple configurations including scaling along with the UMA character and non-scaling. Would you pay 10$ for a component allowing you to do just that?

    Cheers,
    Joen Joensen, UnLogick
     
  40. LaneFox

    LaneFox

    Joined:
    Jun 29, 2011
    Posts:
    7,384
    The work is handled by Jean on a vote priority basis, so if there is demand for UMA + PlayMaker then it needs to be voted up by the users in order to see the light of day else it will never be considered a priority as other tasks currently have more votes than it.

    https://trello.com/c/dWN4VczC/32-uma
     
  41. SoBiT

    SoBiT

    Joined:
    Dec 5, 2012
    Posts:
    44
    Hi

    I'd like to let my players create their own character. This is possible with UMA right? And as I saw, you get reciepes for the chars. Could I save this reciepes to a database, so the players can save their characters online?

    And is there a prefab for a character creation ingame? Or will I have to code this on my own? :)

    Thanks in advance!
     
  42. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there =) You might want to watch this one:


    You do need to create your own character creation.
     
  43. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there guys! I´m working on a High poly mesh for UMA avatars, it´s planned to work with all existing assets =) The original male is 6.6k, the high poly is 27k, especially designed for character creation window and cutscenes.
    Facial animation poses by Eli Curtz.
     
  44. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Almost done =) Testing extreme poses
     
  45. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    229
    Fair enough.

    One other question I have for you UMA guys is there a rig for just working on animations? Or will all those adjust extra bones not be a problem if we take the content pack rigs back back into unity?
     
  46. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there! UMA is fully integrated with Mecanim, you can animate any humanoid and retarget animations =) There´s no need to animate UMA rigs directly
     
  47. greggtwep16

    greggtwep16

    Joined:
    Aug 17, 2012
    Posts:
    1,546
    Fernando,

    Saw this response and thought I'd follow up with a question on my current understanding please correct me if I'm wrong. While, what you said above is true for "most" animations (body movements, fingers, basic face movements (ie. jaw, eye direction, etc.) this would not be true for more in depth facial animations with your additional bones (i.e visemes, eye blinking, etc). While in general these would not retarget anyways in mecanim my understanding is if you use the UMA rig to create the original animations they will "retarget"/"morph" (not sure what term you want to use here none are 100% accurate) accross to any other UMA character (obviously only UMA not any humanoid). These are outside the current scope of mecanim so if you want this "retargeting" to work you need to originally animate off the uma base rig but from then on they will "retarget" to any slider combination of UMA characters because the sliders only impact the adjust bones not the deform bones that you can animate against.

    In summary, while most animation can be done against anything and retarget to/from UMA via mecanim without issues, if you plan on using any facial animation beyond mecanim face (jaw, eyeglobe, neck, head) you will want to animate against an UMA rig for it to work across any slider variation.

    Certainly let me know if this is correct.
     
  48. Ya_hen

    Ya_hen

    Joined:
    Nov 25, 2013
    Posts:
    15
    Fernando, what files I need if I want to create my own race ( robots in example )?
     
  49. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    You´re right, if you´re looking to handle facial animation, it has to be done on UMA bones. As you said, it´s important to avoid animating on "adjust" bones, as those are dynamically changed based on the slider adjustment.
    Cheers =)
     
  50. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Can you hold a little longer? I plan creating an extra race and recording the process, to exemplify. =)