Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    I'm not using default textures, and they do not contain any seams. It's definitely caused by normals, since seam is more visible under different angles, rather than constant.

    Moreover, here's screenshot of normals from Maya, here you can definitely see that normals on separated parts are facing wrong directions, due to how normals are redesitributed:
    Seam3.PNG

    Here's normals from seamless mesh:
    NoSeam.PNG

    As you can see they're more or less correct.

    My point is - I don't know why seam stitching doesn't work. That's why I was interested to know how the algorithm works.
    I guess I'll have to figure out how to properly align normals on separate parts in Maya.
     
    Last edited: Mar 11, 2018
  2. cwmanley

    cwmanley

    Joined:
    Aug 8, 2013
    Posts:
    205
    It should work like your say, by supplying the seams mesh to the slot builder.

    Which base mesh are you using?
     
  3. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    It's a custom made one, I think it's derived from Female Base 2.0.
     
    Last edited: Mar 11, 2018
  4. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    Ok, so after averaging normals on head / torso seems I was able to get better results. If I don't specify seamless mesh that is. There's still a seam, but atleast it's less visible up close:

    upload_2018-3-11_17-7-3.png

    Here's a screenshot from Maya, just for comparison (taken on same separated parts):
    upload_2018-3-11_17-8-15.png

    With normals:
    upload_2018-3-11_17-8-54.png

    I don't really know how to fix this. I guess best bet would be to place a piece of clothes on top of it. Or maybe like a collar or smth.

    Too bad there's no "draw normal" feature in Unity, that would make debugging such cases much easier.
     
    Last edited: Mar 11, 2018
  5. cwmanley

    cwmanley

    Joined:
    Aug 8, 2013
    Posts:
    205
    I am not sure what is going on with the seams mesh.

    My current workflow is to define the slots as sub-meshes in 3d app, like the the fbx bundled with uma.
    Then I split them by sub-mesh in Unity before creating a slot or let the SlotBuilder create the slots for each sub-mesh.

    There is the Debug Normal and Tangent shaders that come with uma .
     
  6. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    The algorithm looks for vertices in the slot mesh and the seam mesh at the same location and takes the normal from the seam mesh.
    Are you adding the seam mesh when you build both slots (head and torso)?
    I'm guessing for some reason the seam removal is not being executed at all. Can you try adding this debug line at around line 133 in "UMASlotProcessingUtil.cs" and then see if it's getting executed when building your slots with a seam mesh?
    Code (CSharp):
    1.  
    2.             if (prefabMesh != null)
    3.             {
    4.                 Debug.Log(string.Format("Performing seam removal for {0}", prefabMesh.name));
    5.                 resultingMesh = SeamRemoval.PerformSeamRemoval(resultingSkinnedMesh, prefabMesh, 0.0001f);
    6.                 resultingSkinnedMesh.sharedMesh = resultingMesh;
    7.                 SkinnedMeshAligner.AlignBindPose(prefabMesh, resultingSkinnedMesh);
    8.             }
    9.  
     
    cwmanley likes this.
  7. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    Your error is at AssetDatabase.CreateAsset, so there is something happening with serializing your data to an asset.

    So, to double check, around 20 shape keys, not 200, right? 20 should be fine, 200 will probably cause problems. In unity, every blendshape and per frame has 3 arrays (delta vertex, normal, tangent) the size of your vertices list. So it can add up fast.

    Can you try adding 1 shape key back and seeing if it works? If it doesn't work, then it's most likely an issue of how the shape key is being set up and/or imported. Be careful that you're not putting lots of frames per blendshape. Could you post an image of your fbx in unity with the blendshapes expanded? Or better yet, would you be able to send me the fbx so I can take a look at the issue?
     
  8. XthemeCore

    XthemeCore

    Joined:
    Jul 23, 2013
    Posts:
    23
    Actually, there are totally 82 blendshapes. All blendshapes use for expression purpose(Most blendshapes are used for facial expression), not for character creation.

    Edited: I try to create a slots with 9 blendShapes. It's working even it took a time to prcess.
    I will continue test until find its limit.
     
    Last edited: Mar 12, 2018
  9. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    If it's position based - then I don't know why it's not working properly.
    I've double checked even scale factor of models.

    I've placed debug at that line, and it does execute. But it's the same result as I described above.
    I'm supplying seamless mesh in both cases for head and torso.

    Here's screenshots with normal & tangent shader applied on the renderer that is built with supplying seamless mesh:
    upload_2018-3-12_14-43-14.png

    upload_2018-3-12_14-43-40.png
     
    Last edited: Mar 12, 2018
  10. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    @cwmanley has brought to my attention the issues with large amounts of blendshapes and improvements are on our to-do list. Like he suggested, if you separate parts of your model, then individually those slots would be smaller and easier to work with. So in your case, if you separated out your head, then the amount of data you're working with will be much smaller. I'm not sure how easy it will be to separate and preserve the blendshapes in your modeling program though.

    I can probably make some improvements to the slot builder so that it doesn't try to serialize everything at once. I'll let you know after I do, so you can try it out.

    Would you be willing to send me your fbx files and I'll take a look at the issue?
     
    cwmanley likes this.
  11. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    I've pm'ed you a link to an archive.
     
  12. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Did you scale both meshes to the same size in the import settings?
     
  13. Gravijta

    Gravijta

    Joined:
    Jan 15, 2015
    Posts:
    3
    I am a bit new to UMA so sorry if this is a noob question. I have an old fbx male character with several sets of armor attached. I can extract each piece with UMA, but am met with errors when trying to apply them to the example male avatar. The old fbx has less bones and each with a different name from the existing UMA character. Do the skeletons need to be exactly the same? If so, can I convert UMA to work with the old skeleton? I have worked through some tutorials and can successfully create slots, overlays and apply them with the provided assets, just not with the old character.
     
  14. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    To be able to add your slots to the old character, you would have to rig them to the same skeleton and fit them to the mesh. The files you need to do that are here:

    https://github.com/umasteeringgroup/content-pack/tree/master/ContentPack_1.1.0.1
     
  15. XthemeCore

    XthemeCore

    Joined:
    Jul 23, 2013
    Posts:
    23
    Thank you very much. I can't wait to try it soon. For FBX file, I will leave you a link here.
    https://mega.nz/#!N8QiUQRT!_P39U42XWYrK4_2mq1QgSPa_eGzu1RkzxMGJvGdnh70

    I generated it using ManuelBastioniLab addon in blender. Then I add some bone(neck and head parts) from UMA Male FBX file to it.
     
  16. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    Yeah, I did checked that (I've even mentioned in the post). They're the same size (both file scale & scale factor wise).
     
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Hopefully Kenamis can figure it out from the models. I've tried this in the past, and it seemed to work OK, but it's been quite some time.
     
  18. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    Yeah, big thanks to @kenamis for helping figuring this one out.

    So the reason why seam stiching wasn't working is due to my duplicated Torso/Chestline piece had a different unskinned mesh rotation than seamless mesh, and head. Where as skinned mesh had same position as seamless / head meshes.

    That's why position of vertices were off, and there weren't simply any vertices for UMA to put normals on.

    It's still weird to me that UMA takes vertices position not from skinned mesh, but rather from unskinned one.
     
    cwmanley, kenamis and boysenberry like this.
  19. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    @VergilUa
    You're welcome.

    Yea, the vertex array is always stored as unskinned, so that's the reason why. I will add to our list to see about having the function calculate the skinned position and compare that instead. It does make sense.

    Soon to be added to the development branch is a console log that says the number of matched vertices when a seam removal is performed. That way it'll be easier to determine which mesh is not matching up.
     
    cwmanley and hopeful like this.
  20. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    Okay, so I've decided to transition to DCS since it has wardrobe recipies.

    I'm using multiscene setup.
    Each time I open inspector on a Dynamic Character Avatar object it retrieves UMAContext that is located in different scene from where is avatar is located.

    This reference fails to serialize, since Unity doesn't support it, so I get a following warning:
    This is harmless, since UMAContext is anyway retrieved, when it's null and when actual initialization happens in runtime.
    I wonder if there's a way to disable it with some cleaver hack?
     
  21. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Did you add the context manually at some point? It should be done at runtime, so it wouldn't serialize the context.
     
  22. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    It's not added, it's persistent in another scene at the time I'm editing different one.

    E.g. hierarchy will look like this

    Global (Scene):
    .|..
    .(GameObjects)
    .|...
    .| -----> UMA_DCS
    ...............|----> UMAContext

    Test (Scene):
    .|...
    .(GameObjects)
    ....
    .|-->DynamicCharacterAvatar

    So when I open inspector on DynamicCharacterAvatar, it assumes that there's already a UMAContext (which is correct), and keeps the reference to another scene (which is not supported).

    This happens in DynamicCharacterAvatarEditor.cs .OnEnable() as far as I understand.

    At runtime Global scene is always loaded first, then Test scene is loaded additively, so it's fine.

    Edit:
    If I don't open inspector on that object, then second time I go to play mode nothing pops up, since ref isn't serialized.

    I've also tried removing reference at .OnDisable() in DynamicCharacterAvatarEditor, and it removes it, but only if I deselect object before getting into playmode.

    Here's what I came up with:
    Code (CSharp):
    1. private void OnDisable() {
    2.   if (!Application.isPlaying) {
    3.       thisDCA = target as DynamicCharacterAvatar;
    4.       thisDCA.context = null;
    5.   }
    6. }
    Alternative would be to create an event handler that does the same thing on playmode change, or simply resets selection but I'm too lazy to do it.

    I guess it's fine, I'll leave it be as it is now.
     
    Last edited: Mar 14, 2018
  23. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    This same issue was reported on github last month. I'll be looking in to it, hopefully soon.
     
  24. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    I wonder, Is there any tutorial on how to animate an UMA DCS character?

    I've understood how to assign controllers, but how do I create custom animation for the rig?
    Do I need to create it in 3D app and then somehow import to UMA?

    I can't figure how to do it. Basicly I'd like to know what workflow looks like.
     
    Last edited: Mar 16, 2018
  25. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    UMA characters are animated using Mecanim. To create animations for it, load up one of the rigged models from the content pack:

    https://github.com/umasteeringgroup/content-pack/tree/master/ContentPack_1.1.0.1/

    And animate in your favorite package ( like Blender ). Then save the animated character, import it into Unity, set it's rig type to Humanoid, and you have your animation that you can add to your Mecanim state tree.
     
    dasouth and xVergilx like this.
  26. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    Ok, I keep asking too many questions in this thread :D
    But here's another one. Is it possible to make hair / mouth / tongue / eyes / eyelashes available in Unity's hierarchy as bones or transforms?
    I'm trying to hide whole head from being rendered by player camera.
    Head is completely hidden when I mark it and it's children with culling mask, but those parts mentioned above are still visible.

    I know you can alter slots in real-time. But before I start messing with slots, just want to know, maybe there's an easier way to do it?
     
    Last edited: Mar 18, 2018
  27. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No, not really. UMA combines everything in the avatar into a single mesh. Different materials get different submeshes, but they're still on the same object. You can rebuild your character without the those pieces by creating a wardrobe item that hides and suppresses all those (we did this earlier on when we created a wardrobe item to hide everything except the hands).
     
    xVergilx likes this.
  28. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    343
    I have a few questions/problems.

    I have been using UMA for a while now but I am using the UMADynamicAvatar.

    I am trying to move to the DynamicCharacterAvatar but having problems.

    I see no way to set the DNA before building the character. Maybe I am missing it but I tried what works on the UMADynamicAvatar and it is not working for the DynamicCharacterAvatar.

    Here is a sample using an overloaded constructor that simply sets the values.

    Code (CSharp):
    1.             currentHumanoidDNA = new UMADnaHumanoid(umaCharacterData.humanoidDNA);
    2.             currentTutorialDNA = new UMADnaTutorial(umaCharacterData.tutorialDNA);
    3.  
    4.             // Set up our Morph references
    5.             umaData.umaRecipe.AddDna(currentHumanoidDNA);
    6.             umaData.umaRecipe.AddDna(currentTutorialDNA);
    So I tried tried doing the following as a test. I can see that the value has been changed within the dna in the inspector.
    But the UMA still visually shows the default.

    Code (CSharp):
    1.    public DynamicCharacterAvatar avatar;
    2.    public Dictionary<string, DnaSetter> dna;
    3.  
    4.    public void Start()
    5.     {
    6.         avatar.CharacterCreated.AddListener(CharacterUpdated);
    7.     }
    8.  
    9.     public void BuildCharacter()
    10.     {        
    11.         if(dna != null)
    12.             dna["headSize"].Set(Random.Range(0.1f, 1));
    13.  
    14.         avatar.BuildCharacter();
    15.         avatar.hide = false;
    16.     }
    17.  
    18.     void CharacterUpdated(UMAData umaData)
    19.     {
    20.         if (initalLoad)
    21.         {
    22.             initalLoad = false;
    23.  
    24.             dna = avatar.GetDNA();
    25.             BuildCharacter();
    26.         }
    27.     }
     
  29. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    What are you wanting to do, in more general terms? Are you wanting to "preset" the character to a certain set of DNA (like for a specific character)?
    Are you wanting to preset the starting DNA for everyone?

    There are several ways to do this with a DCA. You can predefine "characters", save them to strings or files, and preload them into the DCA. You can modify the base race recipe (and create different races if you want). You can load just the DNA off a presaved avatar, etc.


     
  30. LootlabGames

    LootlabGames

    Joined:
    Nov 21, 2014
    Posts:
    343
    I will have the dna data before the UMA is created.
    I then need it to "use" that dna when it is initialized.

    I have wasted a whole day trying to get it to do it, so it doesn't seem to as simple as one would think.

    I would expect some thing like this.

    1) Add DynamicCharacterAvatar component to a gameobject.
    2) Tell it what the Race, DNA, receipes would be.
    3) Build the DynamicCharacterAvatar.

    Any help to get it so something like that works is appreciated.
     
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    A DynamicCharacterAvatar is not setup to work that way. A DynamicCharacterAvatar does not have DNA until it has been built, and the DNA is taken either from the race, or from the saved character.

    The only way I can imagine to do what you want is to generate a string for the character, and replace the DNA in it, and have it load that.

    If you can hold off until the avatar is built, then you can change the dna all you want.

    Edit:

    If you want to go down the preload route - it's actually loading a JSON version of a DCSPackRecipe. You should be able to modify the DNA on that, and generate a JSON string to feed to the loader.
     
    Last edited: Mar 19, 2018
    cwmanley likes this.
  32. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    I didn't actually thought about hide wardrobe recipe. That's a plain better solution, thanks!
    Although for mirrors / other players you would have to somehow display different model.
    But that's not that big of an issue.
     
  33. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Just be aware that you either have to have built the full character one time, or prebuilt the bones using the Bone Builder. Otherwise, you'll get issues when you build the character.
     
    xVergilx likes this.
  34. ArbiterDino

    ArbiterDino

    Joined:
    Dec 18, 2017
    Posts:
    5
    This is a lethal issue of this asset, after u installed UMA, when u open a folder with a huge number of BGM audios, the unity will stack in that folder. I don't know if I have this issue alone, or it's a common issue. However, it seems nobody except me noticed it. Plz check this issue out, it makes UMA unusable in any formal projects.
     
  35. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    hmmm - maybe related to the labels? I recommend to turn them off in preferences if you have issues. Sorry about that, I'll try to figure a better way to implement that.

    Edit: You really only need to turn off "Show unindexed types". That has to peek at the asset to see what type it is, that is probably causing it. Even then, it should only try to look at the items that are visible on the screen, so I'm still not sure why that causes a stack overflow.
    Anyway, please let me know if that helps.
     
  36. ArbiterDino

    ArbiterDino

    Joined:
    Dec 18, 2017
    Posts:
    5
    Thx for the quick reply and the suggestions, but I cannot figure out how to turn off "Show unindexed types" as u suggested. Can you plz be more specific?
     
  37. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Its in Unity Preferences (under the edit menu) in the UMA section. There should be two options there "Show indexed types" and "Also Show Unindexed Types". Try turning off the last one (unindexed).
     
  38. ArbiterDino

    ArbiterDino

    Joined:
    Dec 18, 2017
    Posts:
    5
    Problem solved, thx a lot. But I would suggest you make some changes in the next version to prevent issues like this from happening. Btw, your work is amazing, good job.
     
  39. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    Yet another question:
    I want to create script that kinda works like an IK for fingers.
    I've noticed that UMASkeleton has a bunch of methods that do bone transformations.

    Do I need to use them for bone positioning? Or I can just use direct bone access via transforms & animator without any side-effects?
     
  40. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    After the UMA is built you can do any animation method you would use for a regular Unity character.
     
  41. xVergilx

    xVergilx

    Joined:
    Dec 22, 2014
    Posts:
    3,296
    Sweet, thanks! :)
     
  42. postmanpro

    postmanpro

    Joined:
    Jul 14, 2012
    Posts:
    10
    Im having a few issues with my new UMA. Im changing from using straight mesh models with Substances to UMA and while creating my custom UMA Im having some issues with the color as well as distortion of the mesh. Here are some of the visual problems.

    With the texture I had to switch smoothness from 1 to 0 because no matter what I made the spec map the character was extremely shiny.
     

    Attached Files:

  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If your using the default UMA materials, they use the standard shader, and the metallic map controls the glossiness. The third set of colors in the overlay ("Texture 2") affect the metallic map. if you want to change the shader, you can just modify the existing template shader (find the umamaterial for it, and then select the material from there). Or you can make a new material with whatever shader parameters you like, and assign that to the slots/overlays.

    For the face being all caved in, looks like a problem with the bones - you might want to verify they imported correctly, and that your custom race is using the tpose extracted from your FBX.
     
  44. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    I'm a little confused on how to get my dynamic avatar in use with a 3rd party controller like Ootii Motion Controller. I'm trying to do this step by step from the getting Started guide plus the Wiki guide, which gives information on Invector controller that is similar to Ootii. So I have a simple scene with the UMA_DCS and UMADynamicCharacterAvatar in it. I added the hair and clothing so it looks basically as I want it to be for this first attempt. At this point, what do I do next? Does this character setup need to be saved somehow? If so, how? And what's the next step? Do I do the Bone Builder part? And how do I combine this dynamic avatar with the Male_Unified FBX model so that it can be used in a 3rd party controller?
     
  45. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If I recall correctly, you need to select the unified model, and then set the rig to "humanoid" if it's not already. That will generate an avatar you can use.
    Then use the bone builder to create the bones, and run the OOTI wizard. Use the avatar from the unified model above.
     
  46. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    It's already humanoid so nothing to do there. I also understand how to use bone builder on it. My problem is I don't understand how I put the UMADynamicCharacterAvatar together with the Male_Unified fbx. Currently, I have the getting started steps completed and have a dynamic avatar, but of course it has no fbx with bone builder. How do I put these things together?
     
  47. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    I've tried dragging the Male_Unified fbx underneath my UMADynamicCharacterAvatar and then running Bone Builder, but then I get the following error:

    AvatarBuilder 'UMADynamicCharacterAvatar': Transform 'Global' parent 'UMA_Male_Rig' must be included in the HumanDescription Skeleton
    UnityEngine.AvatarBuilder:BuildHumanAvatar(GameObject, HumanDescription)
    UMA.UMAGeneratorBase:CreateAvatar(UMAData, UmaTPose) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBase.cs:268)
    UMA.UMAGeneratorBase:SetAvatar(UMAData, Animator) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBase.cs:224)
    UMA.UMAGeneratorBase:UpdateAvatar(UMAData) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBase.cs:199)
    UMA.UMAGeneratorBuiltin:UpdateUMABody(UMAData) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:371)
    UMA.UMAGeneratorBuiltin:HandleDirtyUpdate(UMAData) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:242)
    UMA.UMAGeneratorBuiltin:OnDirtyUpdate() (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:265)
    UMA.UMAGeneratorBuiltin:Work() (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:132)
    UMA.UMAGeneratorBuiltin:Update() (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAGeneratorBuiltin.cs:97)

    So, I guess that wasn't how to do it.
     
  48. TeagansDad

    TeagansDad

    Joined:
    Nov 17, 2012
    Posts:
    957
    I can confirm that you just need to add the sample Dynamic Character Avatar prefab to your scene, run the Bone Builder, and then add the Motion Controller and associated components as usual, and it all works beautifully (you do need to determine new position & rotation values for item placement though).

    Alternatively, you can take a character you've already set up and have working, delete the body meshes and skeleton, copy and paste the Dynamic Character Avatar component, and then run the Bone builder (this way you keep all of the motions and their settings).

    Then you just need to recreate the body shapes on the Actor Controller and reassign the Combatant transform.

    The association is made through the HumanMale race; you don't have to do anything else.
     
  49. magique

    magique

    Joined:
    May 2, 2014
    Posts:
    4,030
    Ok, I'll try that. What about the UMA_DCS in the scene. Is that needed in the scene always?
     
  50. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    Yes, you do. I contains the components needed for generation and loading assets from the various libraries.