Search Unity

  1. Check out our Unite Austin 2017 YouTube playlist to catch up on what you missed. More videos coming soon.
    Dismiss Notice
  2. Unity 2017.2 is now released.
    Dismiss Notice
  3. The Unity Gear Store is here to help you look great at your next meetup, user group or conference. With all new Unity apparel, stickers and more!
    Dismiss Notice
  4. Introducing the Unity Essentials Packs! Find out more.
    Dismiss Notice
  5. Want to see the most recent patch releases? Take a peek at the patch release page.
    Dismiss Notice
  6. Unity 2017.3 beta is now available for download.
    Dismiss Notice

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
  2. m0rr0ws0n

    m0rr0ws0n

    Joined:
    Sep 18, 2014
    Posts:
    42
    How come the avatar colors don't change from the recipe string in one scene but they do in another? If I look in the character colors in the UMADynamicCharacterAvatar the color is correct in the swatch but it's not reflected ingame. It looks like it's using the default.

    -edit nevermind, you gotta turn off the default model.
     
    Last edited: Sep 23, 2017
  3. GameDon

    GameDon

    Joined:
    Dec 16, 2012
    Posts:
    29
    Hey all,

    what is the best approach to add mount points to UMA? I am looking to allow the player to sheaf weapons to different locations based on weapon type, I would prefer to have an empty game object placed as a child to say the spine of UMA with offsets but dont want to have to pragmatically do this every time I spawn a UMA.

    Cheers :)
     
    runningbird likes this.
  4. runningbird

    runningbird

    Joined:
    Sep 3, 2009
    Posts:
    350
    I would like to know this information as well.
     
  5. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    29
    Thanks for your reply. And sorry for my delayed response!

    I have tried checking box to add text assets. That actually does add text assets. However, when I scroll through, I do not see all of the characters referenced. Oddly, I see references to old versions that have likely been deleted and no longer exist (but have to check). But I only see one item listed that seems like it might refer to a current character [in text assets]. Oddly, I do seem to see references to some of the characters under a different section (UMADynamicAsset - or something like that).

    Since adding text assets alone didn't solve the issue, I suspect something else is going on.

    What DID work was manually copying the save files to the location where the build was clearly expecting to find the files. Since this worked, I decided to move on to the main issue I was working on at the time. And, now that I have that under control, I wanted to re-visit this save issue.

    When editing and I use the "Save UMA" button (whatever it is called), and the files save in one location. But my builds expect to find those files in a second location.

    I also tried dropping the save files into folder in Assets called "Resources", but don't think that helped either. When I moved the save files from that alternate location, UMA's don't appear in the build. When I replace the files, I can run the same build; and the UMA's appear.

    Anyway, now that this is my new focus, I may retry everything you have suggested. But I wanted to report that, so far, nothing has worked [besides manually moving the files to where the game expects to find them]. This means that I am unable to run the game from any other computer right now, unless I manually grab and install the UMA save files. But, even then, think the game will still be trying to reference a location on the development computer!

    While I continue to work on this, I would appreciate it, if anyone could look at this situation [maybe for a second time] and maybe provide some other possible solutions! Thanks in advance, for any assistance!

    CL
     
  6. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    29
    One more issue I am having trouble with. I just finished new UMA equipment system. I am using S-Inventory's Equipment UI. When I drop gear items into the equipment slots, the gear is added to and displayed on the character. However, I notice that, when I move to a different scene, the character reverts to the default gear she started with, instead of continuing to display the new gear that is still equipped in the Equipment slots.

    I end up having to un-equip and then re-equip the gear in the new scene, in order to get it to display on the character.

    Since several systems are involved, this might not be an UMA issue, specifically. It might be related to the save system I am using [or maybe to something I have not yet considered]. But, since I am still so new to UMA, I thought I should at least post this question. I have also sent this to others, in case this is not specifically an UMA issue.

    I think I can imagine a coding workaround; but I would prefer to identify and solve the exact problem - especially because the workaround I have in mind would have very limited application!

    Any feedback would be very much appreciated!
     
  7. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    No problem - I'll look into this. I was thinking you could just save them in a resources folder, and then specify the loadpath type as "resources", and that would work as well. I'll check it out.

     
  8. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    under "Race change options", is "Rebuild Skeleton" unchecked?

     
  9. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    29
    Haven't specifically tried this. But plan to try/re-try everything suggested on this forum, when I get back to work on my game (later today). Thanks for looking more into this issue. I will let you know, if I get this working.

    As usual, thanks for your reply!
     
  10. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    29
    I will check and let you know! Thanks again!
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    Yeah, if that's checked, it will destroy the existing skeleton and make a new one when you rebuild. That would definitely mess up your inventory. :)
     
    hopeful likes this.
  12. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    29
    I was able to login remotely and check this out. Checkbox not checked. Also seems like that option should only apply if I actually switch race. No?

    Seems like UMA is simply loading from the UMA save file, when I change scenes, ignoring any wardrobe changes. So maybe I need to do something to ensure the UMA save file gets re-saved, every time I change wardrobe? But, until I save UMA save file issue, not sure if I can make that happen. I am also sure I would need some help with the coding.

    Anyway, seems like if I can get the wardrobe changes saved to the UMA save file that would solve this problem.

    Does this seem like a saving issue to you? Or do you think something else might be causing this?
     
  13. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    3,817
    To me it sounds like when you change your recipe to add the new gear, you don't save the new recipe.
     
  14. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    29
    Yes. This is what I am suggesting. But not sure how to solve it!

    But, if this is the right direction, then I need to first solve the problem of why I have two different locations for my UMA save files: When I save UMA characters in the Editor, the files save to one folder. But when I run a game build, the build expects the files to be in a totally different location. So think I need to figure that out first. And then I will figure out how to re-save those files, after each wardrobe change.

    Guess I will have to do some more coding research, to find out code I need to use to save UMA characters. Can you direct me to any resources or provide any C# examples of saving an UMA character to a text file?
     
  15. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    3,817
    I'm not sure it's all that complicated. It sounds like maybe your editor created recipes are going into a resource folder, and your game save information is going elsewhere. You need to look into that and make sure you can really save and load your game save information. If you can, then it's a matter of making sure your game always looks in the save file for the current character recipe.

    And if you have a special case when you start the game of the game save file being empty, then you need to be sure that when the character is initially selected you save the game, so that you've got the starting recipe for the character in the game save file. (I'm assuming your game begins with the player selecting one character out of a list of premade characters.)
     
  16. cwmanley

    cwmanley

    Joined:
    Aug 8, 2013
    Posts:
    51
    Firlefanz73, gman, Teila and 3 others like this.
  17. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    29
    Thanks for replying, hopeful!

    I apologize, if I made my problems sound complicated! I don't think they are complicated. But, as I noted in my last post, I am not sure how to solve them, since I am so new to C#, Unity and UMA. That's what I was suggesting, at the end of that post: I need to know the coding, syntax, etc. needed to get control over saving my UMA character. That would solve the main issue I am having:

    Wardrobe Issue: I simply need to add some lines of code to the methods I created to equip clothing items, when dropped on an equipment panel (UI). Those additional lines would re-Save the UMA character, every time an item is dropped on the panel/equipped on the character. But I cannot seem to find any documentation on scripting UMA.

    The other issue has to do with my UMA text files being saved in one location [in a folder outside of my Project folder], when I am editing my game. I can save/load my UMA characters without issues, when editing.

    But, when I do a build of my game, the game looks for those files in another location. And, if the files are not there, the UMA's will not display in the game. So I have to manually copy the UMA files to this other folder, so they display in the game. This means I have to maintain two sets of UMA text files for my UMA's, which doesn't seem right!

    I have a plan to try to solve this; so I will let you know what happens.

    No problems saving/loading, so long as I have files in both locations. But don't think I should have to maintain two sets of UMA files! And also don't think my game should be looking for these files in a folder outside of the build. In fact, I would expect these assets to be bundled into the game build like the other assets.

    K - thx, hopeful. I will keep that in mind! My game will begin with character selection, but I won't be working on that for a while. Thanks again, for your feedback!
     
  18. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    29
    Happy to say that I got the code worked out for saving my UMA Player after each wardrobe change! Took a while to find the right code, but the wardrobe issue is finally solved. So no worries, if anyone was still working on this!

    Of course, I had to hard code the path to where my UMA files are being saved outside of my project. But at least now I can focus on solving that problem. I guess I will reach out again, if I am unable to work it out.

    Thanks again, for all of the feedback!
     
    Jaimi and hopeful like this.
  19. ychv

    ychv

    Joined:
    Apr 9, 2014
    Posts:
    3
    Hi Guys,

    Is there a way to save and load an UMA character with an already created avatar? Many other assets from the Assets Store require the avatar to setup and initialize. Requiring them to wait at runtime until the avatar is created to setup and initialize greatly increases the startup time.

    If not are there plans to add such a feature? Thanks.
     
  20. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    3,817
    If you are using pre-made UMAs in your game - basically, you are designing your characters in UMA and not changing them afterward - you might look into UMA Power Tools, which allows you to make a prefab out of your UMA character. (Keep in mind that once you make your character prefab, it is no longer a procedural UMA model, but a just a regular character model.)

    Also, if you are building for PC the UMA generation happens fast. So I assume you are building for mobile ...?
     
  21. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    Yeah, in 2.7 there's a feature that adds the ability to pregenerate the skeleton so you can use all those 3rd party controllers (and other things that need the skeleton setup).

     
    Teila, hopeful and TeagansDad like this.
  22. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    3,817
    Is this available and working on Github?
     
  23. ychv

    ychv

    Joined:
    Apr 9, 2014
    Posts:
    3
    Thanks for the replies.

    That's great news - I look forward to the 2.7 release.

    I looked into UMA Power Tools. But UnLogick's reply in seems to indicate that a new prefab couldn't be created at runtime when running from a platform build. I might need such a feature when changing clothing for the character.

    I am targeting a PC build. It might work especially if I limit asset use to the player character. I have not tested with a PC build yet, but noticed the slow down after switching to UMA when testing from the Unity Editor. The assets I am thinking of particularly affected by setting up at runtime are FinalIK and Puppetmaster. They normally benefit from being setup during development.
     
    Last edited: Oct 9, 2017
  24. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    It's not merged into dev or main yet, but you can get it from the "feature-bonebuilder2" branch. This and the advanced mesh hiding (both Kenans work) are coming in 2.7. Should really make things easier.
     
  25. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    3,817
    I know updates are published when they are ready, and no one knows the exact time ... but any sense of how far off an official 2.7 release is? A rough guesstimate? :)
     
  26. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    Not really sure - a few weeks to a couple of months.
     
  27. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    3,817
    Hmm! Hopefully the holidays don't push it out till next year! :)
     
  28. Stefan86

    Stefan86

    Joined:
    Aug 31, 2017
    Posts:
    27
    has anyone already dk uma with Invector Shooter Meele interacted?
     
  29. unity_VO_NmLvig1MBEw

    unity_VO_NmLvig1MBEw

    Joined:
    Oct 11, 2017
    Posts:
    1
    May I please get an update on when/whether UMA will work for UWP (Windows Store) target builds?
     
  30. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,104
    We just went from Unity 5.4.5 > 5.5.4 and now avatar creation suddenly breaks with an error:
    AvatarBuilder 'newAvatar': Transform 'LeftEyeGlobe' for human bone 'LeftEye' not found"

    Nothing was changed except the Unity version upgrade and the error persists after an UMA upgrade to 2.6. Any ideas?
     
  31. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,104
    I have now spent some time checking the assets in 5.5.4 and the rigs and UMA recipes etc. all seem to check out. Not sure what is throwing this error and why... Would really appreciate some pointers. Thanks! :)
     
  32. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,104
    After some more digging it would seem that something has changed in Unity between the version regarding how AvatarBuilder works, and something needs to change in UMA to reflect this.
    I hope this info is available, but it is awfully quiet in the slack channel and searching yields nothing...
     
  33. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,104
    Enabling debugging in UMAGeneratorBase yields a list of bones and a mapping which does not indicate anything is missing.
    The listing does not contain lefteye nor righteye (or associated globe bones), so perhaps something has changed in the AvatarBuilder and Unity now expects all bones to exist...?
     
  34. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    5,939
    Foxxis, that is really odd. Since most of us used UMA back in 5.5 and beyond without a problem, I do not think it is Unity. Which version of UMA were you using with 5.5?
     
  35. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,104
    2.6.
    I had a chat with Kenamis on Slack, and he pointed me in the right direction, so I have now isolated the cause.

    The problem is that in 5.5 Unity appears to have become more picky about the bone hierarchy.
    In our project, we have a first person camera mode which is default. When that mode is active, we do not include the head (nor eyes) when setting slots/overlays for the avatar build (we do this in code based on an old crowd example).

    That used to work fine, but now Unity throws an error when the head bones are not included. I am looking for a solution for that right now. The ugly but obvious one is to include a slot/overlay combo which provides the bones but is not rendering (no geometry, or geometry with a transparent shader). But I would like to find a nicer solution if possible.

    Any ideas...? :)
     
    lorddanger, Teila and hopeful like this.
  36. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    5,939
    Unfortunately, I have never tried to use UMA for a first person situation. Do you really need a UMA for the first person? I thought most folks used just arms and hands. :)
     
    hopeful likes this.
  37. Foxxis

    Foxxis

    Joined:
    Jun 27, 2006
    Posts:
    1,104
    We need UMA in FPV as well, yes.
     
  38. lorddanger

    lorddanger

    Joined:
    Aug 8, 2015
    Posts:
    34
    Any Suggestion on how to get an Image or Thumbnail for All the parts like hair style?
     
  39. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    5,939
    Here is how I do it. I use something that takes pictures. I make a scene with a dark background, place the UMA in the scene, and then take a picture of each hair on the UMA. Adjust your lighting to make it look good, using point or spot lights.

    Size them to the correct size in a paint/photoshop like program. Then turn them into a sprite, similar to making a normal map, only make them a sprite. Now you can name them properly and use them in your UI or wherever.
     
  40. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    511
    Hey Jaimi,

    I did not follow the thread for the last few weeks. Yesterday I had Unity 2017.2 installed and again could not see a single UMA and got error Messages about the "skinned mesh".

    I am highly interested with the Skeleton Support, did you try this with 2017.2 already, or can do you know if the skinned mesh bug for latest unity Version is fixed in there?

    Thanks a lot! :)
     
  41. HP

    HP

    Joined:
    Nov 20, 2012
    Posts:
    16
    @Firlefanz73
    This is because Unity needs mesh Data directly on setting the sharedMesh of the skinnedMeshRenderer and this is what UMA doesn't do. UMA sets a empty Mesh in the skinnedMeshRenderer.sharedMesh and attaches the Data later.

    This can be fixed if you comment the lines 105 and 108 in the UMADefaultMeshCombiner.cs
    Code (csharp):
    1.  
    2.             // newRenderer.sharedMesh = new Mesh();
    3.             newRenderer.rootBone = rootBone;
    4.             newRenderer.quality = SkinQuality.Bone4;
    5.             // newRenderer.sharedMesh.name = i == 0 ? "UMAMesh" : ("UMAMesh " + i);
    6.  
    And replace the Line 616 in UMAMeshData.cs with:
    Code (csharp):
    1.  
    2.             // Mesh mesh = renderer.sharedMesh;
    3.             Mesh mesh;
    4.             if (renderer.sharedMesh != null) {
    5.                 mesh = renderer.sharedMesh;
    6.             }
    7.             else {
    8.                 mesh = new Mesh();
    9.                 mesh.name = "UMAMesh";
    10.             }
    11.  
    And replace the Line 727 in UMAMeshData.cs with:
    Code (csharp):
    1.  
    2.             // Mesh mesh = renderer.sharedMesh;
    3.             Mesh mesh;
    4.             if (renderer.sharedMesh != null) {
    5.                 mesh = renderer.sharedMesh;
    6.             }
    7.             else {
    8.                 mesh = new Mesh();
    9.                 mesh.name = "UMAMesh";
    10.             }
    11.  
    This is just a quick and dirty fix, to get it working again. Not a final solution.

    If you get an error message like me in the console of the isWebplayer is obsolete. Comment the Lines 190 and 191 in AssetBundleManager.cs:
    Code (csharp):
    1.  
    2.             // else if (Application.isWebPlayer)
    3.                 // return System.IO.Path.GetDirectoryName(Application.absoluteURL).Replace("\\", "/") + "/StreamingAssets";
    4.  
     
    Firlefanz73 likes this.
  42. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    511
    Thanks for the info!
     
  43. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    511
    Works perfect. Unity 2017.2.0f3 working.
     
    hopeful likes this.
  44. jadenblah

    jadenblah

    Joined:
    Aug 19, 2017
    Posts:
    2
    Hi. Does anyone know if i can use my already made makehuman characters with UMA? If yes, how?
     
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    3,604
    Yes. You would need to create a race for them, and create slots out of the model. This is pretty involved, but Secret Anorak has some tutorials. I don't recommend going down this path unless you're willing to put a lot of time into it. If you just like the looks of the models from MakeHuman, it would be a much easier job to just convert the textures to overlays and create new UV's on the existing models.
     
    jadenblah and hopeful like this.
  46. jadenblah

    jadenblah

    Joined:
    Aug 19, 2017
    Posts:
    2







    actually, i plan on adding a feature allowing your character to have different ages (child/adult) would i need to create a race for them too? Or can i add a feature for it?
     
  47. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    5,939
    Children would need to be a different race. Race is a very bad word for it, but in UMA it is defined as any model that is of a different morphology. Men and women UMAs are different races.

    I actually plan to use the Make Human children to make different races but have been caught up in other things so have not done it yet. Follow SA's tutorials. It is very involved but if you go one step at a time, you can probably do it. If you mess up, start again. We actually all learn from mistakes. :)

    Making clothing for the children will be much more difficult.
     
  48. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    3,817
    To follow up on what Teila is saying ...

    Race is a bad word for it, but it's a term we've inherited. Originally the idea was for male and female humans, adults and children, to share one base model. You'd run a slider to morph from male to female. Then if you wanted other fantasy races, like elves, dwarves, trolls, etc., you would make their distinctly different base models. From that angle, the term "race" made sense.

    However, as development continued it was determined that adult males and females really did need separate meshes, and kids too, so the term "race" has remained, but what it really means is a base full body mesh.