Search Unity

  1. New Unity Live Help updates. Check them out here!

    Dismiss Notice

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. aerdev

    aerdev

    Joined:
    Nov 26, 2017
    Posts:
    8
    Hi! Here is my editor window.
    I'm new to this. I can't understand this tool. But it seems to me that uma is better than modeling each character in blender.
     

    Attached Files:

  2. krehzzzy

    krehzzzy

    Joined:
    Dec 31, 2015
    Posts:
    9
    I'm looking for someone to create MMA style clothes for UMA characters. Anyone know of anyone I can hire or have any suggestions on the best place to look for people?

    Thanks!
     
  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    It looks like your "UMAMaterials" need to be adjusted to use the new texture keywords. Search for the umamaterials in your project ("t:UMAMaterial" in the project search window), and then edit each one. In the texture channel section, find the texture keyword it's complaining about, and choose the new one from the drop down. Repeat this for each complaint, on each material, and you should be done in a few minutes.
     
    aerdev likes this.
  4. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    I can fit some existing ones if you have some non-UMA clothes that will work. If you're interested, IM me for my rates.
     
  5. aerdev

    aerdev

    Joined:
    Nov 26, 2017
    Posts:
    8
    I tried it. There are no errors, but there is Not Set pink texture. I changed "BumpMap" to "MainTex" as I did when using URP. What should I change "MetallicGlossMap" and "OcclusionMap" for?
     
  6. Creiz

    Creiz

    Joined:
    Jun 6, 2017
    Posts:
    56
    @aerdev you don't have to use all the options, you know? You just need to make sure the ones you're using are properly linked to the Shader Property.

    Unity_IeUvqKKC0F.png

    When you're done choosing the maps you want, make sure every slot of your UmaOverlay recipe is filled. You can use transparent textures to "mask" the ones you don't use for that particular recipe.

    Unity_kBDB3LB70T.png
     
    aerdev and kenamis like this.
  7. katasteel

    katasteel

    Joined:
    Nov 21, 2014
    Posts:
    197
    I know that I can update DNA after the character has been built at least once using this code.
    Code (CSharp):
    1.     void CharacterUpdated(UMAData data)
    2.     {
    3.         dna = avatar.GetDNA();
    4.  
    5.         heightSlider.value = dna[DNATYPE_HEIGHT].Get();
    6.         bellySlider.value = dna[DNATYPE_BELLY].Get();
    7.     }
    8.  
    9.     void HeightChanged(float value)
    10.     {
    11.         dna[DNATYPE_HEIGHT].Set(value);
    12.         avatar.BuildCharacter();
    13.     }
    But how can I set the DNA for the avatar to use BEFORE ever building it?

    Example:

    I want to generate random DNA values prior to displaying the character.
     
  8. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    MyDCA.predefinedDNA = new UMAPredefinedDNA();

    MYDCA.predefinedDNA.AddDNA("feetSize", 1.0f);
    MYDCA.predefinedDNA.AddDNA("armLength", 0.75f);

    Do this before building the character. Once the DNA is applied, the "predefinedDNA" is nulled out.

     
    hopeful likes this.
  9. katasteel

    katasteel

    Joined:
    Nov 21, 2014
    Posts:
    197

    Thanks for your reply but it does not seem to be working.

    Here is my new code:
    Code (CSharp):
    1.             avatar.predefinedDNA = new UMAPredefinedDNA();
    2.  
    3.             avatar.predefinedDNA.AddDNA("feetSize", 1);
    4.  
    5.             avatar.BuildCharacter();
    Then when I check the DNA in the scene view the feetSize is still "0.5019608"
     
  10. aerdev

    aerdev

    Joined:
    Nov 26, 2017
    Posts:
    8
    Thanks for the answer. I'm trying to combine UMA and HDRP. Unfortunately, this is difficult for me. I can't find menu items and materials like yours. Is there a link to the video or step-by-step instructions?
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    It's definitely working for me - The "feetSize" changed, and the feet changed in the view.

    What are you calling before this? Has the avatar ever been built? Or is it a prefab that has just been loaded?
     
  12. katasteel

    katasteel

    Joined:
    Nov 21, 2014
    Posts:
    197
    OK I created a new Unity project(I'm using 2018.4.15f1)
    I got the newest version on UMA 2 from the Unity Asset Store.
    I added the "UMA_DCS" prefab to the scene.
    I created a new GameObject in the scene and added the "DynamicCharacterAvatar" script to it.
    I set the race to HumanMaleDCS.

    I created a new script and added it to the object:
    Code (CSharp):
    1. using UMA;
    2. using UMA.CharacterSystem;
    3. using UnityEngine;
    4.  
    5. public class CharacterCreator : MonoBehaviour
    6. {
    7.     public DynamicCharacterAvatar avatar;
    8.  
    9.     public void ChangeFeet()
    10.     {
    11.         avatar.predefinedDNA = new UMAPredefinedDNA();
    12.  
    13.         avatar.predefinedDNA.AddDNA("feetSize", 1);
    14.  
    15.         avatar.BuildCharacter();
    16.     }
    17. }
    18.  
    Then I assigned the DynamicCharacterAvatar to the avatar variable in the inspector.
    I created a UI canvas and a button.
    I assigned the button to use the ChangeFeet method.

    If I run it and debug I can see that the code is being called.
    I look in the scene and the DNA for feet has not changed.

    What step am I doing wrong?
     
  13. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    13
    I love that I can customize UMA characters muscles and height at runtime... but I'm having a terrible time figuring out how to go about making customized animations for UMA characters. Since they are generated at runtime I can't import the models into UMotion. Trying to export UMA characters as an .FBX during runtime doesn't work properly. What are other people doing to make animations for their UMA characters? I could try making the animations with a different avatar but I don't think they would match up properly.
     
  14. umutozkan

    umutozkan

    Joined:
    Oct 30, 2015
    Posts:
    326
    You can use the UMA model's fbx file for that purpose. If I remember correctly they should be under race folder, like female/fbx.

    I guess blender files are also provided for UMA somewhere on the github too.
     
  15. JGameMaker92

    JGameMaker92

    Joined:
    Oct 15, 2014
    Posts:
    13
    Except it doesn't have any of the materials or the height adjustments I made to the character during runtime.. it would be helpful if I was making the animations with the actual UMA model I'm working with
     
    Last edited: Jan 18, 2020
  16. katasteel

    katasteel

    Joined:
    Nov 21, 2014
    Posts:
    197
    I am using the UMA 2 version on the asset store.
    Is there a newer version that may fix the problem with the predefinedDNA(See last post)?
     
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    Pass false to BuildCharacter and tell it not to restore the DNA.
     
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    The only way I know is to save the file using the Power Tools or the FBX exporter from Unlogick. It may be that a different exporter might work, but I have not tried those.
     
  19. Creiz

    Creiz

    Joined:
    Jun 6, 2017
    Posts:
    56
    Have you created both a standard material AND an UMA Material?
     
  20. aerdev

    aerdev

    Joined:
    Nov 26, 2017
    Posts:
    8
    Here are my steps. This works for URP and it seemed to me that in HDRP it should be similar. But I lack an understanding of how this technology works.
    I am creating a new HDRP project in version 2019.3.0f5.
    I download UMA from github and import only the "Assets\UMA" directory into my project.
    In the "Edit-Render Pipeline" menu, I update materials to High Definition Materials.
    Adding UMA_DCS and New Dinamic Character Avatar to the hierarchy.
    Before starting game mode, I change _BumpMap to _MainTex in all umamaterial (this works on URP). I suspect that this step is where I make a mistake, but I don't know what it is. I used to think that the case in _MetallicGlossMap, _SpecGlossMap and _OcclusionMap where there is a yellow sign [!] in the inspector.
    I'm doing something very wrong.
     
  21. katasteel

    katasteel

    Joined:
    Nov 21, 2014
    Posts:
    197

    Ok I changed my code like this
    Code (CSharp):
    1. using UMA;
    2. using UMA.CharacterSystem;
    3. using UnityEngine;
    4.  
    5. public class CharacterCreator : MonoBehaviour
    6. {
    7.     public DynamicCharacterAvatar avatar;
    8.  
    9.     public void ChangeFeet()
    10.     {
    11.         avatar.predefinedDNA = new UMAPredefinedDNA();
    12.  
    13.         avatar.predefinedDNA.AddDNA("feetSize", 1);
    14.  
    15.         avatar.BuildCharacter(false);
    16.     }
    17. }
    18.  
    But it is still not working.
    I debugged the code and I found out that the problem appears to be in the ApplyPredefinedDNA method.
    When it calls this line "var dna = GetDNA();" has no DNA.
    upload_2020-1-19_7-35-44.png

    How should I fix that?

    Edit
    -------
    Other things to mention are that the DNA is there I can change the values in the inspector.

    Also I added this method(called with another UI button) and it shows that there is really DNA(count returned 1).
    I'm not sure why the avatar's UMAData shows no DNA.
    Code (CSharp):
    1.     public void CheckDNA()
    2.     {
    3.         if (data == null && avatar != null)
    4.             data = avatar.gameObject.GetComponent<UMAData>();
    5.  
    6.         if (data != null)
    7.         {
    8.             Debug.Log(data.umaRecipe.dnaValues.Count);
    9.         }
    10.     }
     
    Last edited: Jan 19, 2020
  22. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    I'll try to research this further, but it will take a little time.
    But, If you are using this to generate a Random UMA, have you looked at UMARandomAvatar?

     
  23. katasteel

    katasteel

    Joined:
    Nov 21, 2014
    Posts:
    197
    I figured it out!.

    For some strange reason the "HumanMaleDCS" did not have DNA in the base recipe.
     
    Last edited: Jan 19, 2020
    Jaimi likes this.
  24. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    We should probably delete those races - the default "HumanMale" and "HumanFemale" have all been upgraded to the new DynamicDNA.
     
  25. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    80
    I also use my fbx to edit animations with uMotion in edit mode, but were you also aware uMotion can edit animations in runtime too? I haven't personally tried, but it is an advertised feature present in one of the video adverts.
     
  26. Chandlerya

    Chandlerya

    Joined:
    Sep 4, 2018
    Posts:
    9
    Having an issue using the LWRP and DCS, created new UMA materials and updated the race recipies and worked through all of those various issues, but it still doesn't render properly...If I apply the same materials to one of the non dynamic characters they render properly. Here is a screenshot:
    upload_2020-1-21_21-5-52.png
     
  27. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    Did you setup the UMAMaterials?

    This works for me:
    Material:
    lwrp1.png
    UMAMaterial:
    lwrp2.png
     
    hopeful likes this.
  28. Chandlerya

    Chandlerya

    Joined:
    Sep 4, 2018
    Posts:
    9
    hopeful and Jaimi like this.
  29. jKessinger

    jKessinger

    Joined:
    Jan 21, 2016
    Posts:
    4
    Hi, I just started messing around with UMA and I'm trying out the mesh hider asset but the lighting in the editor is making it impossible to select faces on the back of the mesh. If I try to select the light in the scene to move it the scene closes. The wireframe is also not showing up for some reason.

    meshHiderLightingProblem.jpg
     
  30. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    Click the lightbulb on the toolbar to switch to internal lighting. The wireframe is now a gizmo you can enable/disable - go into the gizmos dropdown on the toolbar, and turn on "selection wire"
     
  31. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    @Jaimi Will there ever be the ability to morph ears to make elf ears within the base UMA models? It's fine to have custom races, which are already available, but then we lose the ability to clothe them with all the outfits we own. Unless I'm missing something.
     
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    racecompat.png
    If you use the included models for elfs, and make a new race, you can mark that race as compatible with the human version. Then, all the human recipes will show up available for it.
     
  33. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    I'm not sure I understand. There are included elf models? Or do you mean if I take the human models and make an elf version from them? If so, I have no idea how to do that.
     
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    There are included elf ears for models that use the "separated head". To make a new elf female race would mean:

    1. Duplicate the human female race, and rename it to elf female.
    2. Change the "Race Name" in the inspector to "Elf Female"
    3. In the cross compatibility settings, add the "Human Female" race.
    4. Find the Human Female base race recipe, and duplicate it. rename it to Elf Female base race recipe.
    5. Edit the Elf Female base race recipe.
    6. Add the separated head pieces from the parts below (see pic). Add them to the existing head slot (so they all share the same overlays). Choose the ears you want (don't add all of them)
    7. Remove the old head.
    8. Set the new Elf Female base race recipe on your new elf female race.
    9. Add your new race to the global library.
     

    Attached Files:

    TeagansDad likes this.
  35. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    Fantastic. I will try this. Sounds like a winner. Thanks for the quick response.
     
  36. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    Have fun!
     
  37. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    Just for clarity, what exactly should I duplicate? Looking for Human Female I see all of the following:

    BasicHumanFemaleRecipeLOD (from Power Tools)
    HumanFemale Base Recipe
    HumanFemale New
    HumanFemale Old
     
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    Look for the racedata using "t:racedata", you'll want to duplicate the "Human Female" race.
     
  39. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    Thanks. Got it.
     
  40. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    I'm a little confused here. Is the Add Overlay field below where you are saying to add the elf ears?

    upload_2020-1-23_11-21-46.png

    If so, OK. But the next step you say to remove the old head. But it says to add to the existing head. So, there is only one head so what is to be removed?

    [EDIT]
    Tried first by dragging into existing head, but didn't see elf ears at all. So then I clicked in the area where it says "drag slots and overlays. click to pick" and then removed the old head, but I get elven ears, but no head except for eyes, teeth, tongue.
     
    Last edited: Jan 23, 2020
  41. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    @Jaimi I'm stuck. There are so many possibilities for me to do it wrong based on the steps you provided. I've gotten close, but in the end I mess up the recipe so much that it doesn't work at all. I need a little more details information for steps 6 & 7.
     
  42. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    No problem. I meant to add the new slots on the "add slot" area in the existing head slot. That way you won't have to setup the overlay. Then one you have added the different head parts, remove the original one as you no longer need it. I will send a pic when I get back.
     
  43. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    I started over and just added elven ears to the existing head slot and it suddenly works. I didn't have to remove anything. Not sure why it worked this time. I'll let you know if I find another issue. But I think I have it now.
     
  44. vexiphne

    vexiphne

    Joined:
    Nov 23, 2018
    Posts:
    3
    Can someone explain how to modify the materials to work with the HDRP ? I can't figure it out at all... no docs or videos anywhere.
     
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    Convert your materials. Edit the UMAMaterials. Select the correct texture keywords.

    Kenamis made an example here:

    https://github.com/kenamis/UMAHumanHD
     
    vexiphne likes this.
  46. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    @Jaimi OK, so I wasn't quite right. When I thought it was working it actually had the original ears and the elf ears on top. I will try adding the other parts and remove the originals and see what happens.

    [EDIT]
    I'm not getting it right. It just keeps messing up and getting all mixed up and then I break it and have to start over. More precise steps would help.
     
    Last edited: Jan 24, 2020
  47. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    I'll create an elf recipe and post it. 2018.4 OK?

    Update: Package attached
     

    Attached Files:

    Last edited: Jan 24, 2020
  48. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    Forgot to make the race compatible with Human Female - just edit the race data, and you can select that by clicking the box at the bottom
     
  49. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    3,784
    In the recipe I see an error about some material and when I run a scene I get the following errors related to it.

    upload_2020-1-24_11-9-19.png

    [EDIT]
    I don't know if it matters, but I am using Unity 2019.2.17f1

    [EDIT 2]
    After clicking the copying slot material button then it works. Thanks for the help. Would you be able to also post a Elf Male variant? And please consider adding these as part of the standard asset download. They are very useful.
     
  50. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    5,072
    I've fixed a bunch of broken overlays in the current version, that must be one of them. To fix this, edit the overlay "f_HighPoly_Eyebrow" and change the material to "Eyebrows transparent 1". Eyebrows transparent 1 should look like this:

    Eyebrowstransparent1.png
     
unityunity