Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. Harekelas

    Harekelas

    Joined:
    Feb 3, 2015
    Posts:
    864
    About upgrading UMA, do I have to delete all old files then reimport the new package or I can simply import the new version and let unity override the old files?
     
  2. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    It is best to delete the UMA/CORE folder before importing.
     
  3. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    Can you be more specific? Do you mean you see the blendshapes? But they are ignoring the z axis when increased?
     
  4. Snagasson

    Snagasson

    Joined:
    Nov 18, 2018
    Posts:
    6
    I see... thanks for the answer.
     
  5. Snagasson

    Snagasson

    Joined:
    Nov 18, 2018
    Posts:
    6
    Do base overlay maps have to be square and power of 2 sized or will the atlassing work for example with a 2048 x 512 map or maybe even a totally arbitrary 754 x 933 ?
     
  6. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    First time using UMA. Moved from morph3d. I'm trying to get invector third person controller working with UMA 2. I have OBM Knights modular from Arteria3d. I'm able to equip the character via the DC Simple Scene. Whenever i use the bone builder or a preset character, i get a constant spam of errors:
    EnsureBoneHierarchy: Position parent not found in dictionary!
    UnityEngine.Debug:LogError(Object)
    UMA.UMASkeleton:EnsureBoneHierarchy() (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMASkeleton.cs:677)

    AvatarBuilder 'OBM_Male_2 (1)': Transform 'Position' parent 'Global' 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)

    Destroying assets is not permitted to avoid data loss.
    If you really want to remove an asset use DestroyImmediate (theObject, true);
    UnityEngine.Object:Destroy(Object)

    and lots of this one

    Exception: Bone not found.
    UMA.UMASkeleton.GetRotation (Int32 nameHash) (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMASkeleton.cs:615)
    UMA.PoseTools.UMAExpressionPlayer.Update () (at Assets/UMA/Core/StandardAssets/UMA/Scripts/UMAExpressionPlayer.cs:88)

    After i created the prefab, when i drag it into the scene and hit run, the skinned mesh renderer appears at global 0,0,0, and is laying on his side (as if rotated 90 degree's). When i attempt to add the invector controller to that, the model then no longer appears. If i drag male_unified into the scene and create a controller it works. If i try to add dynamic character avatar, then everything breaks as explained above.

    Any help would be appreciated, as i'm pretty frustrated on this.

    Also, does anyone know if the inventory pro integration works with DC UMA, and if DC UMA lite or full would solve any of these problems?
     
  7. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I have no familiarity with DK UMA, but If I recall they have a solution for invector.

    But you should be able to get this going just with a regular DynamicCharacterAvatar (DCA). My guess on your errors is that something is wrong in the hierarchy.

    SecretAnorak has a video showing the exact steps needed to get Invector working with a DCA:





     
  8. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    I did the SecretAnorak tutorial. The problem happens before adding a custom UMA prefab to the invector controller. Can you elaborate on what could be wrong with the hierachy? Is there some path i need to set, or some simple thing i need to do to setup something in UMA perhaps? Thanks for the reply!
     
  9. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    What version of UMA and what version of Unity are you using? If you haven't upgraded to the UMA 2.8 RC, I would recommend trying that. It's still in flux as we fix more problems (especially with Unity 2018.3), but it has many many fixes over UMA 2.7.
     
  10. axleR

    axleR

    Joined:
    Jan 9, 2019
    Posts:
    6
    Yes. That's what appears to be happening. Thanks for looking into it.
     
  11. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    They don't need to be square. There are some examples (like the face textures) that are not square.
    I'm not sure about the power of 2. I think Unity sets a texture to the next highest power of 2 anyways, outside of UMA and the atlasser.
     
    Snagasson likes this.
  12. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    UMA 2.7 and unity 2018.2.14f (don't want to upgrade to 2018.3 yet)

    Is the UMA 2.8 RC on the github or the one on the asset store? I'll try updating it and going through the tutorials again.
     
  13. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
  14. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    What Unity version and what version of UMA are you using?

    Can you go to one of your slots with blendshape data on it. Inspect it and open up MeshData->BlendShapes-> open one of your named blendshapes -> Frames-> Element 0 -> Delta Vertices. You should see a list of your delta vertices. Do some of them contain data in at least each of the three axes or is one axis devoid of data?
     
  15. axleR

    axleR

    Joined:
    Jan 9, 2019
    Posts:
    6
    UMA version: UMA_280_RC21
    Unity: 2018.3.0f2

    Yes the Delta Vertices "contain data in at least each of the three axes".
     
  16. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    upload_2019-1-12_18-20-44.png

    Today is the second and final promotion for UMA, Whereby UMA users can choose one free UMA costume pack from the Arteria3d website, with exception of our Full Knight packs or Viking modular pack

    Choose your free pack from the following section

    https://arteria3d.myshopify.com/collections/uma

    Then email steve arteria3d@live.co.uk with your choice

    Enjoy!
     
  17. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    I picked up the Egyptian Priest's outfit, as I feel I can use the slots for a lot of different characters. There's a different type of hood, kind of a shawl, a belt, wristbands, and so on.

    Thanks, Steve! :)
     
    arteria likes this.
  18. Hellwaiker

    Hellwaiker

    Joined:
    Jan 8, 2016
    Posts:
    118
    Hey!
    What is the process of building Expression Clips? Is there some automatic extractor? Or do I manually write bone positions?
     
  19. Sholms

    Sholms

    Joined:
    Nov 15, 2014
    Posts:
    85
    Jaimi, kenamis and hopeful like this.
  20. arteria

    arteria

    Joined:
    May 31, 2007
    Posts:
    2,189
    Thank you
     
  21. JDSweet

    JDSweet

    Joined:
    Sep 4, 2018
    Posts:
    12
    Does anybody know how to animate an UMA character? I would (preferably) like to be able to add custom animations:

    1.) Without purchasing premium modelling programs.
    2.) Without needing MoCap technology, as that is rather expensive.
    3.) In the editor.

    I'm open to asset recommendations, though I can't afford anything much over $30.
     
  22. hopeful

    hopeful

    Joined:
    Nov 20, 2013
    Posts:
    5,685
    You can use Blender (free) to create animations. But also check out all of these free animations available in the asset store. There's a lot of free stuff in the store for mecanim humanoid, which is what UMA uses.

    https://www.assetstore.unity3d.com/...ance/query=only:packages&price:0&category:137
     
  23. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    Tried the Github link. The DC Simple Scene has the Avatar gliding across the floor. So i tried both the github and the latest release on the asset store, each into their own clean project using 2018.2.14f. The same problem is happening, so it's defantly the core of uma. I even tried using the project settings from the github release.



    What seems to be happening is that after i use DC Simple Scene to create, the character appears as expected, however when either bone builder is used, or when it is added to the avatar at runtime, it rotates the character so that it's lying down, and it's appearing at 0,0,0 world space, leaving just the colliders. Here is a picture of it


    Also if you notice, there repeating "bone not found" errors. Not sure how to fix this. Anyways, any help would be appreciated.
     
  24. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    I think I was able to reproduce the same error you are seeing. It looks like a problem with the new Blendshape compute shader Unity introduced in 2018.3.
    Can you go to player settings and uncheck "GPU Skinning" and tell me if your issue goes away?
    If that's the cause then I'm still looking for a workaround and may have to submit a bug report.
     
  25. ecurtz

    ecurtz

    Joined:
    May 13, 2009
    Posts:
    640
    There is a little utility window under "UMA/Pose Tools/Bone Pose Builder" that will let you make bone pose(s) out of the changes in a model or from frames in an animation. You can use these in the expression set (or DNA converters).
     
  26. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    I'll try to look at this issue later today.
    To be clear, is this happening with the default UMA race or your custom one? The screenshot is too low resolution for me to read the race name, but it looks non-standard.

    I'm not sure what you mean by this? The bone builder is only an edit time function.
     
  27. axleR

    axleR

    Joined:
    Jan 9, 2019
    Posts:
    6
    Edit > Project Settings > Player > Other Settings > GPU Skinning*

    Unchecked it still has the blendshape axis bug.
     
  28. Firlefanz73

    Firlefanz73

    Joined:
    Apr 2, 2015
    Posts:
    1,316
    Damn I read this too late I was busy the last days ;-)
     
  29. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    Are you unchecking "Remove UMAData" while at edit time in the bone builder?
    upload_2019-1-15_18-55-44.png
    That's the only way I can recreate your issue and that's not intended workflow.
     
  30. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    This is happening in both from the github version (2.8), the version on the asset store (2.7) without any additional assets. I made multiple new project's testing it, including one where i even used the github's version's project settings. The computer is brand new as well, so most everything has been installed fresh. I'm following the steps here http://umawiki.secretanorak.com/Creating_a_customizable_prefab

    When i load a character using the txt file created from Save Dynamic Character (optimized) without bones, it appears fine. When i load a character with bones the problems start. The mesh renderer appears at position 0,0,0 and rotated Z 90. The bones appear where the gameobject is, and in the correct area. It's like the mesh renderer is disconnected from the gameobject.

    It makes me wonder if there isn't some setup step during import or some requirement like having standard assets or some basic library when starting a new project. Thanks for the help
     
  31. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    I can not reproduce your error. Can you send me the project?

    Are you using a prefab (it should be a scene object) in the bone builder? If so, that would be the problem.
     
    Last edited: Jan 16, 2019
  32. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    The DynamicCharacterAvatar creates a prefab with bones if you drag it into the project hierarchy during runtime. I've tried running it through bone builder after it already had bones. So i think your right, it's not the bone editor window. It does seem whenever the bones are generated, it causes the problem. There are also an infinite loop of "missing rotation" errors. Any idea why?

    I can send you the project, but it's a blank project, with UMA. In the Github version's case, i even tried directly opening the project, so i'm not sure how helpful that would be. I can make a video of it, as i'm thinking it's got to be a step i'm doing wrong, or i'm using an outdated tutorial or something.
     
  33. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You should construct your prefab while UMA is not running. If you need the Avatar, use the Avatar from the unified FBX.

     
    hopeful likes this.
  34. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    93
    Hi, a few quick questions:
    1. Are there any pointers/tutorials for making dynamic clothing, as with the robe?
    2. Is there any issue with making clothing recipes with pre-rigged meshes, eg. Rigged hair braids, backpack strapping, etc.
    Thanks
     
  35. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    1. Not sure if SecretAnorak has made a cloth video or not. But there is a (short) wiki article here:
    http://umawiki.secretanorak.com/Cloth

    2. Those should work fine - the system will add the bones as needed to the current skeleton. You'll need to hook up the physics after the fact (OnCharacterCreated event is handy for this). There is a sample slot and recipe that comes with the current UMA called "boneytail" that shows how to do it with a rigged ponytail, though the physics got broken in some Unity upgrade, and I haven't fixed it yet, so be prepared to see it literally explode.
     
    hopeful likes this.
  36. DankP3

    DankP3

    Joined:
    Jul 17, 2017
    Posts:
    93
    Thanks, will check the wiki.
    The instant explosion of boney tail was due to a layer conflict, otherwise it is mostly OK, but prone to explode on sudden movement (so, of course it cannot be trusted) . I rewrote that code to use dynamic bone and it looks great. I hadn't looked at the mesh though, but had assumed it was rigged.
    Thanks again.
     
  37. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Actually, looking at the current download, someone has fixed the layers in one of the updates. But I agree Dynamic Bone does look and work much better than the joint version.
     
    hopeful likes this.
  38. Shadex

    Shadex

    Joined:
    Dec 18, 2013
    Posts:
    89
    Ok, that's not what the tutorials i've been following are doing. Do you have a tutorial on constructing a prefab, so it's ready to have a character controller attached? Hell, at this point, i'll take lose directions lol and thanks for the reply
     
  39. Yerkisk

    Yerkisk

    Joined:
    Jul 28, 2015
    Posts:
    38
    Problem : LoadFromRecipeString seem to flash the default wardrobe before loading.

    I have a dynamic character avatar setup with default outfit, but set to Hide in the advanced options. When I receive the characterCreated callback event, I LoadFromRecipeString a saved recipe received from a server. Once that is done I wait for the characterUpdated callback event to occur before setting the hide property of the avatar to false. When I do that, the default wardrobe is shown for a second (showing a half naked human) before the wardrobe from the recipe is loaded. I would have expected the characterUpdated event to be received once the loading has been completed or something similar.

    Am I missing a callback somewhere for a character fully loaded event? How can I stop the default wardrobe from flashing when I use LoadFromRecipeString?

    (Or any other way to save and load the dna, colors and wardrobes by text really, as all I need is to save that data to a file to be retrieved later but outside of the actual player).

    Thanks!
     
  40. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    That tutorial you linked is fine except for this one step
    "Drag the UMADynamicCharacterAvatar into your project to create a prefab, and name it."
    It technically does work. If you were making a prefab of it at runtime, then it already has the bones generated, so i'm not sure why you were trying to build bones again (that was causing all your errors). It is worded poorly (it doesn't explicitly say stop play mode and the screenshot shows in playmode) because the optimal way would be to make a prefab of your DCA (DynamicCharacterAvatar) object while at edit time, that way all the regular runtime UMA stuff executes. So in your case, after saving your recipe, then at edit time, add the path for the recipe to load. Run the bone builder to generate the bones on your object in the scene. Then make a prefab out of it (Or after you do your character controller steps).
    I don't know of any tutorials that mention making a prefab out of a runtime UMA except the poorly worded one you linked. Can you point me to any others?
     
  41. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I will update the tutorial to correct the wording.
     
    hopeful likes this.
  42. Sholms

    Sholms

    Joined:
    Nov 15, 2014
    Posts:
    85
    Hello, I was following the tutorials from uma, and I trying to build my project but the uma character dont appears, in the editor its work correctly, here is the log error from the build.
    Im using the 2018.3.0f2 unity version.

    ArgumentException: The Object you want to instantiate is null.
    at UnityEngine.Object.CheckNullArgument (System.Object arg, System.String message) [0x00007] in <9b3b6573bfb64614aa7ee01c0905dc79>:0
    at UnityEngine.Object.Instantiate[T] (T original) [0x00001] in <9b3b6573bfb64614aa7ee01c0905dc79>:0
    at UMA.UMAAssetIndexer.get_Instance () [0x00021] in D:\Unity Projects\Raven Of Eternity\Assets\UMA\Core\Extensions\DynamicCharacterSystem\Scripts\UMAAssetIndexer.cs:124
    at UMA.CharacterSystem.DynamicAssetLoader.AddAssets[T] (System.Collections.Generic.Dictionary`2[System.String,System.Collections.Generic.List`1[System.String]]& assetBundlesUsedDict, System.Boolean searchResources, System.Boolean searchBundles, System.Boolean downloadAssetsEnabled, System.String bundlesToSearch, System.String resourcesFolderPath, System.Nullable`1[T] assetNameHash, System.String assetName, System.Action`1[T] callback, System.Boolean forceDownloadAll) [0x00070] in D:\Unity Projects\Raven Of Eternity\Assets\UMA\Core\Extensions\DynamicCharacterSystem\Scripts\DynamicAssetLoader.cs:652
    at UMA.CharacterSystem.DynamicRaceLibrary.UpdateDynamicRaceLibrary (System.String raceName) [0x00001] in D:\Unity Projects\Raven Of Eternity\Assets\UMA\Core\Extensions\DynamicCharacterSystem\Scripts\DynamicRaceLibrary.cs:141
    at UMA.CharacterSystem.DynamicRaceLibrary.GetRace (System.String raceName, System.Boolean allowUpdate) [0x0002e] in D:\Unity Projects\Raven Of Eternity\Assets\UMA\Core\Extensions\DynamicCharacterSystem\Scripts\DynamicRaceLibrary.cs:251
    at UMA.CharacterSystem.DynamicRaceLibrary.GetRace (System.String raceName) [0x00001] in D:\Unity Projects\Raven Of Eternity\Assets\UMA\Core\Extensions\DynamicCharacterSystem\Scripts\DynamicRaceLibrary.cs:233
    at UMA.CharacterSystem.DynamicCharacterAvatar.SetActiveRace () [0x000e4] in D:\Unity Projects\Raven Of Eternity\Assets\UMA\Core\Extensions\DynamicCharacterSystem\Scripts\DynamicCharacterAvatar.cs:559
    at UMA.CharacterSystem.DynamicCharacterAvatar+<BuildFromComponentSettingsCO>d__68.MoveNext () [0x00063] in D:\Unity Projects\Raven Of Eternity\Assets\UMA\Core\Extensions\DynamicCharacterSystem\Scripts\DynamicCharacterAvatar.cs:485
    at UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) [0x00027] in <9b3b6573bfb64614aa7ee01c0905dc79>:0
    UnityEngine.MonoBehaviour:StartCoroutineManaged2()
    UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
    UMA.CharacterSystem.DynamicCharacterAvatar:Start() (at D:\Unity Projects\Raven Of Eternity\Assets\UMA\Core\Extensions\DynamicCharacterSystem\Scripts\DynamicCharacterAvatar.cs:367)
     
  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Are you using the RC2 that is compatible with 2018.3?

    https://github.com/umasteeringgroup/UMA/tree/Release-28-RC2

     
  44. Sholms

    Sholms

    Joined:
    Nov 15, 2014
    Posts:
    85
  45. Sholms

    Sholms

    Joined:
    Nov 15, 2014
    Posts:
    85
    I already tried with a new project and I have the same error.
     
  46. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I will test the build
    I just tested with my test version, and it's fine. There was a change to the system since RC2 was released that moved the AssetIndex to a scriptable object, so likely this is why. I will release a new RC in a few days - until then you can download the updated version with the scriptable object index here:

    https://github.com/umasteeringgroup/UMA/tree/develop

    Just hit the "clone or download" button, and choose "Download Zip".
     
  47. kenamis

    kenamis

    Joined:
    Feb 5, 2015
    Posts:
    387
    Your process should work. I tested it last night, but I didn't see the issue of the default wardrobe being shown for a second. You're leaving build enabled true, correct?
    If you're still having issues could you try to recreate the issue in a fresh project and send it to me?
     
  48. Sholms

    Sholms

    Joined:
    Nov 15, 2014
    Posts:
    85
    So that updated version should work? Because I have the same error
     
  49. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I think the problem is that a build was already scheduled.

    If you are pooling characters, you should just set "build enabled" to false on the character. Then LoadfromCharacterString(). You'll probably need to manually build the character after calling LoadFromCharacterString, but not 100% sure.

    If you are not pooling characters, then create the prefab and call SetloadString();
     
    hopeful likes this.
  50. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    It works for me - I just built the sample code and ran it as an executable.