Search Unity

  1. We are migrating the Unity Forums to Unity Discussions. On July 12, the Unity Forums will become read-only. On July 15, Unity Discussions will become read-only until July 18, when the new design and the migrated forum contents will go live. Read our full announcement for more information and let us know if you have any questions.

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    87
    This is what I use and it works

    Note: Its part of UMAUtility script, thats why they are static

    For OverlayColorData...look at the SimpleEyeColor scriptable object (Which I also use in my cc)

    Code (CSharp):
    1. public static void ChangeColor(DynamicCharacterAvatar avatar, string colorName, Color ColorValue, Color metallicRGB = default(Color))
    2.     {
    3.         // ColorName = "Skin", “Hair”
    4.         avatar.SetColor(colorName, ColorValue, metallicRGB);
    5.         avatar.UpdateColors(true);
    6.     }
    7.     public static void ChangeColor(DynamicCharacterAvatar avatar, string colorName, OverlayColorData color)
    8.     {
    9.         // ColorName = "Skin", “Hair”
    10.         avatar.SetColor(colorName, color, true);
    11.         avatar.UpdateColors(true);
    12.     }
    13.  
     
    J_Kasowski and hopeful like this.
  2. J_Kasowski

    J_Kasowski

    Joined:
    Jan 3, 2023
    Posts:
    19
    Thank you! I ended up finding the UMA DCS Demo which is exactly what I was trying to create in the first place :p
     
  3. jurijc

    jurijc

    Joined:
    Jul 17, 2019
    Posts:
    13
    Hey Jaimi, I switched from "Humanoid" to "Generic" in "UMA Target" to fix animation issues between Unity and Blender. This caused my DNA-configured heels to stop working. I think I can replace DNA with IK for heels. Are there other things that don't work with "Generic"?
     
  4. J_Kasowski

    J_Kasowski

    Joined:
    Jan 3, 2023
    Posts:
    19
    I have to again apologize for my newness to UMA... Is there a working version of UMA for HDRP?
    I found the "HDRP Test" content.

    1) Created New HDRP Project with Unity 2022.3.1f1 (LTS)
    2) Imported UMA 2.12.0
    3) Went to UMA -> Content -> Example -> HDRPRaces, imported HDRP-Races package
    4) Opened HDRP Test Scene. Initially all materials were pink
    5) Used the HDRP Wizard to convert all Materials to HDRP. The ground materials were fixed but the person remained pink:
    upload_2023-12-3_19-25-42.png

    6) Used "Generate Shader Includes" and hit play
    7) The UMA_Renderer deleted itself and I got the following error messages:
    upload_2023-12-3_19-27-24.png

    From the small amount of research I've done on this, it seems like HDRP should be supported now. I tried manually changing the property names and got it to render, but I'm not sure what needs fixed still:
    upload_2023-12-3_19-46-36.png

    Edit: I found the non-set textures under the SkinnedMeshRenderer materials but the setup is different than non-HDRP UMA characters. The naming isn't straightforward either with the textures so if anyone knows which textures go where (or how to fix HDRP in general), the help would be highly appreciated!
     
    Last edited: Dec 4, 2023
  5. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    87
    HDRP and UMA work fine together (see video below). Its a matter of getting the materials and overlays correct.

    In your example, which race did you pick? The HDRP update add two new races, the others are not converted.

     
    J_Kasowski likes this.
  6. J_Kasowski

    J_Kasowski

    Joined:
    Jan 3, 2023
    Posts:
    19
    Hmmm, you may be on to something. In the HDRP Test scene, the default race is just "HumanFemale" and not "HumanFemaleHD". However, HumanFemaleHD does not appear as an available race on the dropdown. Is there something I need to do with the "RaceData" to add a new race to the DynamicCharacterAvatar object?
    upload_2023-12-4_11-12-19.png

    Edit: I'm also using the UMA 2 from the asset store. I looked at the HDRP branch on Github but it says deprecated. I'm assuming it's deprecated because the main UMA should now work in HDRP

    Edit #2: The race updater doesn't seem to do anything. I put "Human Female HD" in the "Race to Update" setting and "UMA_Lit" (from the HDRP_Races folder) as the "New Material". It just says "No slots found" and has no option to submit
     
    Last edited: Dec 4, 2023
  7. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    87
    Did you try updating the global library? (just re-add everything)

    Note: You have done a lot of steps/attempts. You make want to try to re-import the hdrp races again and add them to the global library.

    Note 2: I did my conversion manually. I use the WilB's races. But the process is the same.

    Find the race file.
    Find the slots used and their overlays.
    Find the materials the overlays use.
    Which then points to a Unity Material.

    Start converting from Unity Material to a HDRP Material -> Fix UMA Material -> Fix Overlay -> Fix Slot
     
    Last edited: Dec 4, 2023
    J_Kasowski and hopeful like this.
  8. J_Kasowski

    J_Kasowski

    Joined:
    Jan 3, 2023
    Posts:
    19
    Ahh, I think you are correct and the issue is with the slots. The first error was about the eye slot, I was able to fix that.

    It is now giving me an "Unable to find SlotDataAsset: SlotDataAssetPlaceholder"... When I try to edit the slots, it tells me the placeholder is not indexed:
    upload_2023-12-5_10-7-47.png

    upload_2023-12-5_10-8-7.png

    When inspecting the OverlayDataAssetPlaceholder, it shows me the UMA Materials that it uses. I converted those:
    upload_2023-12-5_10-12-11.png

    However, it still does not allow me to "Add to Global Index" (I click it and nothing happens).

    What are WilB's races? I tried google and nothing came up.


    EDIT: I was able to figure out the re-mapping on the regular "HumanFemale" and "HumanMale" races. Not sure why the HD example is broken... Maybe if I have time I'll write something that will automatically convert the race's materials. Thanks for the help figuring this out!!

    Edit #2: Scratch that, I did not figure it out. The eyes were normal looking and it appeared overlays were working except for the whole body had the "Not Set" texture. I cleared the generated textures folder and thought it was working. I didn't realize that when I did that, the eyes no longer overlay correctly and I realized I don't think the face overlay was ever working. Any chance you know of a working repository that has HDRP UMA characters pre-setup?
     
    Last edited: Dec 5, 2023
  9. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    87
    He was a creator for UMA content. He has since shut down his store pages.

    lol I should make a video on this, since it seems to keep coming up.
     
    J_Kasowski likes this.
  10. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    87
    I created a new HDRP project

    Downloaded the store version of UMA (2.12) and installed

    Found the HDRP-Races unity package

    Installed the package

    Opened the Global Library Window and dragged the UMA folder to the "Drag Indexable assets..." button

    Added UMA to the scene.

    Selected the HumanFemaleHD race

    Just worked


    Personally, I don't like that implementation. I prefer multiple materials for the race.
     

    Attached Files:

    • uma.png
      uma.png
      File size:
      838.9 KB
      Views:
      54
    lcompton and J_Kasowski like this.
  11. J_Kasowski

    J_Kasowski

    Joined:
    Jan 3, 2023
    Posts:
    19
    upload_2023-12-6_11-25-4.png

    You are a scholar and I love you. Not sure why the indexing button is broken but I would have spent an incredible amount of time figuring this out without your help. Thank you so much
     

    Attached Files:

    JeffG likes this.
  12. JeffG

    JeffG

    Joined:
    Oct 21, 2013
    Posts:
    87
    I should of made a video...the idea of "teach a man to fish..."

    but anyways, I converted the HighPoly race to hdrp. Probably has been done before, but here it is anyways.

    This should work

    https://www.dropbox.com/scl/fi/r7fj...ypackage?rlkey=0wxhyiba5t22lokt29fdpoeea&dl=0

    Install Notes:

    Install package. This overwrites the male and female highpoly definition

    Open the Global Library Window and dragged the UMA\Content\UMA_HDRP folder to the "Drag Indexable assets..." button

    The first time you select the highpoly race the character will probably be green. Go to the project hierarchy and find the UMARenderer. Expand the UMA_HDRP_Skin material and for the Diffusion Profile select the "fix" option. This will register the profile in the HDRP gloabl settings.
     

    Attached Files:

    Last edited: Dec 7, 2023
    lcompton and hopeful like this.
  13. lcompton

    lcompton

    Joined:
    Mar 31, 2018
    Posts:
    108
    This is great information. I'm not sure where to find the HDRP-Races package. I thought it might be on the asset store, but I couldn't find it.
     
  14. lcompton

    lcompton

    Joined:
    Mar 31, 2018
    Posts:
    108
    Never mind. I found it. For those who have the same question, the package file is installed with UMA2 and is located at the following path...
    • Assets\UMA\Content\Example\HDRPRaces\HDRP-Races.unitypackage
     
    borgstation and hopeful like this.
  15. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    DNA heels should continue to work, unless you have specifically animated them, then the animation of the bone would take precedence over the DNA.

    Sorry for the late response, I wasn't getting update notices for the thread again.
     
    Last edited: Dec 22, 2023
  16. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    Hello Author, I am using UMA addressable to load my predefine wardrobes from remote server. I want to know whether UMAWardrobeRecipe support loaded from server. I using case is that I want to dynamically update wardrobe list without update my app on appstore.
    I notice that SlotDataAsset and OverlayDataAsset will be added to addressables exclude UMAWardrobeRecipe, my code is something like that :

    Code (CSharp):
    1. List<UMATextRecipe> SlotRecipes = Avatar.AvailableRecipes
    2. for recipe in SlotRecipes:
    3.   if(recipe == xxx) Avatar.SetSlot(recipe);
    when i load UMAWardrobeRecipe from remote server. How can I generate UMATextRecipe to SetSlot with

    i notice that there is a api Avatar.SetSlot(SlotName, RecipleName), but i got a error.

    Code (CSharp):
    1. Unable to find slot or recipe for Slotname Chest Recipename Female_Tops01_White_Recipe
    2. UnityEngine.Debug:LogWarning (object)
    3. UMA.CharacterSystem.DynamicCharacterAvatar:SetSlot (string,string) (at Assets/UMA/Core/Extensions/DynamicCharacterSystem/Scripts/DynamicCharacterAvatar.cs:1410)
    4. iHer.IHerGameManager/<autoChange>d__16:MoveNext () (at Assets/iHerArt/Scripts/IHerGameManager.cs:67)
    5. UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr) (at /Users/bokken/buildslave/unity/build/Runtime/Export/Scripting/Coroutines.cs:17)
    6.  
    Perhaps there is no address in UMAAssetIndex for my Recipe, add my remote addressable bundle only contains slot only.

    I bundled my recipe, slot, overlay in a group with a label named "White_Recipe", and SetSlot with below code:
    Code (CSharp):
    1.                
    2.                 var handle = UMAAssetIndexer.Instance.LoadLabel("White_Recipe");
    3.                 yield return handle;
    4.  
    5.                 if (handle.Status == AsyncOperationStatus.Succeeded)
    6.                 {
    7.                     foreach (var result in handle.Result)
    8.                     {
    9.                         if (result is UMAWardrobeRecipe)
    10.                         {
    11.                             var recipe = result as UMAWardrobeRecipe;
    12.                             Avatar.SetSlot(recipe);
    13.                             Avatar.ForceUpdate(true);
    14.                         }
    15.                     }
    16.                 }
    It doesn't work, my Avatar didn't change Slot and there is no error message. I donot know the reason

    My fault, everything works fine when i use Avatar.BuildCharacter

    By the way, waht's the difference between generate single group (fast) vs (final build only). I notice final build set clear material true, what case I need this option.
     
    Last edited by a moderator: Dec 25, 2023
    hopeful likes this.
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    The "final build only" option strips the materials from the slots/overlays. This results in smaller packages (without umamaterials, materials, and the placeholder textures). There is a small tradeoff that the materials have to be looked up at initial load.

     
  18. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    Hi Author, what does 'Keep' option mean in Global Library. In my case i want to use generators in Global Library Addressables Menu and tag some recipe as local addressables prebuilding in my app package. I donot know how to achieve that without manual added groups in addressables management window
     
  19. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    upload_2023-12-29_14-58-53.png
    wow!! I notice that, thank your wanderful job.
     
  20. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    I check on keep box on specific asset, and do remove xxx action. It seems doesn't work, no asset removal addressable tag
     
  21. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    Keep box means "don't delete when cleaning orphans". It sets the flag "isAlwaysLoaded" on the item.
    When cleaning orphans, this item is kept.

    Code (CSharp):
    1.  
    2.         public void CleanupOrphans(Type type)
    3.         {
    4.             var items = UMAAssetIndexer.Instance.GetAssetDictionary(type);
    5.  
    6.             List<string> toRemove = new List<string>();
    7.             foreach (KeyValuePair<string, AssetItem> pair in items)
    8.             {
    9.                 if (pair.Value.IsAddressable == false && pair.Value.IsResource == false && pair.Value.IsAlwaysLoaded == false)
    10.                 {
    11.                     toRemove.Add(pair.Key);
    12.                 }
    13.             }
    14.  
    15.             foreach (var key in toRemove)
    16.             {
    17.                 items.Remove(key);
    18.             }
    19.             UMAAssetIndexer.Instance.ForceSave();
    20.         }

    It's possible this flag was not honored in earlier versions, but is honored in current beta release. Another flag was added in the beta - "Ignore". This item is never added to addressables,nor added to resources.
     
    hopeful likes this.
  22. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    I update my UMA package to 2.13 Beta 1. My character lost overlay material and turn to be okey after several seconds when start up.

    upload_2024-1-2_10-54-15.png
     
  23. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    After updating, it always crashed on running on iOS when start up with error:
    UnityGfxDeviceWorker (74): EXC_RESOURCE (RESOURCE_TYPE_MEMORY: high watermark memory limit exceeded) (limit=2098 MB)
     
  24. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    I found my uma combined texture bump up and duplicated.
     

    Attached Files:

  25. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    the Texture2D type cost huge memory after updating, and before updating it's mainly RenderTexture type
     
  26. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    Everytime i generator addressable groups in global library, it includes all asset in SlotDataAsset and OverlayDataAsset no matter i checked Keep or Ignore flags. I want to exclude specific assets from addressable
     
  27. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    I final notice that I can use 'resourcesOnly' flag to get rid of my assets included in addressable group. But from the code below, why the GUI enabled default set to be false, since that i cannot tag recipe to be resourcesOnly
     
  28. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
  29. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    This can happen if you have pregenerated characters, and the textures/materials are in addressables.
     
    hopeful likes this.
  30. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    Probably default values changed on the UMAGenerator. Open the prefab, and make sure "convert render texture" is NOT checked when using mobile. Also check the texture sizes to make sure you are using a size that is sane for mobile devices. You may want to disable 32 bit buffers for mobile also.
     
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    "resources only" forces the recipe to be store in resources. This is not what you need, as resources are always loaded into memory.

    What you need to do is remove all unused recipes from your global library, and then delete the orphaned slots and overlays using the menu item. You should automate the cleanup process in your mobile build script using the functions on the asset index.

    Code (CSharp):
    1.             UMAAssetIndexer assetIndex = UMAAssetIndexer.Instance;
    2.             try
    3.             {
    4.                 assetIndex.PrepareBuild();
    5.             }
    6.             catch (Exception ex)
    7.             {
    8.                 Debug.LogException(ex);
    9.             }
    10.             // Generate all UMA addressable labels by recipe. Every recipe gets a unique label, so when that
    11.             // recipe needs to be loaded, all bundles that contain that item are demand loaded into memory.
    12.             // they are unloaded when there is no active character using any of the assets.
    13.             UMAAddressablesSupport.Instance.GenerateAddressables(new SingleGroupGenerator { ClearMaterials = true });
    14.  
    15.             // Make sure that the global library has a reference to every item that is not addressable.
    16.             // This ensures that they item is included in resources. (Since the items are built dynamically,
    17.             // they must be able to be loaded at runtime either through addressable bundles or resources).
    18.             assetIndex.AddReferences();
    Then after your build is complete, if you are not on a build box, you should fix the materials:

    Code (CSharp):
    1.                 UMAAssetIndexer.Instance.PostBuildMaterialFixup();
    The "PrepareBuild" function on the index will do the following:

    Rebuilds the index completely
    Removes any references that anything might have in the index (including references held by Mesh Hide Assets) that are not needed.
    Then verifies that anything that is "resources" does have a reference, and that items that are addressable do NOT have one.

    The SingleGroupGenerator will generate the build lables, and clear materials from UMAMaterials
    (removing the references to the materials and textures), slimming down the bundles.

    And then AddReferences at the end will double check that everything is properly referenced (or not referenced).
     
    shenle04517 likes this.
  32. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    Well, in my case I want to divide my assets in Global Library into two part, one tagged as remote addressables, another
    skipped by addressables (preset in my app). And I want to use SingleGroupGenerator in Global Library instead of manually addressable group management. I have tried following ways, but none of these achieving my goal.

    1、Tag recipe as ResourceOnly. With that approach, all of slots and overlays of the recipe have been got rid of addressables, and my remote bundles exclude that recipe asset, it all my want. But in runtime I cann't change wardrobe with ResourceOnly recipes, the error is something like 'resource not found'. Finally I aware that, when enable Addressables symbol, UMA load any recipes as addressables assets. UMA will not distinguish addressables assets and local assets (in my case it's resources only).
    2、I tried update to latest beta version. The 'ignore' checkbox not working and I am also not sure whether this feature is that I need.

    Now i thought maybe I should manually manage addressable groups. For that loading in runtime I add it in remote addressables group, and that preset in my app I add it in local addressable group. But it really awful when i press SingleGroupGenerator button in Global Library window, it seems that all of my management will reset after doing that.
     
  33. shenle04517

    shenle04517

    Joined:
    Sep 19, 2017
    Posts:
    18
    finally I reach my goal by ResourceOnly extension. Thanks you very much Jaimi
     
    Jaimi likes this.
  34. BruteHercules

    BruteHercules

    Joined:
    Mar 25, 2018
    Posts:
    1
    What I did was make a flat normal.map without any height at all for the slot. Seams disappeared. You will also want to put UMA_32BITBUFFERS in the scripting define symbols so that you can have high poly wardrobe and hair. Otherwise you will see meshes spiking out of control and you won't get a single hair do to load. I recommend using the URP defender character hair sample.
     
    Last edited: Jan 14, 2024
    Jaimi likes this.
  35. Namor14

    Namor14

    Joined:
    Oct 4, 2023
    Posts:
    1
    Hello, Everyone! I am trying to use UMA2 for player avatar generation. I created an empty player object, assigned UMA scripts, and received a standard avatar. Created a prefab of this one and am faced with an issue. When I am importing a player prefab that contains UMA scripts into Hierarchy it automatically unpacks (see an attached screen). I have tested the prefab without UMA scripts and it works fine. Can you help me to resolve this issue?
     

    Attached Files:

  36. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    Because the system has to delete items from the game object, it has to unpack the outer most root of the top level prefab instance:

    Code (CSharp):
    1.                 if (UnityEditor.PrefabUtility.IsPartOfPrefabInstance(gameObject.transform))
    2.                 {
    3.                     // Unfortunately we must unpack the prefab or it will blow up.
    4.                     GameObject go = PrefabUtility.GetOutermostPrefabInstanceRoot(this.gameObject);
    5.                     UnityEditor.PrefabUtility.UnpackPrefabInstance(go, UnityEditor.PrefabUnpackMode.OutermostRoot, UnityEditor.InteractionMode.AutomatedAction);
    6.                 }
    The way to get around this is, once you have your prefab looking like you want, to turn off "Editor time generation" on the character. Then it will no longer have anything to unpack.
     
  37. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,336
    Hello Jaimi and all the others too,

    I am working on something completly different: a ski jumping game with uma.

    The problem with the ski boards on the player's feet:

    I tried two ways:
    - just as a child of Left/Right ToeBase and manually rotate a bit to the ground
    - using a hinge joint for each foot, also as a child of Left/Right ToeBase

    Both work more or less ok but not very good.
    I am not sure if I did everything good with the hinge...

    How would you do this? Is there maybe some IK Foot placement for Uma I can use or some easy implementation possible of some IK foot placement asset, could you recomment one?

    Or is hinge joint a good idea but I need to enhance it more?

    Any suggestions, ideas?

    Thanks!
     
  38. BladeE

    BladeE

    Joined:
    Jun 6, 2017
    Posts:
    13
    Have you solve the problem now?
     
  39. BladeE

    BladeE

    Joined:
    Jun 6, 2017
    Posts:
    13
    About this problem while use slot builder:
    (NullReferenceException: Object reference not set to an instance of an object
    UMA.UMAAssetIndexer.ReleaseReference (UnityEngine.Object obj) (at Assets/UMA/Core/Scripts/UMAAssetIndexer.cs:1567)
    ............

    I change file UMAAssetIndexer.cs, lines from 1561 to:
    Code (CSharp):
    1.         public void ReleaseReference(UnityEngine.Object obj)
    2.         {
    3.             if (obj == null)
    4.                 return;
    5. ............
    and problem gone.
     
    Jaimi likes this.
  40. BladeE

    BladeE

    Joined:
    Jun 6, 2017
    Posts:
    13
    How to import custom static props like weapons to UMA? It has not SkinnedMeshRenderer for building slots. Are there any manuals/videos about this?
     
  41. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,336
    One suggestion: I simply instantiate the weapon or tool etc.
    Then search the hand in uma skelton and use it as the parent . Then play around with size and rotation...

    Code (CSharp):
    1.                                 hand = umaData.skeleton.GetBoneGameObject(UMASkeleton.StringToHash("LeftHand")).transform; //LeftForeArm
    2.                                 leftHandItem.transform.SetParent(hand);
    3.                                 leftHandItem.transform.localScale = new Vector3(1.2f, 1.2f, 1.2f);
    4.                                 leftHandItem.transform.localPosition = new Vector3(-0.3f, -0.55f, -1.55f);
    5.                                 leftHandItem.transform.localRotation = Quaternion.Euler(-25f, 39f, 200.0f);
    6.  
     
  42. BladeE

    BladeE

    Joined:
    Jun 6, 2017
    Posts:
    13
    Thank you! You save my time!
     
  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    I would use foot IK and have the ski be a child of the foot. (Select "save and restore ignored items" on the generator, and be sure to add "UMAIgnore" tag to the skis). I've used both Final IK and AnyIK with UMA, and they both work fine.
     
    hopeful and Firlefanz73 like this.
  44. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,336
    Thanks Jaimi, I will try :)
     
    Jaimi likes this.
  45. TonyLi

    TonyLi

    Joined:
    Apr 10, 2012
    Posts:
    12,774
  46. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,336
    Hi Jaimi,

    I have a problem with my (Uma)DNA.

    I have UMA_Glib in my scene

    upload_2024-1-29_22-14-29.png

    And I have my Uma Basic object in the scene to instantiate from, I first used a prefab but have a problem in both cases.

    upload_2024-1-29_22-17-24.png
    upload_2024-1-29_22-18-22.png


    I am using UMA Feature 13 with Unity 2023.2.7.

    I am using an own script to create my uma with the "old" willb stuff and other stuff by script.

    Settings sltos and overlays and color works perfect but not the DNA. Nothing happens, every DNA value is always 0.5.

    Although when I debug there is one umadata with ne receipe and my own DNA values...

    At the end I am doing:
    umaDynamicAvatar.umaData.RebuildSkeleton = true;
    umaDynamicAvatar.umaData.ApplyDNA();
    umaDynamicAvatar.umaData.Dirty(true, true, true);
    umaDynamicAvatar.UpdateNewRace();

    when I add the ApplyDNA I get the following error:
    **UMA: Cannot apply dna: UMADnaHumanoid using key -212795

    I think it should work without ApplyDNA but in both cases all DNA values are 0.5 at the end, just without ApplyDNA I do not get the error message.

    Any idead what's wrong? Thanks
     
  47. kat97

    kat97

    Joined:
    Jan 30, 2024
    Posts:
    3
    Hello everyone, I am new to Unity 3D and I want to create a tool that customizes 3D characters (adjusting facial attributes, clothing, colors, and height). UMA looked perfect for this! However, I also need to export the customized character to a 3D format compatible with Blender or Unity such as FBX or OBJ.
    I've tried using the 'UMA > Export OBJ' functionality, but it doesn't seem to work properly. It either saves nothing or only a triangle element.

    Is there a way to save UMA character to a 3D format locally on my PC?

    Thank you in advance for your help!!
     
  48. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    You are using DynamicAvatar? Or DynamicCharacterAvatar?
    Something may have broke using the older methods that I may have not taken into account.

    Are you on this version of UMA?

    https://github.com/umasteeringgroup/UMA/releases/tag/v2.13b1



     
  49. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,245
    I think the method that currently works is to first convert the UMA to a prefab using the prefab maker, and then export that to FBX using the Unity FBX exporter, or the Unlogick FBX exporter.
     
  50. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,336
    Yes, that version and "UMADynamicAvatar" as seen in my first screenshot of the post before.
    I am creating my UMA avatars complety by script including their own DNA and colors in some cases special slots and cloth/costumes. Thanks :)