Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. MarcoMeter

    MarcoMeter

    Joined:
    Jun 14, 2013
    Posts:
    69
    Hey adventurefan or Fernando Riberio could you share an fbx file with a facial animation which is working for you? I really need to understand what's going wrong with my stuff.
     
  2. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    The Avatar of the Animator is not set to None, it's just set to an Avatar named "". Access it from code and it should be valid and have all additional bones correctly setup. (Assuming you're using the DefaultMeshCombiner, using the LegacyMeshCombiner doesn't work with additional bones.)
     
  3. MarcoMeter

    MarcoMeter

    Joined:
    Jun 14, 2013
    Posts:
    69
    Still can't get it to work.

    I created a new clean project, imported UMA, imported the malue_unified.fbx with lip animation and tried lots of things again. Still can't make this animation running on a generated uma avatar.

    The DefaultMeshCombiner is selected. I tested it in the crowd and in the serialized scene example.
     
  4. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there!
    The blend files from content creation pack include facial animation: https://github.com/huika/UMA-Extrafiles/tree/master/ContentPack_1.1.0.1

    You´re probably missing a step not related to UMA itself. I would recommend testing the process on the Male/female Unified model (not the prefab, to avoid the risk of losing it), changing the animator so you can be sure the usual Unity process is working.
     
    Last edited: Oct 15, 2014
  5. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    Unfortunately the animation system is kind of fragile, there are a lot of places things can be slightly wrong which will mean it doesn't work. When you run your scene, does the animator on the built UMA have the animation you expect? Is that animation actually playing? If you open the Animation window does it have the curves you expect? If you look inside the built UMA character rig are all the transforms used by the animation still there?
     
  6. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    If anyone has uma character skeleton rigged for animation in max I would be grateful for a copy. The fbx imported bones model has no hands and feet IK / no pose and posture saving etc... I want to put in a biped object to make it easy to make anims so I'll probably work on that if it hasn't been done. But it would save me some time if anyone has done it before.

    It could be many things. When you export an fbx animation make sure you include all the skeleton parts/children.

    I get best results setting the face anims to humanoid.

    Male face and female face animation won't work on each other (pretty sure, not 100%)

    Seems to work best having another layer for face control. You make a head mask file for that (create>avatar mask in unity) and in animation controler make a new layer, set layer weight to 1 and assign the anim and avatar mask to new layer.

    EDIT: Ok, I just remembered one pretty important thing. On the animation clip with face anims you must go under where the animation clip timeline/settings editing stuff is, click mask>transform>and add all the facial bones you're using.

    It's a pain in the butt so maybe someone can make a tool to do it automatically for which ones are used, but after they're added they should play.

    I can make you an example scene soon... the one I tested it in is messy with other experiments right now... lol.
     
    Last edited: Oct 15, 2014
  7. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Hi there,
    Facial animation based on bone animation is indeed a headache when working with mecanim, the problem is not related with UMA itself, but mostly because there´s not a great standard pipeline to handle that.
    I understand Mecanim will probably aim for facial animation based on blend shapes, and at some point we might actually have to follow that standard, but I probably won´t be messing on that area before Unity 5.

    "
    I get best results setting the face anims to humanoid.

    Male face and female face animation won't work on each other (pretty sure, not 100%)
    "
    If I remember correctly my tests, what is restricting the facial animation (set as humanoid) on male not getting played on female rig is that the rig name is different.

    Cheers,
    Fernando R.
     
  8. MarcoMeter

    MarcoMeter

    Joined:
    Jun 14, 2013
    Posts:
    69
    The animator is playing the assigned animation take. There is no movement at all on the uma characters ( Picture ). There are no curves in the animation window. The built UMA character has all the transforms needed on the hierarchy on runtime.

    I posted my used files already earlier, could anybody test them?
     
    Last edited: Oct 20, 2014
  9. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Marco please share a unitypackage with your stuff ready to be imported into the default uma project. In order to tell what you're doing wrong we need to see what you're doing.

    Sending the raw mb and fbx files is like asking us to make everything work. ;)
     
  10. MarcoMeter

    MarcoMeter

    Joined:
    Jun 14, 2013
    Posts:
    69
  11. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
  12. MarcoMeter

    MarcoMeter

    Joined:
    Jun 14, 2013
    Posts:
    69
    I attached the test animation to the animator locomotion's default state.
     
  13. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    I got your anim running. I'll uploading the pictures of the process just one minute


    edit: ok this is what I would do. using face anims in any other way might just look weird or not play right

    Process of adding a facial animation in the mecanim controller

    Quick tip on scale : (set the correct scale of the imported model first. should be set to 1 in the imported object's properties for this UMA model - and it's not the scale on the scene object but the reference file you loaded in first)





    (also helps check to see if your whole model is not animating for some reason, very helpful for troubleshooting to know which stage is broken)



    After this play the scene and you shouldn't have any playback problems.
     
    Last edited: Oct 20, 2014
  14. MarcoMeter

    MarcoMeter

    Joined:
    Jun 14, 2013
    Posts:
    69
    Thanks a lot for your detailed answer.

    This works well for the model inside LipAnim.fbx .

    Unfortunately the animaiton is not palyed on the uma generated characters (I just referenced the new Animation Controller to the UMADynamic Avatar component).
     
  15. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    The scale on your character is different from the UMA one. Set the scale on the model import to 1 and apply and you should see your animation (on Male characters anyway.) It's actually working now, it's just sucking all the lip vertices to the origin of the head because the numbers are off by a factor of 100.
     
  16. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    Yes as ecurtz says, that's the only other thing you need to do. Go to the properties on the original imported object and put the scale to 1.
     
  17. MarcoMeter

    MarcoMeter

    Joined:
    Jun 14, 2013
    Posts:
    69
    Thank you very much ! This solved my problem *thrying to throw money on the screen*
     
  18. IFL

    IFL

    Joined:
    Apr 13, 2013
    Posts:
    408
    Just a heads up for anyone that runs into this issue - Blender's fbx exporter has been updated as of v2.72. Exported meshes no longer work with UMA using the settings listed in the docs. I tried various settings and tricks for a while to get it to work, but the best I could manage was by using 2.70.
     
  19. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Thanks for the heads up, I´ve been using 2.70 so far, so I was not aware of those changes. If anyone finds out what should be the new export settings / pipeline, please share here so we can update the manual.
     
  20. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    No one happening to work on a hair pack for UMA? Thats something i think i really needed and could probably generate a good amount of sales to since it can be used in any style of game : )
     
    ImpossibleRobert and hopeful like this.
  21. Deleted User

    Deleted User

    Guest

    Hi guys.

    I'm currently getting armors, outfits, hairs, faces, and creatures prepared for UMA. I was wondering what assets everyone would like see for UMA on the asset store.

    https://www.assetstore.unity3d.com/en/#!/publisher/5619

    Edit:

    Thanks for the post virror. I'll be doing one of those soon.
     
    Last edited by a moderator: Oct 23, 2014
  22. Deleted User

    Deleted User

    Guest

    Thanks for the heads up IFL.
     
  23. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Hair! Faces! Oh, I am so excited! :) I am becoming a Justb fan. lol
     
    hopeful likes this.
  24. Deleted User

    Deleted User

    Guest

    Teila likes this.
  25. daeuk

    daeuk

    Joined:
    Mar 3, 2013
    Posts:
    67
    the armors look great justb... keep em coming!
     
  26. Deleted User

    Deleted User

    Guest

    Thanks daeuk.

    @Unilogick/Fernando

    How can we add transparency for hair? I've tried the UMA transparent two sided shader, but the whole mesh ends up being transparent. There is a alpha map in the alpha channel of the diffuse when creating the material. Images attached. (Third image is the final diffuse alpha channel)

    ScreenHunter_148 Oct. 24 12.09.jpg
    ScreenHunter_148 Oct. 24 12.08.jpg
    ScreenHunter_150 Oct. 24 12.09.jpg
    ScreenHunter_153 Oct. 24 12.34.jpg
     
    Last edited by a moderator: Oct 24, 2014
  27. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,687
    Speaking of shaders ... anything happening officially to get Lux and / or Unity 5 PBR working with UMA?
     
  28. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    For hair, you can use a regular unity transparency shader. And make the mesh double-sided by copying it and flipping the normals of the copy in 3d program. That's generally the practice for good performance.

    Also Justb or anyone, if you have a real lot of content to convert and are interested in some help I can handle doing a bunch of it for you for a reasonable amount. Msg me if you're interested.
     
  29. Deleted User

    Deleted User

    Guest

    Awesome adventurefan. Thanks a bunch.

    I think the issue with that previously was the whiteness of it when changing the shader. I just adjusted the specular slider. Works fine.


    Edit:

    I will keep that in mind. Thanks for the offer.
     
    Last edited by a moderator: Oct 24, 2014
  30. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    You can use any shader you want. Just set the SlotData.materialSample to a material that uses the right shader and make sure to set the SlotData.textureNameList so that uma knows what the material textures are called.

    Well everything is ready and working, we just need an artist to create a proper PBR specular map.
     
  31. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    I´ve spent some time a couple months ago learning/testing LUX and got some really interesting results, I´ve posted them here. Right now I feel it´s more safe to wait until Unity 5 PBR guidelines are public so we avoid creating everything for LUX and having to change again to Unity 5 standard.
     
  32. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,687
    Maybe nobody really knows the answer to this yet, but ... once U5 comes out, will there still be a few good reasons to run UMA on Lux or Skyshop or whatever?

    My impression is that there will be reason to run Jove 2, as that system is optimized for DX11, and because of that it will run much better on DX11 capable machines than the U5 PBR solution.

    As for the specular map ... does that require an actual artist, or is it one of those things that can be cranked out of an Allegorithmic program?
     
  33. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Nobody knows for sure until U5 is released. Personally I believe it will be possible to convert the specular from lux to U5 so I'm not as worried about lost effort.

    Well the thing is that I've looked at a few specular maps for the human skin and it seems to be divided into zones, with eye sockets, mouth region, and other areas having different light intensities. However I'm not enough of an artist to understand if they're doing this to simulate makeup or if it's actually different light properties of our skin.
     
  34. Deleted User

    Deleted User

    Guest

    Specular maps replicate real world specular, so areas that reflect light like plastic, would be brighter on the specular map. things with no specular reflection would be black (everything has reflection even cloth, but it's dark). So, lips would be whiter since they are wetter and smoother.

    A lot of people just use a desaturated diffuse map with contrast and brightness adjusted.
     
    Last edited by a moderator: Oct 25, 2014
  35. Deleted User

    Deleted User

    Guest

    Not working. I assigned a material with transparent/ cutout/ bump specular/ to the hair and left the rest of the slots as usual. Everything generates as white.

    @adventurefan
    Regular bump specular doesn't work on the generate UMA character. The eyes disappear and you can't select the normal map for the generated character. (yesterday I tried using only the hair with only diffuse, so thought it worked, but with full character it doesn't)

    Images for UnLogick:


    ScreenHunter_155 Oct. 25 11.38.jpg ScreenHunter_155 Oct. 25 11.41.jpg ScreenHunter_156 Oct. 25 11.41.jpg ScreenHunter_157 Oct. 25 11.41.jpg ScreenHunter_157 Oct. 25 11.54.jpg
     
    Last edited by a moderator: Oct 25, 2014
  36. Deleted User

    Deleted User

    Guest

    When the "Maiden hair" Overlay textures are changed back to the generated.png images, everything appears fine, but the hair still has no alpha transparency.

    ScreenHunter_157 Oct. 25 12.06.jpg (Tips should be transparent)
     
    Last edited by a moderator: Oct 25, 2014
  37. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    For PBR what really makes the difference is a good Gloss map, the specular itself is just a matter of following some standard values based on the type of surface. Even diffuse itself tends to be more "flat colors", in some cases, with a bit of baked AO, but gloss is what ends up providing more interesting variation and information.
    This is a good link for reference -> http://www.artisaverb.info/PBT.html
     
  38. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,687
    Speaking of PBR, there is an official Unity 5 thread that was started a week or so ago asking about the specular v metalness issue, with most respondents calling for metalness.

    I don't know if anyone here would want to have their say, but here's the thread and the OP:

    Hello,
    With the introduction of physically based rendering in Unity 5, we need a workflow and way to specify materials that makes sense.

    Currently there are two main approaches, one based on specularity and the other on how metallic something appears.

    We would like to learn more about the current and planned tools and workflows to author and create physically based materials for use with Unity. Some interesting info for us is:

    What type of game(s) are you trying to make?
    Do you use on "scanned" data?
    Do you hand author textures?
    Which tools do you use?
    Do you have a preference for specular or metallic or is this all new to you?

    Thanks!
    Brett​
     
  39. Deleted User

    Deleted User

    Guest

  40. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,687
    It seems like whatever will work in Lux / Skyshop will work in U5 PBR ... or at least be very close. It also sounds like Unity will have to add the metalness workflow, but that might not come for a while.

    FWIW, Lux has both the specular and metalness approaches, and Allegorithmic (at least in theory) supports both as well.
     
  41. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    Don't have much time atm to look into it again but I noticed this in one of my old posts:

    "I should add there's a bit of an additional weird trick I have to do to use this, which is set the normal map in the material sample, and the diffuse in the overlay. don't ask me why but that works out fine whereas methods may not render something"

    Might help you

    If not you could PM me the model scene and I could look at it monday

    cheers
     
  42. GameNative

    GameNative

    Joined:
    Apr 17, 2014
    Posts:
    40
    I'm having an issue, in some instance when I Alt-Tab for a period of time and come back into the game. The textures on the UMA model only are all funky. Anyone heard of this before?
     
  43. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    It's well known and well documented.

    On DirectX systems the render textures can be destroyed by the drivers due to a number of reasons like: resize, minimize or locking the computer.

    There are three ways to handle this:
    1. Use the slower convertRenderTexture option to copy the render textures into memory so that when DirectX blows up we still have the texture and can recover gracefully.
    2. Detect that DirectX destroyed the render textures and rebuild them asap.
    3. Add a native plugin that registers to the UnitySetGraphicsDevice event and write code to convert render textures just before DirectX is reset. *Nobody have actually tried this.
    Cheers
     
  44. Deleted User

    Deleted User

    Guest

    Alpha transparency issue is solved. It was just a bug in the Random set.

    You have to go to debug mode and check or uncheck " Use Overlay list"

    Also, your slot should be using the appropriate Material and the texture list (_MainTex and _Bump map)
     
    hopeful likes this.
  45. CaptainChristian

    CaptainChristian

    Joined:
    Apr 3, 2013
    Posts:
    100
    Another thing: I am running Unity 5 and encountering an exception:

    MissingMethodException: Method not found: 'UnityEngine.Component.set_active'.
    UMA.WorkerCoroutine.Work ()
    Rethrow as Exception: Exception in WorkerCoroutine: UMA.TextureProcessPROCoroutine
    UMA.WorkerCoroutine.Work ()
    UMA.WorkerCoroutine.Work ()
    UMA.UMAGeneratorBuiltin.HandleDirtyUpdate (UMA.UMAData data)
    UMA.UMAGeneratorBuiltin.OnDirtyUpdate ()
    UMA.UMAGeneratorBuiltin.Update ()

    Is there something I can do to solve this issue? I am using the DLL version.
     
  46. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    The UMA20 branch in github works with the Unity 5 beta. I don't think anyone has attempted to bring those changes back into the main Asset Store branch at this point.

    EDIT: That actually looks like a simple fix which should get moved back into the main branch, but I'm not sure when it might be available from the Asset Store.
     
    Last edited: Oct 28, 2014
  47. CaptainChristian

    CaptainChristian

    Joined:
    Apr 3, 2013
    Posts:
    100
    Thank you.

    I'll replace the dll with the source files, because the dll doesn't seem to get updated that often.
     
  48. Hedonsoft

    Hedonsoft

    Joined:
    Jul 11, 2012
    Posts:
    168
    Hello everyone. I purchased the high poly slot package from Fernando and it looks great but I must be missing something because the generated character's neck isn't attached to the torso.
     
  49. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I suspect you're mixing high poly head with low poly body or similar. You cannot mix low and high poly body parts as that will not give seamless results. You should be able to wear low poly clothes on the high poly body though.

    Depends on what you want really. If you want the latest changes and the risk that involves I'd advice to go all the way and use the UMA20 branch from github.

    If you just want stability... then the asset store package should be just fine. This fix is targeted unreleased versions of Unity so we're not in a hurry to bloat the repository with binary files that aren't really needed.
     
  50. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    But what about clothes that replaces for example the body slot or the feet slot, will those not be compatible with the highres UMA then?