Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. Hazor

    Hazor

    Joined:
    Feb 5, 2013
    Posts:
    25
    Thanks Fernando! I tried do this alone for two days, but i had lots of errors on console.

    Extra race with custom bone hierachy and custom mesh pls :)
     
  2. delirium

    delirium

    Joined:
    Jul 5, 2012
    Posts:
    5
    I did not find a solution for prefabs either, so I tried to write it myself
    Not sure it works right though
     

    Attached Files:

  3. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,684
    Excellent! I think this is needed.
     
  4. bpdis

    bpdis

    Joined:
    Feb 4, 2014
    Posts:
    1
    Hi, this is awesome stuff! Thanks for all your work.

    I'm just curious as to the process to create my own avatars—not based off the man or female included with UMA. I have a basic mesh, rigged and ready to go. I know I'm supposed to split this into separate pieces but that's as far as I can get from all the video tutorials—which are mostly about the code and what you can do with adding to the default male/female models. What do I need to do? (Or is there a tutorial that talks about this?)

    Thanks!
     
  5. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Same answer as above =D
     
  6. sangocreator

    sangocreator

    Joined:
    Oct 16, 2012
    Posts:
    9
    Hi Fernando,

    Just a dumb question from a newbie. Updated to Unity 4.3.4 and latest UMA but I get compiler errors:
    Assets/UMA/Editor/OverlayLibraryEditor.cs(184,42): error CS0117: `EventType' does not contain a definition for `DragUpdated'
    and
    Assets/UMA/Editor/OverlayLibraryEditor.cs(190,42): error CS0117: `EventType' does not contain a definition for `DragPerform'

    How can I get rid of this as it stops me going into play mode. Thanks.
     
  7. palaxe

    palaxe

    Joined:
    Dec 31, 2013
    Posts:
    22
    Hi I have a problem. Im using Atavism and they have Uma in it.
    The problem is when I log in editor or game I cannot see my character most of the time. I get this error.

    MissingReferenceException: The object of type 'SkinnedMeshRenderer' has been destroyed but you are still trying to access it.
    Your script should either check if it is null or you should not destroy the object.
    UMAGenerator.UpdateUMAMesh (Boolean updatedAtlas) (at Assets/UMA/UMA_Project/Scripts/UMAGenerator.cs:254)
    UMAGenerator.OnDirtyUpdate () (at Assets/UMA/UMA_Project/Scripts/UMAGenerator.cs:84)
    UMAGenerator.Update () (at Assets/UMA/UMA_Project/Scripts/UMAGenerator.cs:63)

    I was wondering if you know that the error is and how to fix it?
    Thanks :)
     
  8. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I have seen this call stack before, it happens if the UMACharacter is deleted while the UMAGenerator is trying to build it.

    Why Atavism decides to delete your character all the time I have no idea, but it sounds like a problem with their UMA integration.

    I would guess that the Atavism engine is not checking if a character is fully built before they delete it. This leads to the situation where the Generator suddenly attempts to access it even though it has been deleted.
     
  9. palaxe

    palaxe

    Joined:
    Dec 31, 2013
    Posts:
    22
    Thanks so much for the reply, I'll let Atavism know so they can fix it :)
     
  10. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there!
    I just updated to 4.3.4f1 and didn´t managed to get the same error message.
    Please force downloading UMA latest version at AssetSore.
     
  11. sangocreator

    sangocreator

    Joined:
    Oct 16, 2012
    Posts:
    9
    Only way I solved this was by importing UMA , Powertools and RecipeTools into a new project. So once I have created new costumes for my avatars I will await your code for turning my avatars into prefabs then import them into my main project :)
     
  12. palaxe

    palaxe

    Joined:
    Dec 31, 2013
    Posts:
    22
    Thanks I'm on 4.3.2. and Atavism is the one who installed UMA so it will work with there server. I'll pass along what you have said.
    Thanks you very much :)
     
  13. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    The code for converting them into Prefabs is provided by Joen´s PowerTools :)
     
  14. Silly_Rollo

    Silly_Rollo

    Joined:
    Dec 21, 2012
    Posts:
    501
    Does this work at all with cloth physics? Thinking like adding small details like ends of dresses, trench coats, etc. I could manually attach a gameobject to the appropriate place on the character but I was curious if there was a smart UMA-ish way to do it.
     
  15. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Sadly there´s no cloth physics, what will be possible on UMA next version is to add extra bones to cloth and use physics on those extra bones to fake dynamics.
     
  16. Hazor

    Hazor

    Joined:
    Feb 5, 2013
    Posts:
    25
    Any ETA on that tutorial ? Ready to waste another night trying to figure it myself :)
     
  17. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hey! Sorry, no ETA yet. I still need to finish female High poly before working on it.
    I usually just have a couple free hours at most of the week, so my progress depends on weekends.
     
  18. Leeyuda

    Leeyuda

    Joined:
    Jan 28, 2013
    Posts:
    4
    Hi, I was wondering if there is already documentation on how we can code our own sliders? If not, helpful pointers to which scripts I should be looking at and how I should adjust it would be greatly appreciated.

    I would love to be able to make tweaks to a lot of the sliders, such as upper/lower muscle, that are affecting too many body parts at the same time.

    Thank you!
     
  19. JMab

    JMab

    Joined:
    Nov 29, 2013
    Posts:
    24
    I can tell you how I did it, it may help. I have a CharacterGenerator class, that was originally based off code in UMACrowd.cs. I use it for generating all characters in my game, however I take advantage of the fact that I'm only ever dealing with 1 character within my character customization screen by keeping a copy of the last UMADnaHumanoid I instantiated - the one created when I started the current character customization process.

    By keeping a copy of that, I can make calls like this when my sliders change:

    Code (csharp):
    1.  
    2. public class CharacterGenerator : MonoBehavior
    3. {
    4.     private UMADnaHumanoid umaDna;
    5.  
    6.     // Sets the character's muscle ratio (50% = average muscle).
    7.     public void SetMuscleRatio(Character character)
    8.     {
    9.         // Set the muscle ratio.
    10.         umaDna.upperMuscle = character.MuscleRatio;
    11.         umaDna.lowerMuscle = character.MuscleRatio;
    12.        
    13.         // Set the arm and forearm width.
    14.         umaDna.armWidth = umaDna.forearmWidth = Mathf.Max(character.WeightRatio, character.MuscleRatio);
    15.  
    16.         // Make the DNA dirty.
    17.         umaData.Dirty(true, false, false);
    18.     }
    19. }
    20.  
     
  20. Leeyuda

    Leeyuda

    Joined:
    Jan 28, 2013
    Posts:
    4
    Hi JMab Fernando,

    Thanks for the response, but I'm not sure this is the answer to the question I'm looking for. Am I correct in assuming that the code you pasted allows me to set several different values based on one slider? I'm trying to create custom sliders for a specific body part. For example if I wanted to add a tail to the model, how would I hook up a slider to the bone of the tail? What classes are relevant for this information and how do I set up the new bone in the rig?

    If that's too difficult to explain, how can I change the value on a bone that's already in the rig but isn't referenced by an existing slider? For example, if I want to adjust the neck length how do I make a slider that references the length of the neck bone?
     
  21. SkaiCloud

    SkaiCloud

    Joined:
    Aug 10, 2011
    Posts:
    53
    Hi Fernando,

    First I want to tell you I love the UMA. Second I want to tell you that UMA Texture breaks when switching to full screen mode :) I have no idea how to fix this. I deploy my game on facebook canvas with a 760x640 resolution. I switch to full screen mode and the uma texture craps out.

    Would it be possible to unlock the full uma codes instead of hiding it in the DLL? I want to make custom changes to my colliders, locomotion etc. Currently I'm building my avatar once fully build I attach a script to it to remove components I don't use.
     
  22. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    Hey Fernando, I'd like to know your thoughts as far as if we could have some different texture baking options, to help people who use prefabs or just people interested in how the texture space gets used.

    My problem should be explanatory from this prefab:

    $prefabtexturespaceissue.jpg
    edit: I don't see attached image so if it doesn't show check here http://imgur.com/o9o0Xqi


    Yep, it's really missing opportunity to use the space well. :confused:

    Some options could help it maybe? Even just having a flag for body parts to tell them to use a separate texture would be great. Let me know what you think when you have some free time.
     
    Last edited: Feb 9, 2014
  23. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Well the best way to invent a new slider is to create a new DNA type and a new DNAConverter. The DNAConverters are responsible for translating DNA values into bone transforms.

    So you could make a custom dna type:
    Code (csharp):
    1.  
    2. public partial class MyCustomDNA : UMADna
    3. {
    4.     public float neckLength = 0.5f;
    5. }
    6.  
    Then you should create a SlotData that had this DNAConverter assigned to it so that the UMA system knows what to do with this extra dna value. I'm afraid there is no tutorial on any of this stuff. So I recommend joining the skype group chat and ask the questions as they arise.
     
  24. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there!
    Full source code is available here: https://github.com/huika/UMA
    I recommend you set "ConvertRenderTextures" and UMAGenerator, see if that solves your problem.
    Cheers :)
     
  25. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Can you confirm the head texture is duplicated like that? If that´s the case, you probably didn´t shared the same headOverlay as we do on the Example Crowd script. I can slightly see the legs, eyes and mouth textures behing this second head texture too... Not sure how you set this, but it´s not correct.
     
  26. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,108
    Fantastic! Exactly what I was looking for! Consider it sold. :)
    (Have not kept up with the thread, busy implementing our locomotion system)
     
  27. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    You misunderstand what I was showing. I placed the large (actual size) texture on top of the UMA texture in photoshop just to give an example. The small texture result of the face is too small if you want the camera to go in close to a character.

    I have found that using an atlas of 4096 is somewhat better, but I'm going to have to make very tiny shoe textures and such to get away with it. It can be managed I guess but I prefer control over these things.

    So what I was asking is could we get an option to separate a texture (like face) we want to have detail to always remain high on.
     
  28. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Ohh got it!
    Slots have an OverlayScale value. Try changing it to 2 on both Male and Female head slots to double the resolution of those specifically ;)
     
  29. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    Greeeeat I'll try that! Thanks so much.

    update: yeah that works good :)
     
    Last edited: Feb 10, 2014
  30. Mikie

    Mikie

    Joined:
    Dec 27, 2011
    Posts:
    367
    Fernando,
    Do you do any coordination with the following products and UMA - 1. UMA helper pack(v2.2a, 2. Power Tools - v1.0.4.0, 3. UMA recipe - v1.0.0.0, 4. UMA wizard - v1.1.0 ?
    I am having a problem with the Wizard now.
     
  31. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    Hi there all,
    I'm an experienced 3d artist/generalist with a little bit of coding knowledge. I've been converting some of my character sculpts and textures into UMA for the last couple days. I've got to the point where I'm trying to get them onto the UMA models in unity. The issue I am having is with the normal maps, when I use the texture converter to make the UMA "Green" Normal map then apply it to a UMA model it doesn't look correct. Like the normals have lost one direction of information.
    Should the model look the same with both types of normal map or is UMA loosing data to save space? from what I understand of full rgb tangent normal maps they need all three colours to work correctly how is UMA keeping the info?

    $UMA_normals.jpg

    Thanks for the hard work on UMA!
     
  32. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there, please write on it´s forum thread: http://forum.unity3d.com/threads/222063-UMA-Wizard
    All those tools are being developed by other people, but I do have contact with them on UMA skype group.
     
  33. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there Darren,
    Are you testing "UMA Converted Normal" with UMA shaders, or standard Unity shaders?
    We Pack / Unpack normals to guarantee information from the 3 channels.

    fixed3 myNormal;
    myNormal.xy = bump.wy * 2 - 1;
    myNormal.z = sqrt(1 - myNormal.x*myNormal.x - myNormal.y * myNormal.y);
    o.Normal = myNormal;
     
  34. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    Hi Fernando,
    That's some special magical formula you have there ;) I won't pretend to know what it means but thank you for the clarification. I think I got it working. I went back and changed the map I had loaded in from Normal to Texture and tried that in the material converter, it looks good.

    Thanks for the sanity check!
     
  35. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    And thanks for the feedbak =)
    Please feel free to write if you have any extra questions.
    If you´re creating extra overlays for UMA, let me know, I can help you out with some tips, so yours can be swaped with other body and head overlays.
    Great to see new content on the way!
     
  36. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Do you guys know if anyone is working on any clothes/armor for UMA yet? Part of the appeal was that there would be third parties making compatible assets, but so far all of the UMA's are still running around in their underpants. ;)
     
  37. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hehehe I agree with you =) If I were not working full time, I would be creating clothes like crazy for UMA.
    I´m aware of some artists working on content, but can´t guarantee when they plan to start selling it.
     
  38. treshold

    treshold

    Joined:
    Nov 9, 2013
    Posts:
    225
    Arteria3D is converting his OBM -stuff to UMA :) which is nice since there is lot of variety from sci-fi pants to medieval set :D
     
  39. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    I'll possibly release a modern clothes/hair/accessories bundle at some point. :D If you have interest in another setting like fantasy/sci-fi/military or whatever PM me and I could consider that as well.

    It's still early, and UMA and UMA tools are still getting updates on stuff, so I would not be releasing anything say this month... but in the future sure why not if I can steal time away from my own project.
     
  40. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    That would be cool. I own Ateria's medeival base set and was thinking about trying to convert some of them to UMA myself, but hopefully he will save me the trouble. :)


    I would guess that fantasy will be the most popular, since lots of people seem to want to use UMA as a character creator for RPG's.
     
  41. Antigono

    Antigono

    Joined:
    Oct 20, 2013
    Posts:
    63
    Are you referring to models of medieval style and sci-fi? My English is not very good and I do not know if I understood well. For now the conversion of OBM -> UMA costs about 35 dollars? this is correct?
    The models are those that can be seen in the page under the name Arteria3D OBM and OBF? There are more?

    I really look forward to the time when everyone can get clothes and additions to UMA.
     
  42. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    I've someone working with a trial version of Unity3D pro on my team. When he enables the Use Pro option on the UMAGenerator there is a splitsecond where the 2D texture image is displayed on the screen.

    Has anyone encountered this?

    $4XOT5mK.png

    Also the model's themselves look very wrinkly for him.
     
  43. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hey =)
    Please take a look at ~3:30, it will explain that
     
  44. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    Thank you very much! That was the issue.
     
  45. Glader

    Glader

    Joined:
    Aug 19, 2013
    Posts:
    456
    New question here.

    Any suggestions on changing models, such as the beard model, at runtime? Thus far the only way I've been able to do it is to modify the recipestring and that's not exactly a pretty situation if you'd want to be modifying a lot of different components of this model.

    Essentially I just replace a portion of the recipe string such as MaleBeard03 with the beard I want. This is very hard-codey, so I don't like it, and it doesn't seem like the right way to go about it.

    Any suggestions would be appreciated. I have UMAHelperTools and PowerTools if that helps. However, as far as I can tell HelperTools doesn't change the model at runtime.

    Edit: Came up with a solution. It required public exposing some members in UMAHelperTool's UMAModels. It allowed for changing the models at runtime with UMAHelperTools, color and beards and all that crap works. Who knows if it's the best way but it's A way.
     
    Last edited: Feb 12, 2014
  46. Darren-R

    Darren-R

    Joined:
    Feb 11, 2014
    Posts:
    66
    Thanks for sharing your solution Glader I will file that away for future reference.

    As most everyone doing UMA stuff I am working on character generation for an RPG type game. I've scripted a system in 3dsMax/PHP to do something very similar to UMA, but using thousands of pre-rendered characters so I could give the illusion of random characters in the world instead of real-time 3d. I'm just learning how to convert them now while learning Unity and UMA lol

    $Chars_Example.jpg

    No idea if this image will work but this is a small example of the pre-rendered character system I did for my project that I'm hoping to convert into UMA/Unity.

    Three things I have yet to see solutions in UMA for, is there anything in there that deals with these issues?

    1. Skin tones and hair colours.
    I found that when doing randomised characters different skin tones would look unnatural with specific colours of hair. So my database of character parts (slots I guess in UMA) had tags saying they could only be used with specific skin tones, giving me the ability to not have ginger afros ;) or restricting afros hair style to the African ethnic group. Maybe I could just make different UMA races for each ethnicity of human? (I think I just found my solution)

    2. "Long Boot - Short Boot"
    I notice that there is no mention of foot wear at all in UMA ;) While working with my characters I came up with the issue of having boots that were not compatible with leg wear because they where to long (same thing for gloves). I solved this by making a set height for all long boots then making "Long Boot" compatible versions of all my leg wear (its not ideal but works and is quite fast to do). So if a character changed into a pair of "Long Boots" the legs model would be automatically switched to a "Long Boot" version, with polys deleted and tucked into the top of the boots at a set height.
    I'm assuming this would be a custom script I'll be writing.

    3. Heal Height
    So far heal height on shoes hasn't been shown in any demo or video from what I can see. This is mainly an animation/rig thing more than modelling although it does have a direct impact on modelling of shoes. Without knowing much about UMA and Unity how easy is it to adjust the height of the heals on boots etc so feet still sit on the ground?
    I dealt with this in a very lazy way in my system. I just set a specific heal height for all shoes, female being somewhat higher than male shoes. This makes some of the shoes look a little odd but overall effect is better than everyone wearing flats.

    erm, I'll stop writing now as wall of text syndrome is taking effect.
     
  47. Ya_hen

    Ya_hen

    Joined:
    Nov 25, 2013
    Posts:
    15
    Hello, Fernando)
    I have a little question: I have 2 scenes ( 1 with avatars creation, 2 - game ). I want create avatar and load it to my game, I try to save my new created avatar into prefab and then instantiate it in game, but I have something like that $Untitled.png ... How can I play game with my new avatar?
     
  48. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there!
    Yoiu said you´re saving the avatar as a prefab? Are you using power tools?
    Here´s my video talking about saving/loading avatars:
     
  49. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Ok, but if you´re not using any extra tool, you can also directly change UMARecipe at UMAData and force an Dirty() on UMAData for updating avatar.
     
  50. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Here we go =)

    1 - Yep, it´s possible to setup the color combination the way you prefer, UMA is very flexible and can handle that very well.
    2 - Cloth adapts to body volume, so that would not be a problem.
    3 - Don´t have a standard solution for that yet.. It can be done in different ways, but I didn´t figured out what´s best.

    Darren, do you use skype? We have a open UMA skype group, as you´re working on content, it might be a good idea to join there.
    Cheers