Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. Viggy1996

    Viggy1996

    Joined:
    May 11, 2017
    Posts:
    39
    Hey! Since 2.8.1 has released, has the develop branch got the SRP support?
     
  2. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    DOS is @davidosullivan ... who commented on this just a couple of posts up.

     
    ceebeee and Jaimi like this.
  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No, not yet. Should be soon though.
     
  4. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    349
    I would like to take some photos of the 3D items to create some cool icons/in game photos of the Wardrobe items, but I can't find a way to have them on scene without rendering the avatar, how would you approach that?
     
  5. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You can precreate the rig with the bone builder. Then, have whatever inventory recipes remove all the base slots.


     
  6. MarkFitzpatrick

    MarkFitzpatrick

    Joined:
    Feb 8, 2019
    Posts:
    23
    Hello, is there any documentation on how to create Expressions with Expression player. Especially how to create a Bone Pose.

    Trying to get UMA and Salsa working together.
     
  7. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    It would be nice to have a button in the Global Library to "Remove All Unused Assets", but I'm not sure how you'd determine that information.
     
  8. MarkFitzpatrick

    MarkFitzpatrick

    Joined:
    Feb 8, 2019
    Posts:
    23
  9. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Are you using the default UMA races? If so, all you need to do is add the expression player ("UMAExpressionPlayer"), and setup the various Salsa scripts. All the expressions are already setup. There's also a "1-click" creator, but it doesn't seem to add the expression player, so you'll have to do that yourself, and setup the missing reference.

    If you have your own race, then the expressions were originally created as animations in Blender (you can see them in the content pack). There is a document that explains how to create expressions in the expressions examples folder. ("Editing Expression Clips.txt").
     
  10. Gillissie

    Gillissie

    Joined:
    May 16, 2011
    Posts:
    305
    I think I'm on 2.8 (which I just downloaded about 2 weeks ago). Where do you find the exact version number? There's a file named "Whats new in UMA 28".
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    2.8.1 was released only a few days ago, so you probably are on the earlier 2.8 release. I recommend updating.
    The "what's new" file should include the version information in the text itself. I didn't update the filename since it was a minor release. You should be able to see the version number in the asset store also.
     
  12. Gillissie

    Gillissie

    Joined:
    May 16, 2011
    Posts:
    305
    Ok, I deleted the old UMA folder and re-downloaded. Looks like I was on 2.8 before.
    Immediately after downloading, I remembered that I had to untag all the asset bundles in the UMA folder, because I don't want them. Can we get those untagged by default? I think it would be better for people to explicitly decide what they want to use instead of assuming everything.
     
  13. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Those bundles are tagged because they're part of the "Using Asset Bundles" sample scene and documentation. Untagging them by default would make those quit working.
     
  14. MarkFitzpatrick

    MarkFitzpatrick

    Joined:
    Feb 8, 2019
    Posts:
    23
    Thanks Jaimi, I understand how to use the Expression Player, the confusion is how to make an animation from blender a Bone Pose.

    So once I have the animation of the mouth opening, how does that get transferred into the Expression Player via Bone pose?

    Thank you.
     
  15. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    From the menu: UMA -> Pose Tools -> Bone Pose Builder
     
  16. MarkFitzpatrick

    MarkFitzpatrick

    Joined:
    Feb 8, 2019
    Posts:
    23
    Awesome, so it looks like it converts a animation clip to a Bone Pose. Whats the link for the documentation on this?

    How long do you recommend each animation clip being?

    Thanks again for the help Jaimi.
     
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Not sure there is any documentation for that specific window, however it's an open source project, so you can look in the code. In addition, documentation assistance is always welcome.

    As for animation length - I'm not sure - you might want to take a look at the source files in the content pack, and copy what the existing ones are doing.

    I'm definitely not the expert on this part of UMA.
     
  18. MarkFitzpatrick

    MarkFitzpatrick

    Joined:
    Feb 8, 2019
    Posts:
    23
    Thanks again for the help Jaimi.
     
  19. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No problem, have fun
     
  20. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    When you get it figured out, leave a couple of notes for the rest of us, please. :)
     
    MarkFitzpatrick likes this.
  21. davidosullivan

    davidosullivan

    Joined:
    Jun 9, 2015
    Posts:
    387
    @MarkFitzpatrick I have been doing quite a bit of bonePose stuff the last couple of days, hopefully this info will help...

    You can kind of think of an UMABonePose as being like an 'AnimationKeyFrame asset' What the expression player does is pump these 'keyframes' into the animation controller as different expression values change. It does that based on an 'ExpressionSet' which is an asset that holds a kind of dictionary of BonePoses linked to different expression names.

    In Blender or whatever you make these expressions on keyframes and then you can tweak the xml file in the content creator pack so it has the keyframe of your expressions in it. You can use the xml file to 'bulk import' expressions from an imported fbx's animation the in BonePose Builder Window

    I have found that if you just have an expression on one frame and then another on the next frame when you import unity doesn't get them exact either because of blenders keyframe optimization or Unitys. so I'd reccommend that you make each expression 10 frames long and set the keyframe you want to be in the middle- that way the 'curve' between the two is flat. i.e. Expression1 starts at keyframe0 and finishes at keyframe10 (0 and 10 are the same positions) and in the xml you set it to use frame 5 and so on.

    You need to import that fbx as generic rather than humanoid because the BonePose Builder needs the actual names of the transforms in order to work.

    The other gotcha is that unitys eulers are screwed up (and I dont think the BonePose importer actually recognises them right anyway- it complains about any binding property names that are 'localEulerAnglesRaw') and/or the way blender exports them is not right. I'm not sure which it is, but if you use lots of euler rotation keyframes in your expressions you will probably find they dont come in right.

    Theres no easy solution for that I'm afraid. You have to export instead a rig that only has one keyframe that is in that expression and use the BonePose importer in rig mode. So the moral of the story here is avoid having any euler rotations in your expressions if you can.

    Once you have all your bonePoses imported, then you need to create an expression set and assign them all. Then you can assign that new expression set to your race and you will be good to go :)
     
    Last edited: Apr 24, 2019
    MarkFitzpatrick and hopeful like this.
  22. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    Patiently awaits Secret Anorak's "Expressions for Dummies." ;)
     
  23. davidosullivan

    davidosullivan

    Joined:
    Jun 9, 2015
    Posts:
    387
    another tip: If your race has the same bone names and similar weighting on the bones for the face, you may well get away with the existing expression sets. I've made UniUMA so it has more bones in the face, but the existing bone names are the same and the weight is similar, so altho I'm gonna do alot more with expressions in UniUMA, the existing expression sets are passable on it...
     
    MarkFitzpatrick likes this.
  24. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    It only uses one frame for each expression, so it can be whatever length is convenient, except that as David pointed out above Unity isn't very good at controlling the animation to exactly match the keyframes, so it's better to have a gap between the ones you want to use. You assign the frames and what pose you want to generate in the window and you can save those settings as an XML file if you need to adjust them and re-import later.

    If you only want a single pose you can just use two versions of the model and it will calculate the difference using the "Rig Source" in the Bone Pose Builder, the animation import is just if you want to build a bunch of bone poses at once. These are essentially animation keyframes, recording the differences in bone position, rotation, and scale, so you can create those two versions of the model in whatever way you prefer.

    EDIT: I'm not aware of the issue with Euler angles. It's possible Unity has changed the naming scheme for rotation channels in generic animation clips. If so it should be a simple matter of updating the code to use the new names.
     
    Last edited: Apr 24, 2019
    MarkFitzpatrick and hopeful like this.
  25. apdibbo

    apdibbo

    Joined:
    Sep 25, 2017
    Posts:
    3
    Hi,
    I am trying to use UMA with the Game Creator system and I've hit an issue getting Game Creator's Character Animator to work with UMA models. The animator requires a 3d model to animate and it doesnt work with the UMA Dynamic Avatar object or the bones of that object. Is there a way to get UMA to dynamically generate a 3d model to be used with other assets?
    Thanks In Advance
     
  26. AlkisFortuneFish

    AlkisFortuneFish

    Joined:
    Apr 26, 2013
    Posts:
    973
    For what it's worth, we internally use an UMA fork we made that works with addressables. It utterly butchers DynamicCharacterAvatar to achieve this and all text assets are serialized in a way that stores an ID to UnityEngine.Object reference map in the scriptable object assets at recipe pack time and resolves those references at unpack time. This allows the Addressable dependency tracking to work correctly and removes use of the Asset Bundle Manager and asset libraries at play time.

    It is not a general purpose solution that could be shared but it works for our particular use case with our tech.
     
    hopeful likes this.
  27. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Likely it needs an avatar & bones, and possibly an animator controller. An avatar definition is available on the unified models, and the bones and animator controller can be added to a prefab made with the bone builder.
    Otherwise, you can use the power tools to create a prefab. At that point, it is just a mesh (no longer an avatar that can be modified).
     
  28. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    That's great - we haven't started down that road just yet because of the version requirement. I think we all agree that DynamicCharacterAvatar needs a good butchering as well. We'll probably start on this in after we have the next point release out (with the SRP support)
     
  29. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    Looking forward to it! :)
     
  30. MarkFitzpatrick

    MarkFitzpatrick

    Joined:
    Feb 8, 2019
    Posts:
    23
    davidosullivan Thank you for the explanation. I figured out my problem was pulling over the entire FBX and not opening it up and only connecting the rig inside it. I assumed it worked since it allowed me to populate the Rig Prefab slot with the entire FBX.

    This is a very similar process to Unreal Engines Pose Asset which I started to use first for their FACE AR Iphone X workflow.

    I see what your saying with making sure the Bone Pose has enough keyframes to know what keyframe it is on.

    Thanks again for all your help everyone. Learning UMA has been less daunting with all your help.
     
  31. jiguja_unity

    jiguja_unity

    Joined:
    Jun 22, 2018
    Posts:
    4
    Hi all, I wanna ask.. Can I use non UMA character to be modified inside UMA?? For example I'm using Reallusion iClone character and I want it to be modified inside UMA 2.. Would that be possible??
     
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yes. I believe several others have worked on this as well. What you will need to do is import it into Blender, and add any adjustment bones you need. Then you can create "slots" and "overlays", and create a new race.
     
  33. vobi1024

    vobi1024

    Joined:
    Sep 24, 2018
    Posts:
    1
    Hi All, can someone please tell me how can I generate a character fully (with random dna, clothes, random shared colors, animation) without reaching the update cycle? (put only a Debug.Break in it) Thank You!
     
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    FYI - to anyone else reading this thread. We discussed this, and I recommended using the new randomizer stuff in 2.8.1, and pushing up the iteration count on the generator to force generate all the UMA's in one frame.
     
    hopeful likes this.
  35. Censureret

    Censureret

    Joined:
    Jan 3, 2017
    Posts:
    363
    Hey Everyone in the UMA universe.

    I am looking into if I can use UMA in my project. And I have a few burning questions that I hope some of you might be able to answer:

    1. Ootii Integration - Now I have seen some videoes where the Ootii motion controller is added to a UMA character. However, this video only displayed a very basic setup. How about the Sword and shield, Archer and spell motion pack. Do these work well with UMA or is there anything that you should be aware of?
    2. Rootmotion integration - Specifically Final IK and PuppetMaster Can these work with UMA? is it possible to take advantage of all features such as the interaction system and Aim IK or will you have to do some code gymnastics to make it work?
    3. Quality of models - Is it possible to change the quality of the base models? Either Higher poly count or lower? Also, can game objects only be added to the character through the integrated system or are you able to manually attach items to for example hands such as weapons and props?
    4. Performance - My game is supposed to feature a large number of "Agents (NPC's)" that will fight each other and the player. How well does UMA perform when having many (100 - 200 and above) units?
    5. Creating custom content - This is more of a "Feel" question how many content creators are there for making content such as armor, weapons and props and how "avalible" are they?

    I hope some of you might be able to answer these questions.

    Thank you for your time!
     
  36. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    UMA creates regular humanoid characters that can use humanoid mecanim animations and character controllers. The only catch is that since UMA creates the characters during runtime, you should use the "bone builder" part of UMA to get a skeleton that you can use to hook up your character controller.

    Final IK and Puppetmaster have scripts for compatibility with UMA, although I'm not sure to what extent they are needed anymore with the bone builder (a feature that was added relatively recently).

    You can create your own base models for UMA or use the defaults or ones supplied in the store. Some people want a more low poly or toon style, while others want a HD type style. Use Blender to match your new base model to the default UMA skeleton.

    UMA is one of the best solutions for performance, but really that sort of thing is in your own hands. There are probably ways of killing performance.

    Probably most private artists can create for UMA, but you'd have to ask them. Some might be intimidated at taking on something they haven't done before.
     
    Jaimi likes this.
  37. Censureret

    Censureret

    Joined:
    Jan 3, 2017
    Posts:
    363
    Thank you so much for your response. Could you link me to the documentation of the bone builder as it seems thats where i should be heading
     
  38. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    Since UMA is free, it's probably best if you download the latest version and try out the bone builder.
     
    Jaimi likes this.
  39. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    In addition to what Hopeful said, there are also higher-resolution base slots included in the download that you can use instead of the medium and low resolutions slots. To test performance, run the included "UMA DCS Demo - Random Characters" scene - it generates 200 animated UMAs with random DNA and slots. On my surface pro with an older INTEL GPU, it gets around 40 fps. Performance could be further improved by creating LOD slots.

    Note also, that UMA is significantly faster in an IL2CPP build than it is running in the editor.
     
    hopeful likes this.
  40. jiguja_unity

    jiguja_unity

    Joined:
    Jun 22, 2018
    Posts:
    4
    Well.. Thanks very much mate.. really appreciate it :D
     
  41. Prod212

    Prod212

    Joined:
    Dec 13, 2017
    Posts:
    17
    Ok so we are planning to implement animals to our game but I am not really sure how i can set up quadruped rigs with UMA using a humanoid rig preferably. So right now I've managed to make a race out of this mammoth but I have problems with the rig itself and when the race is created, it has problems detecting some of the bones; it got me thinking that the problem must come from how i've generated this humanoid rig. So if possible, can anyone please explain to me the procedure of setting up an animal/quadruped rig on UMA? The main issue im also getting is the head bone not being detected because of the fact that I am using a target constraint on the head so it needs to be parented to this constraint bone but for humanoid rigs, it needs to be parented to the neck.

    So with this rig, all the animations work fine but once I make a race out of this mesh, UMA doesn't detect some of the bones so the animations end up failing and so I'm assuming that it has to do with the rig?
    upload_2019-4-26_13-25-59.png
     
    Last edited: Apr 26, 2019
  42. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189


    Today, we release the 'Viking Females Village Series Modular Pack'












    The 'Viking Females Village Series' Modular Clothing Pack is designed for Unity 5 UMA 2.5 Character system..Great if you need to popular your viking, or medieval scene with a collection of unique and authentic costume styles.

    The pack contains 20 unique clothing items that will work in a modular system together, allowing you to swap out one Dress for another, and the accessories still work and conform to the new selection.

    Pack Contains:

    • 19 Slots
    • 19 Overlays
    • 19 Wardrobe Recipes
    Pack costs $49 as an introductory price
    Can be purchased via the below Arteria3d Store Link

    https://arteria3d.myshopify.com/products/viking-females-village-series
     
    gman, SecretAnorak, hopeful and 3 others like this.
  43. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    Very nice looking, great Job! and very useful because of the existing viking males :)
     
    hopeful and arteria like this.
  44. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If you use Humanoid rig, it has to be a valid humanoid rig according to Mecanim. Did you extract the T-Pose and put that on the race? Also, You can use a generic rig with UMA (it's an option on the RaceData), if that helps.

     
  45. Prod212

    Prod212

    Joined:
    Dec 13, 2017
    Posts:
    17
    Thank you and yes we decided to just use a Generic rig but now I have this problem where if I play an animation with a defined DNA so, for example, this is all the values at max and it's only visible if i disable the animation controller upload_2019-4-26_20-42-36.png
    So I am assuming that because the animations already have a predefined scaling, it uses its default scale when the animation is played.

    How do i fix this issue where the DNA loses all its defined values when an animation is played?
     
  46. MarkFitzpatrick

    MarkFitzpatrick

    Joined:
    Feb 8, 2019
    Posts:
    23
  47. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    Very possible but not built-in. The expression player code is quite simple, and you could easily extend it to set a blendshape weight based on one of the expression values.
     
  48. SecretAnorak

    SecretAnorak

    Joined:
    Mar 19, 2014
    Posts:
    177
    Wait a minute,... my UMA's don't have jiggly boobs,...…… THEY DO NOW:
     
    Duende, kenamis, Jaimi and 1 other person like this.
  49. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Shouldn't be doing that. SecretAnorak has a video on creating creature UMA's with a generic rig here:






     
    hopeful likes this.
  50. MarkFitzpatrick

    MarkFitzpatrick

    Joined:
    Feb 8, 2019
    Posts:
    23
    Thank you ecurtz! Looking forward to it!