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. davidosullivan

    davidosullivan

    Joined:
    Jun 9, 2015
    Posts:
    387
    So.... Whats the exciting stuff you have to tell us?
     
    Deleted User and hopeful like this.
  2. Crazy-Minnow-Studio

    Crazy-Minnow-Studio

    Joined:
    Mar 22, 2014
    Posts:
    1,382
    Hi David,

    SALSA will perform lipsync to any audio clip that's compatible with a Unity AudioSource, and you can swap pre-recorded dialogue audio at run-time using our simple API, or our Cinema Director or Playmaker add-on's if you prefer. SALSA does not provide any direct recording capabilities. We do provide a live microphone workflow, and it might be possible to record an audio stream from a microphone but this is untested and currently outside the scope of our microphone workflow.
     
  3. Firlefanz73

    Firlefanz73

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

    I still cannot find the neck and the head bone in the UMA. I Need this urgent to make my People and Monsters look at the camera or the Player or each other, right now it is a very static Feeling.

    Any idea?

    After generatling my UMA I try like this:

    Transform head = umaData.GetBoneGameObject("Head").transform;
    Transform neck = umaData.GetBoneGameObject("Neck").transform;

    In the GetBoneGameObject I get an exception, the sceleton is NULL.

    Any advice or idea please? Or some other way to get those? I want to use the to control the head rotation.

    Thanks a lot and have a nice sunday,

    Firlefanz
     
  4. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,625
    You might find this Secret Anorak tutorial video helpful. It talks about how to attach things to the UMA skeleton through code.
     
    Firlefanz73 likes this.
  5. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,300
    Thanks a lot :)
     
  6. Mad_Mark

    Mad_Mark

    Joined:
    Oct 30, 2014
    Posts:
    483
    Just installed UMA2, and although it looks amazing, and creates a crowd, what is up with the legs? Every single character created is tied up in some yoga pretzel pose. I raised the guy in the attached image up out of the ground to show what I mean. Now, I did nothing, just install, locate the scenes, and tried scene01, 02, and took this pic in scene05 because the other ones have gravity and the characters all fall to the ground. Onto their hips...
    Any idea what the issue might be?

    https://onedrive.live.com/redir?res...authkey=!AP-nWY1-gmXRynw&v=3&ithint=photo,JPG

    I can't believe this is FREE! Good on ya. Add me to the "buy you a beer" list.
    Mark
     
  7. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,625
    @Mad_Mark - I suspect you're going to have to give more info, like what Unity version you're using, if you're using it in an new project ... stuff like that.
     
  8. MathBlade

    MathBlade

    Joined:
    Aug 18, 2015
    Posts:
    13
    Newbie question here: For the life of me I cannot find the slot for MaleHair01 overlay in the code that comes with the package. The UMA works with custom hair styles (e.g. like the one from the Secret Anorak tutorials). Do I need to combine slots or something? The female version has the proper slots.

    Thanks!
     
  9. silentneedle

    silentneedle

    Joined:
    Mar 14, 2013
    Posts:
    280
    I'm very happy with UMA 2 at the moment. I have to say that I wasn't satisfied with UMA 1, but UMA 2 is really awesome and I'm probably going to use it in the next big project, the whole "framework" feels mature enough.

    Anyone knows if adding the UMA rig to a custom designed model is a difficult task for a professional rigger? Or is it like copy/paste the rig from the uma premades?
     
  10. Thorious

    Thorious

    Joined:
    Oct 24, 2015
    Posts:
    22
    I have been trying for a few days now to get UMA 2 to work with UNET. Is there an example I can learn from or where can I get some help with it? Has anyone got this to work? Just two components, UET, UMA 2. Thoughts?
     
  11. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,625
    I haven't tried this myself yet, but I suspect you'll need to give a little more information as to where you're getting stuck before anyone can help you.

    Conceptually, NPCs created with UMA would have their info stored inside the game you distribute. Custom PCs that your players make would need to have their recipes sent to each player before they can be displayed. You can send the recipe as a string.
     
  12. Thorious

    Thorious

    Joined:
    Oct 24, 2015
    Posts:
    22
    Agreed, the problem is getting the Network Animators to work, syncing what the player looks like is something I will tackle later. I am trying to get two UMA Players to run around first. I have posted this in the Multiplayer area as I feel it may be more suited their? However I did have to make some changes to the UMAGeneratorBase script as it did not test to see if their was an Animator on the object before it adds one. Using the Network Animator adds that.

    http://forum.unity3d.com/threads/tr...nt-seem-to-get-it-to-work-please-help.368944/
     
  13. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,625
    It sounds like whatever would work for any mecanim model would work for UMA. Is there some special problem that occurs when trying to use UMA?
     
  14. sooms

    sooms

    Joined:
    Oct 10, 2012
    Posts:
    29
    I've been using UMA 1 for my project for quite some time now but want to make the jump to UMA 2. I'm having trouble working out how I can pass all the prefab information I had on my prefabs onto the new system,

    For example I attached numerous empty game objects around my character as slots along with a script for attaching things to those slots (such as other game objects or particles), but with no prefab characters in UMA 2 I'm not too sure how to achieve that. Does anyone have any ideas on how I would achieve this?

    Thanks.
     
  15. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,625
    I'm not sure I understand all of what you need, but if you haven't viewed the Secret Anorak videos yet, there's at least one of them that might address some of your needs. Video #16 talks about attaching objects to characters. You might also want to look in the UMA2 folder called "AdditionalSlots," as that's where the capsule collider and other such things get added to the character.
     
  16. sooms

    sooms

    Joined:
    Oct 10, 2012
    Posts:
    29
    Yup that's exactly what I need - thanks.
     
  17. Thorious

    Thorious

    Joined:
    Oct 24, 2015
    Posts:
    22
    Would anyone know how to not render certain parts of the UMA skeleton?
     
  18. jayimagination

    jayimagination

    Joined:
    Dec 20, 2012
    Posts:
    88
    Ok I'm new to this system and just came across it. I was wondering if a question can be answered. I'm considering purchasing but need to know if this is right for my project or not.
    I have my own model(s) I'm wanting to use is this customizable where I can use my own models.
    Here is an example of what I wanting to do in this video.


    Starting at the 1:50 point

    Thanks
     
  19. DirtyHippy

    DirtyHippy

    Joined:
    Jul 17, 2012
    Posts:
    224
    First of all there is no purchasing as UMA is free, which is awesome.

    To implement this randomization in UMA it is fairly trivial. In addition to swapping out the clothing, you could also randomize the DNA within the constraints of the agent to add even more variation. However, this assumes you have some experience as a developer. UMA is powerful, but with that power comes some complexity which is likely over the head of most beginners beyond say, creating some prefabs and dropping them in a scene. The alternative would just be to create some pre-created prefabs with aesthetically pleasing clothing combinations and randomly picking from that pool. This solution somewhat misses the point of UMA, but at least it still buys the performance gains.

    In terms of integrating your own models, there is a pipeline for this, but I don't know anything about it from the art side (others on this thread have significantly more experience with it). From what I can tell, it is fairly complex, mostly because the documentation is sparse and there are some very specific guidelines you need to follow.
     
    Mikael-H and jayimagination like this.
  20. adamcolon

    adamcolon

    Joined:
    Jan 16, 2015
    Posts:
    7
    How do I retrieve the range min/max of a race element's dna range in the Race Library?

    I've scoured all the code and the sparse documentation, and I can't seem to figure it out.

    I have a slider UI element that adjusted the shape of each DNA element and I'm trying to set the min/max ranges of the slider.
     
  21. adamcolon

    adamcolon

    Joined:
    Jan 16, 2015
    Posts:
    7
    It can be done, but it's very labor intensive and there's an intense learning curve because the code doesn't have any reasonably clear documentation at any detailed level.

    There are high level summaries of what things can be done, and lots of tutorials, but nothing that gives detailed examples of how to use the functionality in the scripts in any detailed way... you gotta figure it all out through tutorials and trial&error.
     
  22. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,625
    I've not messed with this at all, but aren't the ranges hardcoded in the script? I think the current way of working with DNA is to make a new script for each new DNA.
     
  23. BlainetheMono

    BlainetheMono

    Joined:
    Mar 21, 2014
    Posts:
    13
    I'm trying to add some new slots but get the following message when dragging the mesh to the slot builder. I'm importing the pieces of a new race from a single FBX. The error only occurs when I drag the feet and the legs.


    NullReferenceException: Object reference not set to an instance of an object
    UMA.UMAMeshData.UpdateBones (UnityEngine.Transform rootBone, UnityEngine.Transform[] bones) (at Assets/Standard Assets/UMA/Core/Scripts/UMAMeshData.cs:369)
    UMA.UMAMeshData.RetrieveDataFromUnityMesh (UnityEngine.SkinnedMeshRenderer renderer) (at Assets/Standard Assets/UMA/Core/Scripts/UMAMeshData.cs:330)
    UMA.SlotDataAsset.UpdateMeshData (UnityEngine.SkinnedMeshRenderer meshRenderer) (at Assets/Standard Assets/UMA/Core/Scripts/SlotDataAsset.cs:132)
    UMAEditor.UMASlotProcessingUtil.CreateSlotData (System.String slotFolder, System.String assetFolder, System.String assetName, UnityEngine.SkinnedMeshRenderer mesh, UMA.UMAMaterial material, UnityEngine.SkinnedMeshRenderer prefabMesh) (at Assets/Standard Assets/Editor/UMA/Core/UMASlotProcessingUtil.cs:96)
    UMAEditor.UmaSlotBuilderWindow.CreateSlot_Internal () (at Assets/Standard Assets/Editor/UMA/Core/UmaSlotBuilderWindow.cs:124)
    UMAEditor.UmaSlotBuilderWindow.CreateSlot () (at Assets/Standard Assets/Editor/UMA/Core/UmaSlotBuilderWindow.cs:94)
    UMAEditor.UmaSlotBuilderWindow.DropAreaGUI (Rect dropArea) (at Assets/Standard Assets/Editor/UMA/Core/UmaSlotBuilderWindow.cs:156)
    UMAEditor.UmaSlotBuilderWindow.OnGUI () (at Assets/Standard Assets/Editor/UMA/Core/UmaSlotBuilderWindow.cs:84)
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

    Anyone else experience this and figure it out?
     
  24. treshold

    treshold

    Joined:
    Nov 9, 2013
    Posts:
    225
    I tried to look up on scripting reference but I couldn't find methods to get overlayname by slot or get slot name by slot id.
    Meaning like
    umaData.GetSlot(slot id) and it would return slotname as string
    umaData.GetOverlay(slot id) and it would return overlayname as string

    Problem is that in my project I have possibility to wear different equipment and if player character wears a helmet, hair would clip through, so I remove hair when player equips helmet. Now player unequips helmet and I need to put correct hair back to character.
    I was thinking of putting current hair slot name as temporary variable when player equips helmet and then retrieve it on unequip.

    I can store those strings on character creation scene and call them later but it would be useful to know how to perform this on the fly.
     
  25. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,171
    I'll upload my recipe system that lets you do just that, this weekend. However, if you want to do this yourself, the procedure is simple - rebuild your avatar, but do not add the slots that you do not want rendered.
     
    Last edited: Nov 23, 2015
    Thorious, hopeful and Teila like this.
  26. Thorious

    Thorious

    Joined:
    Oct 24, 2015
    Posts:
    22
    Awesome!, Thank you. Using UMA for FPS.
     
  27. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,625
    If you haven't gone through the Secret Anorak tutorial series yet, they'll give you tips on how to code for such things. One of the very first things covered in generating your UMA is how to make it slot by slot.
     
  28. SecretAnorak

    SecretAnorak

    Joined:
    Mar 19, 2014
    Posts:
    177
    Just to tease,...

    I'm about to start a new series on content creation using 3ds MAX. I've struggled with scaling problems, export settings, import settings, skin weighting, mesh clashing and lack of sleep so you guys don't have to. ;)

    One of the things I'm really keen on sharing, is a simple workflow for getting Mixamo Fuse clothes onto UMAs.

    Keep an eye out over the next couple of weeks
     
  29. Thorious

    Thorious

    Joined:
    Oct 24, 2015
    Posts:
    22
    I have indeed, and I go back to reference them. But just not adding the slot would not work for me at this time, that would leave the character everyone else sees headless. But as Jaimi pointed out, I can rebuild it. But only after I remove the head sots from the source I load the character from. Would like to rather after generation and only on the local client, not render what I do not want. But... there are a lot of ways of doing things in programming.
     
  30. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,625
    I'm not a 3ds MAX user (Blender, here), but it sounds like an interesting and useful set of topics. :)
     
  31. SecretAnorak

    SecretAnorak

    Joined:
    Mar 19, 2014
    Posts:
    177
    Yeah, I wish I knew Blender or even Maya LT as they are more Indie accessible. However, hopefully I can explain the steps I'm going through in enough detail that a Blender or Maya LT expert can pick the parallel tools.

    Besides you can get a free 30 day trial of MAX or a free 3 year licence if you are lucky enough to be a student or teacher like me. Have a look at your options, I'm sure you'll enjoy following along.
     
  32. BlainetheMono

    BlainetheMono

    Joined:
    Mar 21, 2014
    Posts:
    13

    I'm still hung up on this. I've gotten every part of a Race to work except for the feet and the legs. When I try to build those slots using the tool I get an error and it fails to create a slot.

    I've tried all the following:
    -Reimport the UMA rig into the Maya scene.
    -Export the geometry as OBJ and reimport back in.
    -Exporting the default UMA pieces and run the build slot tool on that.
    -Only exporting out the parts and using build slot on that.
    -Changing the rig type.
    -Changing the Avatar Definition.

    When I run it without the legs I get this error:

    AvatarBuilder 'MyUMA': Transform 'LeftLeg' for human bone 'LeftLowerLeg' not found
    UnityEngine.AvatarBuilder:BuildHumanAvatar(GameObject, HumanDescription)

    I'm assuming that is because I don't have the legs and feet slots added since the tool won't build them.

    Any thoughts? I've been really banging my head against the wall on this one.
     
  33. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there!
    Please check here: https://github.com/huika/UMA/issues/29
    and here in case you're using maya: http://uma.unity3d.com/wiki/index.php/Content_Creation_-_Maya
    Cheers
     
    BlainetheMono likes this.
  34. BlainetheMono

    BlainetheMono

    Joined:
    Mar 21, 2014
    Posts:
    13
  35. DirtyHippy

    DirtyHippy

    Joined:
    Jul 17, 2012
    Posts:
    224
    hopeful likes this.
  36. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Argh! Sorry guys, I *might* start working for a big company again and I'm concerned this will delay what I've been planning for UMA, similar to the time I've been working for Oculus. That's why I've been holding those news for so long, as it might take a long time until I can start bringing some interesting stuff again but as I've been asked many times, here we go:

    - I've contacted Amplify Creations a couple months ago and we've been considering a way to integrate Amplify Textures 2 into UMA. This means we would be able to use Virtual Textures both for Overlay Libraries and directly as shared textures. This would provide a HUGE improvement on GPU memory usage and we would be able to have avatars with a impressive amount of texture detail. This integration would be optional (not sure if I would provide it for free) and people would still be able to use the standard solution.

    - Unity hair shader and skin shader from Unity Labs integrated into UMA. This one is not that big, and I mentioned it before, I just can't guarantee when it will be done, as it's not really a personal priority.

    - I've also been researching a way to improve skinning deformation on junctions areas. This video demonstrates Dual Quaternion Skinning as a way to handle the common problem we have on junction areas, but I've been testing a different approach that would provide better quality and performance.

    - edit: Oh, almost forgot I've also been playing with this amazing solution, and I have promising results with a Pixel art style UMA.

    That's it for now =)
     
    Last edited: Nov 24, 2015
    Mikael-H and silentneedle like this.
  37. silentneedle

    silentneedle

    Joined:
    Mar 14, 2013
    Posts:
    280
    Wow, Amplify Textures 2 with UMA would be awesome.
     
  38. BlainetheMono

    BlainetheMono

    Joined:
    Mar 21, 2014
    Posts:
    13
    Now that I've gotten all of the new Race slots to load correctly I'm seeing them become disconnected at the seams. I followed the steps from the Race tutorial and used the unified model as a seams mesh. I'm assuming that this may be a weighting/skinning issue that's causing them to separate?
     
  39. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    If the vertices on junction areas are being separated when the avatar is being animated, chances are that the weight values are not identical.
     
  40. adamcolon

    adamcolon

    Joined:
    Jan 16, 2015
    Posts:
    7
    Sounds like some great stuff in the pipeline.

    How about some clear and thoroughly detailed documentation on the current UMA functionality?

    Decent documentation would be the biggest boon to this project ever!
     
  41. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    This is UMA #1 problem, but sadly also the hardest one to solve. Being open source, UMA received more than 500 commits in those last two years but release notes, manual and my video tutorials are still the same from two years ago.
    So why shouldn't I keep updating them myself? Simply because I have not enough time to support this personally. With a lot of updates and changes, keeping all documentation updated requires a lot of time and focus, it's simply not viable for a single person to do this indeterminately and for free. For a couple months after UMA release I've usually spent more than 4 hours per day between recording videos and at UMA skype group helping developers, it was when I realized the massive amount of time I was focusing on this and that it couldn't work this way for much longer.
    UMA has became a Community driven project, it's not mine or Unity property, so it just looks like the community as a whole has not been prioritizing documentation in those last two years, what in fact resulted on UMA 2 having a HUGE amount of performance improvements and amazing new stuff as the facial animation solution. (@SecretAnorak is an exception, what he has been doing for the community with his amazing video tutorials is priceless).

    One solution I've been actually considering those last months was creating a layer above UMA that simplifies avatar creation/customization and define a set of standards that are common for RPG and MMO games (a drag and drop solution) and a bundle of helpers for content creation, this way I could have this as a paid asset that would make sense maintaining and documenting myself, but as I said, if I do start on this new work, I'll have little time and will need to focus on simple stuff.
     
    Firlefanz73 likes this.
  42. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    This is a great idea. I have invested a lot of my own money (on clothing assets) and our time figuring out UMA and would be happy to pay for a simpler solution as long as the clothing assets out there, yours and Will's especially, still work. I am just not impressed with what else is out there for characters.

    Regardless, thanks for the work you have done so far. I guess maybe the community needs to pick this up and run with it. I have often thought about writing some written docs for the wiki, but just when I think I understand UMA, it slips from my grasp....a new update usually. :)
     
    FernandoRibeiro likes this.
  43. SecretAnorak

    SecretAnorak

    Joined:
    Mar 19, 2014
    Posts:
    177
    Tease #2

    A sneak peek at the clothing you will learn to produce from scratch in the next series:

     
  44. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,300
    Great! Thanks SecretAnorak :)
     
  45. MathBlade

    MathBlade

    Joined:
    Aug 18, 2015
    Posts:
    13
    Bump :)

    Teaser picture looks exciting SecretAnorak :D I loved your tutorials for your first series :D
     
  46. SecretAnorak

    SecretAnorak

    Joined:
    Mar 19, 2014
    Posts:
    177
    Thanks for the support MathBlade, and to answer your question:

    There is no spoon,... I mean slot..!

    MaleHair01 is an overlay you can layer on to the head texture which looks like hair. It is however an imposter..!
     
    colateroso and FernandoRibeiro like this.
  47. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,929
    Ohhh, I have been waiting for those! :)

     
  48. BlainetheMono

    BlainetheMono

    Joined:
    Mar 21, 2014
    Posts:
    13
    Whew, if it's not one thing it is something new. I can't wait to have this pipeline figured out and locked in! I appreciate the help I'm getting here in this thread. Here is what I'm experiencing now...

    When I run my test scene, my new avatar loads but it looks like the material isn't recognizing the normal map or the spec/gloss map unless I expand the material in the inspector. Below you find the "Before" and "After".

    upload_2015-11-27_14-10-9.png upload_2015-11-27_14-11-6.png

    Also, if I have the normal map imported as a texture and then expand the material in the inspector, it causes the model normals to look all weird and reversed.
     
  49. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,171

    You're using the standard shader, I assume? If so, the issue is that the Standard Shader doesn't know that your material has those since they're assigned at run time. The fix is easy - just pre-assign some textures to those material slots in your template material.
     
    hopeful and BlainetheMono like this.
  50. BlainetheMono

    BlainetheMono

    Joined:
    Mar 21, 2014
    Posts:
    13

    Excellent! Thanks! I see that even fixed it for the head, despite it using a different textures but the same shader.

    I switched to the standard shader after hitting a wall with the Blacksmith shader. I may give that one another shot now. I appreciate the help!
     
    hopeful likes this.