Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

UMA Power Tools Support (v. 2.9)

Discussion in 'Assets and Asset Store' started by UnLogick, Jan 7, 2014.

  1. Bantichai

    Bantichai

    Joined:
    Nov 6, 2016
    Posts:
    138
    Hey @UnLogick do you think you'll be able to finish the update by the end of this month?
     
  2. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Picked this up, Excited about using it

    Edit: "I think I need to clarify that the LOD system doesn't produce LOD meshes."
    Oh, less excited.. :(
     
    Last edited: Jun 3, 2018
  3. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    LOD meshes should be available with Simple LOD. I've been working in other areas and haven't touched this, but a couple of years back it worked. The early version was written with UMA in mind.
     
    twobob likes this.
  4. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    Cool man thanks. I'll fire that up.
     
  5. Bantichai

    Bantichai

    Joined:
    Nov 6, 2016
    Posts:
    138
    Hey @UnLogick any word on an update? I'm starting to need my own shader issue fixed urgently. Perhaps a beta version?
     
  6. PerunCreative

    PerunCreative

    Joined:
    Nov 2, 2015
    Posts:
    113
    Hi :),

    just discovered that Mesh Hide Assets doesn't work with UMABoneBakingMeshCombiner. Do you have newer version that support this, but it is not yet on asset store?

    Edit: Never mind I fixed it
     
    Last edited: Aug 6, 2018
  7. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Just out of curiousity how did you fix it?
     
    Mark_01, Teila and twobob like this.
  8. FiveFingerStudios

    FiveFingerStudios

    Joined:
    Apr 22, 2016
    Posts:
    510
    The bone baking doesn't support Blendshapes.

    Does this mean if I have

    LOD_0 (with Blendshapes)
    LOD_1 (no Blendshapes)

    When using the bone baking,
    I would lose it in LOD_0 as well
    OR
    Does it mean that it cant copy the blendshapes over to LOD_1?


    I only want to use bone baking on LOD_0...so if it just can't copy it I'm fine.



    Also,
    1. Does this work with UMA 2.7.0?
    2. I'm currently using UMA_Simple_LOD for both Mesh LOD (got a fix for it!), and Texture LOD. I want to add Bone LOD as well. Can this work side by side with it?
    3. Can this do "Optimize Transform Hierarchy" (the option on the Animator component)?
     
  9. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Power Tools doesn't even read the blendshape data, so it's completely ignored and the character is baked as if all blends are at 0

    In theory you could set up your system so that you have two generators, uma vanilla for LOD_0 and power tools for all LOD versions. The biggest challenge with this would be to avoid they both worked in the same frame and produced lag spikes.

    1. Power Tools works with UMA 2.7, however it only supports the feature set of 2.5, so no blend shapes, mesh hiding and other 2.7 features. I hope to someday find time to add these features.
    2. Power Tools supports mesh lod, texture lod and bone baking lod
    3. Not yet, but it's a theoretic possibility that I have explored, however my attempts at this have so far failed.
     
    FiveFingerStudios likes this.
  10. FiveFingerStudios

    FiveFingerStudios

    Joined:
    Apr 22, 2016
    Posts:
    510
    Thanks for the reply. On number 3, I have it working at runtime in my project currently, but not too familiar with UMA code. Looked at it quickly, but no enough time in the day. :).

    I would be willing to share my approach if it could possibly help you.
     
  11. HeadClot88

    HeadClot88

    Joined:
    Jul 3, 2012
    Posts:
    736
    Hey @UnLogick - Is there an ETA for the next update? I am going to pick this up Friday.
     
  12. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I got blendshapes working both baked and unbaked with bone baking! However it requires some changes to how uma deals with blendshapes. I talked this over with @kenamis who wrote the original blendshape support in uma and we came up with a grand new api for accessing blendshapes. So first this will be added to the develop branch of uma. And once that lands I'll be able to send those who needs blendshapes a custom version that works with the develop branch of uma. However I can't update the asset store with this new version until uma 2.8 is released.
     
    Mark_01, kenamis and hopeful like this.
  13. Bantichai

    Bantichai

    Joined:
    Nov 6, 2016
    Posts:
    138
    That's grew news @UnLogick looking forward to this update.
     
  14. Dioinecail

    Dioinecail

    Joined:
    Jun 1, 2017
    Posts:
    16

    Hello, i'm sorry to bump up such an old post, but i've been reading through the forums but it takes a god long time. I'm having a similar issue with android build target plaform.

    Have you been able to fix the issue with normal map being "broken" ??

    Also "true color" setting is no longer available in newer versions of Unity (i'm using 2018.1.9f1 with Unity Plus and mac, build target is set for android)
     
  15. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
  16. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Ehm, I must admit I've completely forgotten about this, I am simply copying the raw uma texture, so I must have assumed this was mostly a uma issue somehow. But I know uma works for android so it must be a power tools issue.

    Uma 2.8rc1 has just been released with a lot of cool stuff including something I needed to add blendshape support to power tools. I'll make sure to play with android and get this fixed so it can be added to the upcoming power tools release.

    On that note uma 2.8 also includes some timeline magics and such will be bumping the requirements to 2017.1 so I expect to do the same for the next version of the power tools. If this is a huge problem for anyone please speak up.
     
    twobob and Mark_01 like this.
  17. Dioinecail

    Dioinecail

    Joined:
    Jun 1, 2017
    Posts:
    16
    I've tried out different compression format and even the uncompressed RGBA 32 bit but i think it had no effects

    Well, maybe it's some kind of thing about the "DXT nm" format for the normal map? I can't even see the normal map texture outside of unity (photo viewer for example) Maybe it is processed differently for different platforms.

    Since you copy the raw uma texture, is there a way to copy uma texture but process it into a platform specific format?
    Android uses "Linear nm" while pc/mac use "Linear DXTnm", i suppose there is some kind of solution that lies inside of those.


    EDIT: Linear is added as a Linear color space, so it is "DXTnm" and "nm" in Gamma
     
    Last edited: Oct 4, 2018
  18. Dioinecail

    Dioinecail

    Joined:
    Jun 1, 2017
    Posts:
    16
    Actually texture has a little bit of difference in color but they are almost identical.

    but what bugs me is this




    It applies incorrectly to the mesh....or just weird, i can't really tell, my knowledge of normal mapping is not enough atm
     
  19. Dioinecail

    Dioinecail

    Joined:
    Jun 1, 2017
    Posts:
    16
    As i look through the code of character prefab saving, it seems that you do no changes to mesh, but only process normal map pixels, i suppose that you do it correctly, since pc/mac versions have no side effects of prefab generation process.

    I really have no idea what may be the cause of such weird lighting effect...
     
  20. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,676
    @Dioinecail - Have you tried adjusting shadow distance while you are watching your scene? That could be the cause of blocky shadows under the chin.

    As for the body, it looks like maybe there are some strange bone rotations ...? The shoulders, at least, look odd to me.

    As for the normal map.... it does not look normal. ;)
     
  21. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    That is very far from identical and most likely the source of your issues. Please note that this should have nothing to do with the compression. A color shift like this could be that we're getting a linear<->gamma conversion, or that android store their normals in a way that makes my "clean up" actually corrupt it. Normalmaps on disk use r,g,b normalmaps at runtime usually only use r,a that's why I have a bunch of math to clean it up.
     
  22. twobob

    twobob

    Joined:
    Jun 28, 2014
    Posts:
    2,058
    I'll stick with the old version since I am wedded to 5.6.6 for a while. But I will certainly give the new version a run too. thanks.
     
  23. Dioinecail

    Dioinecail

    Joined:
    Jun 1, 2017
    Posts:
    16
    Well, it looks fairly similar in terms of color, which i suppose represent the normals. I don't get why certain parts of mesh get darkened...

    Well, i wonder if i skip the "clean up", will it fix the android issue
     
  24. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I'm investigating this issue right now, it's easy to reproduce. Due to time constraints I don't expect to be able to release a new version of the power tools the next two weeks, so I will post the fix here. Fixing this should be trivial.

    Obviously as part of my investigation I'm doing exactly that, I need the raw data to see what format unity put the normalmap in before I can determine how to process it (if processing is needed at all)
     
  25. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    You called it!

    PowerToolsRuntime.cs: Line 54
    Code (CSharp):
    1. #if !UNITY_ANDROID
    2.                         if (materialChannel.channelType == UMAMaterial.ChannelType.NormalMap)
    3.                         {
    4.                             TransformNormalMap(tex2D);
    5.                         }
    6. #endif
    I guess unity decided to do away with the hokus pokus.
     
    Last edited: Oct 7, 2018
  26. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I believe all but the timeline changes should work in 5.6, so it should be fairly easy to get it to work.

    So far the change list is Blendshapes and android prefabs. But that might still change. As I mentioned above I simply wont have time for a release the next two weeks. If you (or anyone else) urgently need the blendshape support you can try to pm me and time permitting I'll hook you up with a unity package.
     
  27. Dioinecail

    Dioinecail

    Joined:
    Jun 1, 2017
    Posts:
    16

    So it actually works?

    Our team decided to stick to morph3d until the end of the project but strip the morph scripts, and so the back up plan with UMA prefabs won't be necessary for us for now. But i will surely suggest going for UMA for next projects then, since morph3d team abandoned the development of their asset a long time ago and do not seem to return
     
  28. Dioinecail

    Dioinecail

    Joined:
    Jun 1, 2017
    Posts:
    16

    I've just checked it, and it does work! Thank you for taking your time to look into the issue.
    We were forced to use the UMA in the current project and so i decided to import UMA and try out the android definition exclude, only to happily see a neatly saved character prefab! :)

    So if anyone is having a problem with UMA Power Tools android prefab generation / saving, this is the solution, just put the #if !UNITY_ANDROID and #endif before and after the if statement that UnLogic mentions above. I hope that this will be enough for google search to point out to this thread and page
     
    UnLogick likes this.
  29. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437
    Hello,

    I am looking at purchasing your UMA Power Tools 2 asset, but I had a question. I want to get it for the "Skeleton Reduction" feature for performance, as I am trying to put about 100-150 UMA characters on screen at once. However, I was wondering if it can bake the skeleton at runtime or not when an UMA character is first generated. I am "creating" UMA characters during runtime as they are spawned into the scene (i.e. the DNA is randomized so I get a random UMA character look etc....).

    I'd like to not have to create a prefab for each character combination of wardrobes, dna, skin color, etc..... so if the Skeleton Reduction could potentially work during runtime, that would be ideal.

    Also, about how many bones does the general UMA character have do you know? And about how many bones can the Skeleton Reduction reduce it down to?

    Thanks for any info.
     
  30. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    I can't remember the numbers from the top of my head, but a regular uma has more than a hundred bones, the default bone baking setup is to only keep the mecanim bones, in which case I believe you're down to something like 54.

    Since you're creating the characters runtime you should definitely NOT use the prefab option. Bone baking works just fine at runtime and the creation performance hit is less than 5%. Using powertools bone baking together with atlas resolution scale option is enough to have hundreds of characters on my old pc, if you actually add lod slots then I believe I heard someone had made a test with a thousand that ran just fine.

    Do keep in mind that blendshape support will only land with the uma 2.8 release (I have it working with latest develop) and the other uma 2.7+ features will be added if/when I get more time.
     
    twobob and Mark_01 like this.
  31. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437

    That sounds great, I think I'll be picking it up then. Cutting the number of bones down by even 20 or 30 bones per skeleton would be excellent.

    I do have a follow up question though. Is it possible, then, to somehow "optimize" the UMA skeletons (like the option in the mecanim Unity rig settings where you can check the "optimize" setting)? It's ok if I can't, but was just wondering if that might be an option somehow.

    You send the blendshapes don't work currently, does that mean the "expressions script" won't work right now (things like blinking etc.... controlled by the expression player script)? I'm new to blendshapes, so I think that's what you're talking about correct? I just need my characters to use the "blinking" feature, but I can probably wait till UMA 2.8 for that.

    Thanks for your reply :)
     
  32. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437
    Hi Unlogick,

    I picked up the Power Tools asset. I was glad to see the bone baking was so easy to use, which is great :)

    However, I noticed that the skinning quality is always set to 4 bones. I'd like to set it to 2 bones. How can I do this? Thank you.
     
  33. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Apologies for the late reply.

    Setting this up through code is trivial, however it's not something uma or the power tools offers out of the box. Essentially all you want to do is run through the renderer(s) after each character update and set the skinning quality to 2 bones. Using this feature in conjunction with power tools bone baking should yield superior results compared to uma vanilla. Less bones also means fewer bone weights per vertex.

    To avoid artifacts I recommend only switching to two bones when at least one lod group away from the camera.
     
  34. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,269
    No Power Tools sale? :(
     
  35. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    In general I don't bother with sales (or marketing), this is a hobby of mine.

    On top Power Tools doesn't support all the latest uma features, still waiting on the next uma release to support blendshapes and there was another feature that isn't in there too. Currently I'm swamped by my day job and real life, so I've given up on promising when a particular feature will land. I am maintaining it in it's current state and once in a while I'm adding support for a new uma feature. But it's lagging behind so putting it up on sale would be a sure way to get a ton of angry customers.
     
    SickaGames1 likes this.
  36. SickaGames1

    SickaGames1

    Joined:
    Jan 15, 2018
    Posts:
    1,269
    I just want to use it to easily create prefabs for my game. I will still end up buying it. How is it your other tool works?
     
  37. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    The fbx exporter is capable of exporting a skinned mesh as an fbx model. This is useful if you want to adjust the uma sliders and then bring the character into a sculpting tool like zbrush to add finishing touches. If you're pro and want to go all the way you can then apply the uma A pose to the new sculpt and export it as an fbx to bring it into unity and make it into a slot.

    There are other fbx exporters, even free ones, but none that offer support of characters, models, terrains and textures the same way my fbx exporter does.
     
  38. Velo222

    Velo222

    Joined:
    Apr 29, 2012
    Posts:
    1,437
    Hey UnLogick,

    Thanks for the reply. I got the 2 bone quality skinning working, so no problem.

    Do you know if there is an ETA on when the next UMA version might come out? I'm really looking forward to getting the UMA expressions working in my game (especially "blinking"), and working with your tool. I know it's not up to you really, so I was just wondering if you might have heard when the next version might land?

    Thanks, and your tool has been great for me so far. I'm loving the performance gains from it.
     
    UnLogick likes this.
  39. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Glad to hear it, since this is a native unity toggle it's been left in the "too simple" to fix, go blame open source... if it's not sexy nobody will do it. :)

    Just go grab it directly from git. I don't think there are any known major bugs in there, there is some slow ping pong back and forth on the last testing and sign off.

    Glad to hear it, I did pour quite a lot of effort into those optimizations. With the new api available from Unity I'd love to find time to go back and optimize a bit more, get rid of the last bits of avoidable garbage and stuff, but I think my time would probably be better spent elsewhere.
     
    Velo222 likes this.
  40. Bantichai

    Bantichai

    Joined:
    Nov 6, 2016
    Posts:
    138
    Hi @UnLogick

    I just wanted to confirm, has my issue been fixed in the upcoming update? It was the UV2 issue, I'll post the full stack again:

    Exception in UMAGeneratorBuiltin.OnDirtyUpdate: System.ArgumentException: length
    at System.Array.Copy (System.Array sourceArray, Int32 sourceIndex, System.Array destinationArray, Int32 destinationIndex, Int32 length) [0x000ab] in /Users/builduser/buildslave/mono/build/mcs/class/corlib/System/Array.cs:971
    at UMA.PowerTools.SkinnedMeshCombinerRetargeting.CombineMeshes (UMA.PowerTools.MeshBuilder target, .CombineInstance[] sources, UnityEngine.Matrix4x4[] inverseTargetBoneMatrixes) [0x001d4] in D:\Project Cataylst - AAA\Assets\UMA\Extensions\UMAPowerTools\Scripts\SkinnedMeshCombinerRetargeting.cs:90
    at UMA.PowerTools.UMABoneBakingMeshCombiner.UpdateUMAMesh (Boolean updatedAtlas, UMA.UMAData umaData, Int32 atlasResolution) [0x0010d] in D:\Project Cataylst - AAA\Assets\UMA\Extensions\UMAPowerTools\Scripts\UMABoneBakingMeshCombiner.cs:133
    at UMA.UMAGeneratorBuiltin.UpdateUMAMesh (Boolean updatedAtlas) [0x00026] in D:\Project Cataylst - AAA\Assets\UMA\Core\StandardAssets\UMA\Scripts\UMAGeneratorBuiltin.cs:282
    at UMA.UMAGeneratorBuiltin.HandleDirtyUpdate (UMA.UMAData data) [0x0016b] in D:\Project Cataylst - AAA\Assets\UMA\Core\StandardAssets\UMA\Scripts\UMAGeneratorBuiltin.cs:226
    at UMA.UMAGeneratorBuiltin.OnDirtyUpdate () [0x0005c] in D:\Project Cataylst - AAA\Assets\UMA\Core\StandardAssets\UMA\Scripts\UMAGeneratorBuiltin.cs:265
    UnityEngine.Debug:LogWarning(Object)
    UMA.UMAGeneratorBuiltin:OnDirtyUpdate() (at D:/Project Cataylst - AAA/Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:274)
    UMA.UMAGeneratorBuiltin:Work() (at D:/Project Cataylst - AAA/Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:132)
    UMA.UMAGeneratorBuiltin:Update() (at D:/Project Cataylst - AAA/Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:97)

    Cheers,
    Kevin.
     
  41. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    347
    Hello,

    I wanted to ask if power tools 2 are still in development and if they work with the latest 2.8 UMA (github). The main reason I need this tool is for easy prefab export. Is it another way to export to prefabs that I'm missing? thank you.
     
  42. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Power Tools 2 has been lagging behind uma for a while now. Meanwhile I'm too busy irl to catch up. I do have an unreleased beta version that works with (github) blendshapes, but there are several other "new" features that I have not implemented yet.

    So it comes down to which uma features are you using? And what do you need the prefabs for?
     
    Mark_01 and Teila like this.
  43. SSL7

    SSL7

    Joined:
    Mar 23, 2016
    Posts:
    347
    ok thanks for the answer! will look back in a couple of months I guess :)
     
  44. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Looking forward to the update! ;)
     
  45. Bantichai

    Bantichai

    Joined:
    Nov 6, 2016
    Posts:
    138
    Hey @UnLogick with 2.8 now released, do you plan to release an update anytime soon? Also again, can I get a confirmation that my issue has been fixed in this upcoming update? I posted it a bit further up the page. I'd really appreciate if you could reply to this so I can actually get a confirmation.
     
  46. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Hi Bantichai

    Sorry I didn't get back to you immediately. I wanted to double check the code before I replied and then it just became another item in my to-do swamp.

    I still haven't double checked but if I recall your problem was a missing array check, one I even posted a code fix for in this thread, but I'll make sure to add that to uv and any other channel where it might be missing when I sit down, hopefully this weekend but definitely "soon(tm)" and make the new release.
     
    Bantichai and Mark_01 like this.
  47. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Of course this means that there will be a power tools update!

    However cloth support is still missing. There might be other new features that would be ignored, but both blendshapes and the new dna system is supported!
     
    Bantichai, Mark_01 and Teila like this.
  48. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Yay!!!
     
  49. Bantichai

    Bantichai

    Joined:
    Nov 6, 2016
    Posts:
    138
    Hi @UnLogick thanks a lot for the reply, unfortunately coding isn't my strong suit so I honestly wouldn't know where to start with the code fix. I'd really appreciate it if you can get the UV fix in this update, it would mean a lot to me to finally lock this down :)

    I don't mind that other features are missing, I just want to be able to bake away the unnecessary bones on my prefabs and the UV issue has been holding me back. So yeah, please put this in the next update, looking forward to it!
     
  50. Admin_Friend_Factory

    Admin_Friend_Factory

    Joined:
    Oct 23, 2018
    Posts:
    41
    Hi!

    I am getting the following error when importing UMA Power Tools 2 to UMA 2.8 project? Please advice if there is a resolution to this error? I have not done anything else than imported the package to the UMA 2 Assetstore package. Thanks
     

    Attached Files: