Search Unity

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:
    6,208
    Im away from the computer right now. But I believe you need to extract the tpose and put it on the race.
     
  2. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    343
    Oh, OK thanks for your help.
    So I would extract the T-Pose from the model the animations came with right?
    That makes sense.
    Is there any documentation on how to do that?
     
  3. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Not that I'm aware of, but the function is a menu item on the UMA menu. I haven't done it before, just remembering some earlier replies.
     
  4. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    343
    Hmm, when I select extract T-Pose from the menu nothing "pops up".
    I guess I'm expecting some type of window.
     
  5. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Some of the functions require you to select something in the project view. Sorry - can't look at the code right now to verify.
     
  6. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    343
    NP Thanks again I will try a few things and post my findings.
     
  7. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    You need to go in and edit the avatar of the base uma to be able to extract the t-pose. When you are in this special edit mode, the extract t-pose menu item will work. But I think it will just silently make the file somewhere and I can't remember the location
     
  8. Sinnerboy89

    Sinnerboy89

    Joined:
    Jan 25, 2017
    Posts:
    11
    Hi everyone,
    Can I clarify if there's any paticular reason Fernando Ribeiro's tutorials

    aren't linked on the Wiki? Are they outdated/irrelevant now?
     
  9. Fluffy-Tails

    Fluffy-Tails

    Joined:
    Jun 28, 2009
    Posts:
    120
    Is it possible to use procedural textures using Substance Designer in UMA overlays?

    I am not sure if it has been asked about but my game is going to use procedural textures.
     
  10. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    @Sinnerboy89 Yes, the simple reason is that they are super old and completely outdated. They are from the old UMA 1 which is not compatible with the newer UMA 2.
     
  11. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    Because of the way Unity retargets the animations you're probably going to have to use IK on the hands to get them to stay on the polearm (or any other animation that requires both hands really, like a rifle, etc.) This isn't really an UMA thing but would be the case any time you're retargeting an animation like that.
     
    hopeful and TeagansDad like this.
  12. Sinnerboy89

    Sinnerboy89

    Joined:
    Jan 25, 2017
    Posts:
    11
    These standard phonemes, is there any documentation or general advice on how to access these within the expression player?
     
  13. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    There's a video from SecretAnorak that shows off the expression player:



    But it's marked as being out of date. The Phonemes are in the Example/Expressions/Phonemes folder, and there is a sample scene under Example/Expressions/Scenes. I haven't used this myself. I think it was Eli who added the expression player, he may have more information.

    UMA also works with Lipsync Pro:

    https://www.assetstore.unity3d.com/en/#!/content/32117
     
  14. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    I can recommend Lip Sync Pro if you are looking for lip sync with dialog, it also makes it really easy to add expressions into the dialog as well.
     
  15. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    That video is actually pretty up to date as this stuff hasn't changed much. I know SecretAnarok is back to playing with the expressions this week, so maybe he'll have some more stuff soon.

    The expression player is designed to work in the same way as Mecanim. There is a set of facial "muscles" that work in coordination to actually build the facial expressions. These virtual muscles are based on actual physical facial movements and correspond to the data that can be obtained via facial capture systems. The example phonemes are actually just tiny animation clips that adjust multiple muscle channels at once to form the phoneme / viseme. If anyone has any specific questions about the design or functionality I'm happy to try and answer them.
     
    hopeful likes this.
  16. Sinnerboy89

    Sinnerboy89

    Joined:
    Jan 25, 2017
    Posts:
    11
    Hi ecurtz,
    I'm having trouble testing the example phoneme animation clips - ideally I'd like to see how each changes the face within the Locomotion animator, which is currently the controller attached to my UMA. Naive logic would suggest adding a new layer in the animator and placing a phoneme animation clip as the default state in this new layer would make UMA 'idle' from the base layer as well as 'phoneme' from the new layer. However the UMA's face does not change from the default. The values of jaw, eyes, mouth etc. seem to be ignored in the phoneme animation clips...
    Any advice would be greatly appreciated, I imagine this is a basic animation issue!
     
  17. Sinnerboy89

    Sinnerboy89

    Joined:
    Jan 25, 2017
    Posts:
    11
    Update: I can see how the phoneme clips manipulate the face now - albeit with a crouching tiger hidden dragon genie pose...the issue now is ideally I'd like to combine the viseme animations with the idling animation (which again, is likely a basic Unity animation query, but within the context of UMA).
     
  18. SecretAnorak

    SecretAnorak

    Joined:
    Mar 19, 2014
    Posts:
    177
    I'll second @virror's recommendation. LipSync Pro is a great solution when combined with @ecurtz's expression system, Have a look at one of my tests using a wrinkle shader:



    PS: This is working over the top of an idle animation.
     
  19. Sinnerboy89

    Sinnerboy89

    Joined:
    Jan 25, 2017
    Posts:
    11
    I'd prefer not to use any other 3rd-party tools - the building blocks are there and I'd like to put them together myself. LipSync Pro does look good nonetheless!
     
  20. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    Looks like they broke the <bleep>ing animation layers again, I can't get it to run both either.

    EDIT: Which version of UMA are you using? The Serialized Expressions scene is still working, so maybe something got broken in the example scenes, I haven't been very involved in the recent development.
     
    Last edited: Jan 30, 2017
  21. AGregori

    AGregori

    Joined:
    Dec 11, 2014
    Posts:
    527
    What about SALSA?
    I own that one, but it seems to be abandoned.
     
  22. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Salsa also has support, but imo the quality is not as good. Pro with salsa is that is has realtime support though, so depends on your needs.
     
    AGregori likes this.
  23. Sinnerboy89

    Sinnerboy89

    Joined:
    Jan 25, 2017
    Posts:
    11
    A version from a week ago it turns out, as when I tried to run the Serialized Expressions scene, it threw texture errors. Using the latest from Unity53 branch I can see it is possible to have visemes running with idling animations (using the head mask included). Just need to reverse-engineer things a bit so my scene can do the same!

    Thanks for the help so far.
     
  24. bob_the_pr_bot

    bob_the_pr_bot

    Joined:
    Aug 5, 2016
    Posts:
    15
    Hello, I have a question about transparency. I'm trying to do hair (currently using the hair pack from the store) using alpha blending and running into the problem where the renderer doesn't know how to draw the polygons in a single mesh in back to front order, so the back ones get rendered on top. As shown:



    Normally I would solve this problem by rendering the hair in two passes:

    - 1st pass: Z-only. Draw the hair mesh with a shader that doesn't actually draw anything, but writes to the z-buffer.
    - 2nd pass: Draw the hair mesh to the colour buffer, with z testing set to less than or equal.

    But how do I do that in UMA? Is there a nice way? Have people done it before?

    (The other solution of course would be to use alpha-cutoff instead of alpha-blending for the transparency. But I feel that looks uglier.)
     
  25. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Probably best to use a double-sided soft shader - We're including one in the new UMA, but until then, here's one from another thread:


    Code (CSharp):
    1. Shader "Custom/Standard Two Sided Soft Blend" {
    2.     Properties {
    3.         _Color ("Color", Color) = (1,1,1,1)
    4.         [NoScaleOffset] _MainTex ("Albedo (RGB)", 2D) = "white" {}
    5.         [Toggle] _UseMetallicMap ("Use Metallic Map", Float) = 0.0
    6.         [NoScaleOffset] _MetallicGlossMap("Metallic", 2D) = "black" {}
    7.         [Gamma] _Metallic ("Metallic", Range(0,1)) = 0.0
    8.         _Glossiness ("Smoothness", Range(0,1)) = 0.5
    9.         _BumpScale("Scale", Float) = 1.0
    10.         [NoScaleOffset] _BumpMap("Normal Map", 2D) = "bump" {}
    11.         _Cutoff("Alpha Cutoff", Range(0.01,1)) = 0.5
    12.     }
    13.     SubShader {
    14.         Tags { "Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout" }
    15.         Blend SrcAlpha OneMinusSrcAlpha
    16.         LOD 200
    17.         ZWrite Off
    18.         Cull Off
    19.         Pass {
    20.             ColorMask 0
    21.             ZWrite On
    22.             CGPROGRAM
    23.             #pragma vertex vert
    24.             #pragma fragment frag
    25.        
    26.             #include "UnityCG.cginc"
    27.             struct v2f {
    28.                 float4 vertex : SV_POSITION;
    29.                 float2 texcoord : TEXCOORD0;
    30.             };
    31.             sampler2D _MainTex;
    32.             fixed _Cutoff;
    33.             v2f vert (appdata_img v)
    34.             {
    35.                 v2f o;
    36.                 o.vertex = mul(UNITY_MATRIX_MVP, v.vertex);
    37.                 o.texcoord = v.texcoord;
    38.                 return o;
    39.             }
    40.             fixed4 frag (v2f i) : SV_Target
    41.             {
    42.                 fixed4 col = tex2D(_MainTex, i.texcoord);
    43.                 clip(col.a - _Cutoff);
    44.                 return 0;
    45.             }
    46.             ENDCG
    47.         }
    48.         Pass
    49.         {
    50.             Tags {"LightMode"="ShadowCaster"}
    51.             ZWrite On
    52.             Cull Off
    53.             CGPROGRAM
    54.             #pragma vertex vert
    55.             #pragma fragment frag
    56.             #pragma multi_compile_shadowcaster
    57.             #include "UnityCG.cginc"
    58.             struct v2f {
    59.                 V2F_SHADOW_CASTER;
    60.                 float2 texcoord : TEXCOORD1;
    61.             };
    62.             v2f vert(appdata_base v)
    63.             {
    64.                 v2f o;
    65.                 TRANSFER_SHADOW_CASTER_NORMALOFFSET(o)
    66.                 o.texcoord = v.texcoord;
    67.                 return o;
    68.             }
    69.        
    70.             sampler2D _MainTex;
    71.             fixed _Cutoff;
    72.             float4 frag(v2f i) : SV_Target
    73.             {
    74.                 fixed4 col = tex2D(_MainTex, i.texcoord);
    75.                 clip(col.a - _Cutoff);
    76.                 SHADOW_CASTER_FRAGMENT(i)
    77.             }
    78.             ENDCG
    79.         }
    80.    
    81.         CGPROGRAM
    82.         #pragma surface surf Standard fullforwardshadows alpha:fade nolightmap
    83.         #pragma shader_feature _USEMETALLICMAP_ON
    84.         #pragma target 3.0
    85.         sampler2D _MainTex;
    86.         sampler2D _MetallicGlossMap;
    87.         sampler2D _BumpMap;
    88.         struct Input {
    89.             float2 uv_MainTex;
    90.             fixed facing : VFACE;
    91.         };
    92.         half _Glossiness;
    93.         half _Metallic;
    94.         fixed4 _Color;
    95.         half _BumpScale;
    96.         fixed _Cutoff;
    97.         void surf (Input IN, inout SurfaceOutputStandard o) {
    98.             // Albedo comes from a texture tinted by color
    99.             fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
    100.             o.Albedo = c.rgb;
    101.             #ifdef _USEMETALLICMAP_ON
    102.             fixed4 mg = tex2D(_MetallicGlossMap, IN.uv_MainTex);
    103.             o.Metallic = mg.r;
    104.             o.Smoothness = mg.a;
    105.             #else
    106.             o.Metallic = _Metallic;
    107.             o.Smoothness = _Glossiness;
    108.             #endif
    109.             // Rescales the alpha on the blended pass
    110.             o.Alpha = saturate(c.a / _Cutoff);
    111.             o.Normal = UnpackScaleNormal(tex2D(_BumpMap, IN.uv_MainTex), _BumpScale);
    112.             if (IN.facing < 0.5)
    113.                 o.Normal *= -1.0;
    114.         }
    115.         ENDCG
    116.     }
    117.     FallBack "Diffuse"
    118. }
    119.  
    This is from this thread:

    https://forum.unity3d.com/threads/s...-sided-is-very-shiny-on-the-underside.393068/


     
    hopeful likes this.
  26. bob_the_pr_bot

    bob_the_pr_bot

    Joined:
    Aug 5, 2016
    Posts:
    15
    Thanks, that was helpful :)
     
  27. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    We're going to include the lux shaders in the new version as well, to make them much more "hair like". There's a problem with them and 5.6 though, so hopefully we can work around that.
     
  28. TRyan

    TRyan

    Joined:
    Feb 2, 2017
    Posts:
    4
    We are going to create some animations in Max for the UMA avatars. (I am a producer, not an animator, so forgive me if this is a remedial question, and walk me back a step if what I'm describing is the wrong approach.) We have the FBX with the rigged bones from the Fernando pack, no Max source files. The animator would need to import the FBX at centimeters into Max and setup a control rig for it, without replacing the bones. They would then animate and re-export rig and animation to FBX. Assuming what I said makes sense, what are the pitfalls and what steps am I missing? Otherwise, how would you do it?
     
  29. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If it were me, I'd import the max files and use those:

    https://github.com/huika/UMA-Extrafiles/tree/master/ContentPack_1.1.0.1/MAX
     
    hopeful likes this.
  30. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Sorry if it's hiding in the previous 94 pages, but is there a brief summary of what exactly the new "Dynamic Character System" is and why it's better than the old version?
     
  31. TRyan

    TRyan

    Joined:
    Feb 2, 2017
    Posts:
    4
  32. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    The advantage is that everything is already imported correctly. As for animation and control rigs, I'll have to leave that to a modeller to respond to.
     
  33. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Dynamic Character System improves on the old Character System in the following ways:
    • It's now dynamic - ie, you can have different wardrobe slots per race.
    • There is now a wardrobe collection (so you can for example, define full sets of gear and add them all at once)
    • All the new stuff can be loaded from resources and asset bundles. This includes races, dna, etc.
    • You now define a "base recipe" per race. This also defines the base UMA slots.
    • The editors are improved - they're aware of which base slots can be hidden, and you can select multiple using the standard bitflag editor.
    • You now have access to all available wardrobe recipes, setable colors straight from the avatar
    • Added a DNASetter to allow you quickly extract and set DNA
    Several other things, it's a good upgrade from the old Character System.
     
  34. makeshiftwings

    makeshiftwings

    Joined:
    May 28, 2011
    Posts:
    3,350
    Thanks! Just recently upgraded and trying to wrap my head around it; this helps a lot. :)
     
  35. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Just to clarify, the "Dynamic Character System" is built on top of the "old" system, so its not a replacement, but rather an abstraction layer on top to simplify for the user so more can be done from the editor instead of from code. And it also have some new parts like asset bundle support as Jaimi mentioned.
     
    makeshiftwings likes this.
  36. treshold

    treshold

    Joined:
    Nov 9, 2013
    Posts:
    225
    I'm converting some assets first time to UMA 2 with PBR materials and I have this problem that material looks too glossy (whole surface is reflecting light evenly) no matter if spec map is totally black. Im using "UMA diffuse_normal_metallic"-shader and if i compare material to unity 5 shader with same diffuse, normal and spec maps, results are very different as you can see on the video below which illustrates my problem_

     
  37. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    There's two things to look for here:

    1. Are the normal maps defined as type "normal map"
    2. On the third color of the overlay channel, are both colors completely black? The second color of the third channel defines how Metallic (RGB) and how Glossy (A) that overlay is.

     
    treshold likes this.
  38. treshold

    treshold

    Joined:
    Nov 9, 2013
    Posts:
    225
    Thanks:
    1. normal map is defined as normal in import options.
    2. yeah, this is very weird. I went to experiment with UMA_Mat_Diffuse_Normal_Metallic-material and lowered value Normal map from 1 to 0.65 so now the surface isnt that reflective.
     
  39. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    are you sure you put your textures in the right order on the overlay? it goes 0: albedo, 1: normal, 2: metallic
     
  40. Leesh0923

    Leesh0923

    Joined:
    Dec 5, 2016
    Posts:
    5

    How to use it?
    When I used this function but it did not working :(
     
  41. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Check out Secret Anorak's videos on his YouTube channel of the same name. :) Some of these are old, but they give you an idea of how the system works.
     
  42. malkere

    malkere

    Joined:
    Dec 6, 2013
    Posts:
    1,212
    Anything I can do to get overlays to work in 5.5? Are most UMA users sticking with older versions till this gets sorted out?
     
  43. Gryphonic

    Gryphonic

    Joined:
    Nov 20, 2016
    Posts:
    1
    Hello! I just have a question to ask if I may;
    Am I able to create my own 3D models and import it into this creator, so I can use the base idea of the fully customizable features but also with my own models? Sorry if this is a silly question, I just wanted to know if it was possible!
    Thank you!
     
  44. Leesh0923

    Leesh0923

    Joined:
    Dec 5, 2016
    Posts:
    5
    I watched video but i didn't have an idea and It is still not working :(
    plz somebody helpme!!:confused::confused:
     

    Attached Files:

  45. Leesh0923

    Leesh0923

    Joined:
    Dec 5, 2016
    Posts:
    5
    ++
    Using cutout overlay cloth or body?
    I don't know what I did wrong :(
    cutout_3.png
     
  46. treshold

    treshold

    Joined:
    Nov 9, 2013
    Posts:
    225
    I couldnt find original post which Leesh0923 quoted but is the cutout shader working on 53?
    EDIT: okay there is already cut out shader BUT do i need to make every material out of cut out since slot needs to have same material as overlay

    yeah i double checked them, that those are in correct slots. i will check out the original normal shader if there is some import glitch etc.
     
    Last edited: Feb 6, 2017
  47. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    You need to hide the slots. UMA works because you hide the underlying slots. I highly suggest you wait until the next UMA update. It has changed and is so much easier now. It is going to be difficult to find others to walk you through this until the new update as the all volunteer team is trying hard to get this out asap.
     
  48. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Guys, if you can wait until tomorrow, I will do a Twitch and show you how to set up a wardrobe and base recipe for UMA with the new system. You can't download it yet, but at least you will have some information. I can't do it today due to our Unity User group meeting but tomorrow I will post here to let you know the time. I live in the US EST time so best for me is afternoon. I will make a video and have that available to you.

    I cannot show you how to get it into your game though since that is a totally different topic. :) But I am sure Secret Anorak will tackle that soon.
     
    malkere, runningbird and TeagansDad like this.
  49. Leesh0923

    Leesh0923

    Joined:
    Dec 5, 2016
    Posts:
    5

    Thank you for video in advance. I can't wait. :)
     
  50. zSkeeter135

    zSkeeter135

    Joined:
    Apr 12, 2015
    Posts:
    19
    Is there going to be an update for 5.5.x? I really like the system and would rather not pay for a different solution.