Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. MrG

    MrG

    Joined:
    Oct 6, 2012
    Posts:
    368
    I think you left out design time creation and editing in edit mode, as opposed to runtime creation / editing in a scene in running mode.
     
  2. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    So i have different races and each have a male and a female character.
    Humans, Elves, Orks and such.

    The player can choose at the beginning wich race and gender he/she wants to play.
    Then he can customize the figure and later in the game the character should use different cloth, weapons and ...
    So like in many rpg´s.
    Then i want to use Uma also for the npc´s with the same races and gender to tell different stories on different places of the map.
     
  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    All doable. You may be able to simply modify the textures/colors and DNA to make these (and use the included elf ears, etc. If that is the case, then getting Fernando's High-Poly slots would work great. this is the easiest option.

    If you're modifying the base meshes in blender, then getting the high poly slots will work also, but you'll need to do both if you want two different LOD's.

    If you're building your own body/head meshes, then no need to use the high poly slots -- they're just the base meshes cut up.
     
    RandAlThor likes this.
  4. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    @Jaimi
    Thank you, now i understand.
     
  5. silentneedle

    silentneedle

    Joined:
    Mar 14, 2013
    Posts:
    280
    I haven't tried the new version yet, but are those high/low poly slots are used for switching between cutscenes and gameplay or are they used as LOD system?
     
  6. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You can do both. For the mesh-based LOD, you would need to code the switch yourself, or just use the Power Tools (which also have the advantage of speeding everything up by optimizing the bones).
     
    TeagansDad and silentneedle like this.
  7. John-Silver-Long

    John-Silver-Long

    Joined:
    Feb 14, 2013
    Posts:
    11
    Thx for your reply i think ill stay using my custom bounds system to discard the triangles, at the moment it does what i need and is quite easy to setup.
     
  8. ChristmasEve

    ChristmasEve

    Joined:
    Apr 21, 2015
    Posts:
    45
    Hey guys! I have a question about a problem that I can't seem to get past. Will B told me to try these forums since he's mainly an artist. I downloaded the Body Retexture Vol 1 pack and opened the sample scene. I paused it, selected the generated avatar and pressed UMA > Load Selected Avatar Assets. Then I tried one of the 2 generated female .asset files from Body Retexture and I got an object reference not set to an instance of an object error. Then I tried the other generated .asset and it did the same thing.
    It happens on line 57 of OverlayData.cs: (in bold below)
    public OverlayData(OverlayDataAssetasset)
    {
    this.asset=asset;
    this.colorData=newOverlayColorData(asset.material.channels.Length);
    this.rect=asset.rect;
    }

    NOTE: Something seems off because the camera won't even face the avatar either. It faces his/her back and then if you try to view their face, it faces a completely different direction. And this is right out of the box... Unity 5.4.2f1 / UMA 2 / PBR / Body Retexture pack - all just downloaded, imported and unmodified in any way into a new project.
    EDIT - oops I did have to make one modification. It crashed right out of the box because the Uma Crowd size was set to 0 x 0 and I made it 1 x 1 to get past that. Was that the right thing to do ?

    Any ideas? Thank you in advance :)
     
    Last edited: Dec 21, 2016
  9. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    For the error: The material is missing on the overlay. Sometimes Unity does this. You should look at each overlay and slot, and make sure the UMAmaterials are assigned.

    Not sure what happened with your UMA, might try getting the latest version from Github, here:

    https://github.com/huika/UMA/tree/unity53

     
  10. xardasgothic

    xardasgothic

    Joined:
    Sep 30, 2016
    Posts:
    2

    Any chance for some help ? :)
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I don't really have any help - I do this a different way. I just make the bow a child of the hand, and not have it be part of the UMA at all.
     
  12. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    This sounds interesting, do you have any more information on this?
     
  13. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    It's as simple as you making a black and white texture that matches the overlay texture in size, and set this up as an "mask overlay" which is a new option on the overlay asset. UMA will then use this black and white mask to make the atlas transparent in the right spots, combine this with an alpha cut out shader and no more poke through.
     
    TeagansDad likes this.
  14. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    343
    Hey guys, question for you.
    I have been trying to figure out how to create a PBR overlay.
    I can only find a way to create legacy overlays.
    Any help would be great.
     
  15. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Right click on your project, choose "UMA/UMA Overlay Asset".

    Select the Overlay asset, rename it to what you need. Then in the inspector. Set "overlay name" = to the same name (this can be different, but for now, it's best to leave it the same).
    Set Overlay Type to "Normal".
    Leave the RECT as is (0,0,0,0) - this is for if you want to override it's position.
    Leave Alpha Mask blank.
    Set Texture List size to "3".
    The first texture should be the diffuse image.
    The second texture should be the normal map. (Make sure it's type "normal" when imported).
    The third is the metallic map.

    Set Material to "UMA_Diffuse_Normal_Metallic".
    Leave tags & occlusion entry alone.

    The textures don't need to be built, or modified in any way. They're the same textures you would use if you were using the standard shader.
     
  16. Firlefanz73

    Firlefanz73

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

    in my Charakter Editor the Player uma changes it's size when I Change mesh stuff (like face Slot, hair Slot etc) later.

    After searching a lot I found out in the uma hierarchy it is under the uma, then / Root / Global / Position.Scale.

    When I create a new uma, it is < 1 like 0.8f, when I Change face or hair later and do a umaData.Dirty(false,true,true); after that the value is alway exactly 1.

    I tried to set umaData.Dirty(true,true,true); directly after creating the uma, but that does not seem to help.

    Any idea why the Position.scale is initialy below 1, how do I get this value to always be 1?

    Thanks a lot and happy x-mas and a nice winter Holiday :)
     
  17. yepfuk

    yepfuk

    Joined:
    Sep 23, 2015
    Posts:
    67
    I can't use the animation events with my UMA Character. For example I want to add an animation event to my Attack animation, but this event trigger only triggers functions that in the UMADynamicAvatar. How can I solve this issue?
     
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If I understand correctly, to do this you would need to create a script, put it on your avatar, and have it add the event at runtime:

    https://docs.unity3d.com/ScriptReference/AnimationClip.AddEvent.html
    https://forum.unity3d.com/threads/how-to-add-animation-events-at-runtime.292549/
     
    hopeful likes this.
  19. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
  20. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    If I use umaData.Dirty(true,true,true); now every time it works. :)
     
    hopeful likes this.
  21. Quaker_SDR

    Quaker_SDR

    Joined:
    Jun 21, 2013
    Posts:
    39
    Anyone tried uma with UMP/Windows metro app?
    I got so many errors with that.
     
  22. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    Hello, it is me again :)

    Sorry, I did not try UMP/Windows yet. I only used Windows x86_64 so far and if it really works like I hope I will try PS4 next year...

    I have no combined my existing uma(being) prefab with the addon "salsa with random eyes".

    I had it already working with premade-gameobjects, now I Need it in my prefab for random uma beings.

    It did not work first and I got a double uma with a lot of Errors, because the salsa scripts also add some uma stuff.

    So I did some changes in my uma creation method:
    Code (CSharp):
    1. voidGenerateUMA()
    2. {
    3. try{
    4. //Createnewgameobjectandadd uma
    5. if(generator==null){
    6. GameObjectgU=GameObject.Find("UMA");
    7. if(gU==null){
    8. gU=GameObject.Find("UMA_Config");
    9. }
    10. generator=gU.GetComponentInChildren<UMAGenerator>();
    11. slotLibrary=gU.GetComponentInChildren<SlotLibrary>();
    12. raceLibrary=gU.GetComponentInChildren<RaceLibrary>();
    13. overlayLibrary=gU.GetComponentInChildren<OverlayLibrary>();
    14. }
    15.  
    16. umaDynamicAvatar=gameObject.GetComponent<UMADynamicAvatar>();
    17. if(umaDynamicAvatar==null)
    18. umaDynamicAvatar=gameObject.GetComponentInChildren<UMADynamicAvatar>();
    19. if(umaDynamicAvatar==null){
    20. umaDynamicAvatar=gameObject.AddComponent<UMADynamicAvatar>();
    21.  
    22. //Initialiseavatarand reference
    23. umaDynamicAvatar.Initialize();
    24. umaData=umaDynamicAvatar.umaData;
    25.  
    26. //Attachour generator
    27. umaDynamicAvatar.umaGenerator=generator;
    28. umaData.umaGenerator=generator;
    29.  
    30. //Setupslot array
    31. umaData.umaRecipe.slotDataList=newSlotData[numberOfSlots];
    32.  
    33. //Setupmorph references
    34. umaDna=newUMADnaHumanoid();
    35. umaData.umaRecipe.AddDna(umaDna);
    36. }
    37. else{ //here for salsa stuff which already contains umaData
    38. umaData=umaDynamicAvatar.umaData;
    39. umaDynamicAvatar.umaGenerator=generator;
    40. umaData.umaGenerator=generator;
    41. //Setupslot array
    42. ///??
    43. umaData.umaRecipe.slotDataList=newSlotData[numberOfSlots];
    44. //Setupmorph references
    45. //umaDna=newUMADnaHumanoid();
    46. umaDna=(UMADnaHumanoid)umaData.umaRecipe.GetDna<UMADnaHumanoid>();
    47.  
    48. }
    this block is new:
    //here for salsa stuff which already contains umaData

    Now my uma from the prefab Looks perfect, it has Animation, Slots, overlays, clothes and the talking animations and eyes movement etc.

    Only one Problem remains:

    I have created my own HandBehaviour script where I add weapons, Tools and shields to the Hands of the uma.

    This does not work anymore, because

    umaData.Skeleton

    is always null! What could have gone wrong? It is animating and seems to work perfect in any way.
    How do I set / attach / add the Skeleton or just set the variable?

    Any idea?

    Thanks a lot!
     
  23. alaknas

    alaknas

    Joined:
    Feb 9, 2014
    Posts:
    7
    I'm encountering a problem with UMA 2, it seems that the UMA SlotGenerator does not work properly for me and my model i'm trying to use, I'm using latest Unity 5.5 with latest UMA (with fixes from repo patch for Unity 5.5) on OSX Sierra, When i try to drag a model into the SlotGenerator nothing happens, if i insistantly keep doing it Unity crashes once i close the SlotGenerator out of frustration.
     
  24. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I just did this with the latest code, and didn't see any problem. I wonder if there is something about your model? Just to be clear, you expanded the FBX, and used the model with the skinnedmeshrender, correct?
     
  25. Bigg_P

    Bigg_P

    Joined:
    Jul 16, 2014
    Posts:
    10
    Is possible to create separate material for all the slots in the head and slots in a body?In my project, I need to adjust the offset and tiling of the face texture. Is it possible?
     
  26. alaknas

    alaknas

    Joined:
    Feb 9, 2014
    Posts:
    7
    Yeah thats how im trying it, doesnt matter if i expand the imported FBX or not, still nothing happens for me, i can place the mesh on the scene no problem, but not use it in the SlotGenerator.

    Can it be that theres some changes in the UMA 2 you are using vs mine? All i have are the changes i found in some diff file linked to remove the errors of Unity 5.5, not the whole git
     
  27. alaknas

    alaknas

    Joined:
    Feb 9, 2014
    Posts:
    7
    Realized how ultimately silly my last question sounded, so i'm downloading the whole GIT repo atm to try it that way..
     
    hopeful likes this.
  28. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    Best to use the whole GIT, especially with so many fixes in it now.
     
  29. alaknas

    alaknas

    Joined:
    Feb 9, 2014
    Posts:
    7
    Something is amiss, a moment ago i successfully imported my FBX (after re-exporting several times) however it was a fluke mistake that made it work as it had grabbed an extra layer from the .blender project which shouldnt have been there (basically a test i did earlier to make jumpsuites, so everything of the male body except hands, feet and head), but once i re-exported without that part only rig + the mesh i want, it doesnt import into slotgenerator anymore.

    What could be the issue?
     

    Attached Files:

  30. alaknas

    alaknas

    Joined:
    Feb 9, 2014
    Posts:
    7
    As a further comment ive tried importing it with both Unity 5.4 and Unity 5.5 with no avail, now even tried exporting the "jumpsuite" layer into an own FBX and use that in the SlotGenerator, that fails aswell, same layout of FBX as the one i uploaded to my previous comment.
     
  31. alaknas

    alaknas

    Joined:
    Feb 9, 2014
    Posts:
    7
    I guess it solved itself, i re-did everything from scratch and now for whatever reason with fresh installs + fresh new FBX it all works as it should, guess the FBX and/or .blender file perhaps became damaged at some point.. no clue as to what happent really except that it now magically works
     
    hopeful likes this.
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yes, just assign the slots and overlays to a new UMAMaterial that you create.
     
  33. alaknas

    alaknas

    Joined:
    Feb 9, 2014
    Posts:
    7
    Is there an IRC-channel for UMA 2 somewhere?
     
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    We have a Slack community - PM me your email address, and I'll send an invite.
     
  35. nicklag87

    nicklag87

    Joined:
    Jun 4, 2016
    Posts:
    3
    I installed UMA 2 and now my project doesn't run...
    I keep getting "UMARecipeBase could not be found" and "UMAContext could not be found." I can't seem to find an import statement that would fix this. I also tried reinstalling Unity but that didn't fix the problem either.
     
  36. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Did you add the UMA prefab to your scene? You need to copy it from one of the example scenes.
     
  37. nicklag87

    nicklag87

    Joined:
    Jun 4, 2016
    Posts:
    3
    Not sure what you mean. I see a number of prefab UMA scenes but not sure what to do with them.

    Also, thank you for the very quick reply!

    **update**

    I think you mean the folder UMA in one of those example scenes. I copied and pasted it into my scene and no, that did not fix the errors.
     
    Last edited: Dec 29, 2016
  38. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    I mean that there is a GameObject in the example scenes that contains scripts like RaceLibrary, overlayLibrary and so on, that GO needs to be copied to your scene.
     
  39. nicklag87

    nicklag87

    Joined:
    Jun 4, 2016
    Posts:
    3
    It didn't fix it, thank you though.

    I just deleted all UMA files from the project and now things are working again. I'll just use something else.
     
    Last edited: Dec 29, 2016
  40. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If you're using Unity 5.5, you need the latest version on GIT.
     
  41. Deleted User

    Deleted User

    Guest

    When can we expect a full 2.1 or new UMA release final on Asset Store?
     
  42. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    Looking for a character to populate my video (no game, just video creation) especially interested into elegant prince and princess + some crowd, can someone explain the main advantage of UMA vs Daz3d.
    I did find really good looking and a variety of clothing for DAZ characters but I suppose they are not game ready, one the contrary UMA is born for realtime but I find a much more limited clothing choice.
     
  43. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    While there is some ready-made art for UMA, it's best to be prepared to make your own or to be able to adapt existing character art.

    For instance, in theory you could adapt DAZ art.
     
    davide445 likes this.
  44. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    Thanks. Currently I didn't have time and skills to create any clothing, but apart that there is any specific reason why UMA might be better in term of easiness.
     
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    DAZ art will be extremely hard to move over to real time - it's meant for pre-rendering. As evidenced by the trouble that they are having with Morph 3D (part of DAZ). If you want to go down that route, then I recommend looking into Morph3D itself. While Morph3D will be realtime, it isn't as performant as UMA, which is much more than a model set (it combines the models and builds atlases for you on the fly).

    Will B has some good "upper class" clothing that you can use - You can check out his site here: willbgameart.com

    Specifically:

    http://willbgameart.com/product/uma-fem-upperclass-pack/

    http://willbgameart.com/product/uma-shirt-pack/

    https://www.assetstore.unity3d.com/en/#!/content/42176


    Arteria has a few also:

    http://arteria3d.myshopify.com/collections/uma

    Example:

    http://arteria3d.myshopify.com/collections/uma/products/copy-of-medievalfemalecostume-for-uma2

    Note that all of these can be recolored, as that is a function of UMA.

    Hope this helps.
     
    davide445 likes this.
  46. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    My impression is that nearly all of the trouble MCS has is related to the blendshapes. It adds a ton of complexity. If you remove the blendshapes from their models when you weight them to the base UMA bodies, they should be more performant.

    If you are intending to work with mobile, DAZ / MCS art may be too heavy and you would likely need to be aggressive with LOD levels or decimate the slots. However, you can use that art on desktop, and if you need LOD, either use the MCS models (which have LOD) or create your own LOD on the fly with something like Simple LOD (which was written to work with UMA).
     
    Last edited: Jan 3, 2017
  47. davide445

    davide445

    Joined:
    Mar 25, 2015
    Posts:
    138
    As written I'm not so concerned about realtime performance since I'll produce videos using a sequencer such as SLATE.
    My concern it's more about available clothing (daz unbeatable) and trouble free and easy setup in Unity (uma and mcs can avoid all the daz to Unity conversion trouble).
     
  48. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,686
    If performance is completely not an issue, then it sounds like all you need is the art. So - assuming there are no import issues - go with DAZ. Your issues ought to be with dressing the models and figuring out what shaders you want to use. Maybe something like Mount Points would make it easier to dress them and prevent poke through. You can look at the free models from MCS to see what they are doing with shaders for skin and hair, etc. I think they use the skin and hair shaders from the Unity Blacksmith demo (free), and the Unity standard shader for clothing. You can probably also get along fine with using the free Unity cinematic stack of camera effects for depth of field, vignetting, tonemapping, bloom, and so on.

    As for the difference between UMA and DAZ ... DAZ is a big catalog of highly detailed character art that is mainly used for posing. UMA is a system to get character art performing for a game (where there might be 100 unique characters in a scene, players can customize their characters, you can send the recipes over the network in a multiplayer scenario, and so on).
     
  49. Deleted User

    Deleted User

    Guest

    A stable and ready-to-use version of "new UMA" with all the new features making it completely new
     
  50. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    We're working on it, still a few more scenes to convert to the new model/overlays, and a couple of issues reported that need researching.