Search Unity

UMA - Unity Multipurpose Avatar on the Asset Store!

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

  1. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    62
    Thanks, Jaimi! Will try to wait for final version of 2.13. In the meantime, hoping I will be able to keep UMA's going with UMA_DCS!
     
  2. qpuilie

    qpuilie

    Joined:
    Jan 14, 2020
    Posts:
    69
    Yes,this is my dna.Indeed 0.0019608 is small, it affects the appearance of the character, this I need to check.

    The value of the inspector is serialized by UMA, but I just changed the value in the inspector, switched other assets and then switched back, the value was forcibly changed, which confused me.

    One more question is, when all DNA values are 0.5, does the character look exactly the same as the original model?

    Thank you very much for your patient support.
     
  3. cratica

    cratica

    Joined:
    Dec 11, 2016
    Posts:
    59
    Hoping someone can help me. I've been working on a game for over a year and nearing its completion. Uses UMA (fighting game) and all has been fine until yesterday when suddenly the game throws "NullReferenceException: Object reference not set to an instance of an object" basically whenever the game tries to display the UMA character.

    Looking at the inspector on the avatar, and I see some issues. First, the active race is supposed to be assigned to HumanMale but now it shows "HumanMale (Not Available). Also all of my wardrobe recipes below that have the yellow triangle and hovering over it it says "wardrobe not active, click to add it to library" or something similar.

    So, I have no idea what happened but I'm guessing one of Unity's wonderful crashes corrupted a file(s). However, I copied the entire UMA directory from a project backup and it had no effect, still has the same issues.

    Does anyone know what might cause this issue I am seeing?

    Thanks so much!
     
  4. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    62
    When I had a similar issue, Jaimi suggested that my "Index" had become "corrupted" and that I should use option to rebuild the project from the UMA Global Library. When I did that, it fixed the problem for me! Good luck!

    BTW, this is Jaimi's exact reply:

    "It looks like your index is corrupted. It should have prompted you to rebuild it when you installed UMA. Anyway, open the global library, and from the file menu (on the global library window) try running "Rebuild from project".

    Also, make sure you have UMA_GLIB in your scene from the getting started folder."
     
  5. cratica

    cratica

    Joined:
    Dec 11, 2016
    Posts:
    59
    THANK YOU!!!!! That removed the errors. I really appreciate your response.
     
  6. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    62
    Excellent! You're welcome!
     
    cratica likes this.
  7. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    So - the problem between the editor and the ipad is likely an issue with old overlay coordinates.

    IOS/IPADOS require textures to be square. Unity happily resizes them for you without saying anything.

    But the old overlay coordinates were defined using absolute pixel locations in the base overlay. When the textures are resized for IOS (or for any other reason), these are no longer valid.

    For this reason, I changed overlay coordinates to use UV values (0-1.00, showing as a percentage in the editor for ease of use). Both styles (UV and Absolute) still work. But you can only enter UV coordinates now.

    UV Coordinates are way superior in that they don't care if the textures are square or not, or if Unity has resized them for your OS.

    You should be able to adjust the recipe UV values, and see the texture update in the scene.

    It may be easier to use the "OverlayAligner" scene to generate the UV coordinates. It lets you visually place one overlay over another (you don't run the scene, it all happens at edit time).

    Hope this helps


     
  8. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    No. The characters usually have "bone poses" applied, and look very little like the base model. The base models are kind of bulky.
     
  9. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    If the value affects the character that much, you might want to edit the DNA so a change is not so drastic. But currently they are stored as a byte, so not much we can do until that can be refactored. Of course, this is an open source project, so all contributions are welcome if you want to take this on. :)
     
    qpuilie likes this.
  10. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    62
    Thanks so much, for reply, sir! Sounds like you are describing the problem I am experiencing! Confused about a few things. Example: Looks like you are providing same info I see in tiny note on the overlay that looks like slider range should be 0 to 1, but, in my Editor, sliders go from 1 to 100. Also, looks like I might only be able to adjust from the Editor (not from the iPad, where the problem exists). But I think I know how to approach this! Will let you know how it goes! Thanks again!
     
  11. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Sliders going from 0 to 100 is just a way to show the UV as a percentage. 100 = 1.0
     
  12. drakedane

    drakedane

    Joined:
    May 23, 2017
    Posts:
    62
    Ah, got it! Thanks for that clarification! A couple of updates:

    1. Wasn't clear what "base overlay" should have been chosen in that "overlay aligner scene"; so wondering if you can update instructions to clarify. Maybe it doesn't matter what "base overlay" is used? I used same overlay for "base overlay" as the overlay I was trying to adjust. Would that work?

    I DID see option to convert to UV. So tried that. And looks like the Rect values changed to proper values with sliders for underwear overlay. However, this only allowed me to do exactly what you said it would do: adjust those settings. But, in the end, I think there was something else going on that I wanted to share, just in case this hasn't come up before.

    2. In my original post, I asked about any impact of quality settings on wardrobe, because I knew that all I had been trying to do, when I lost underwear display, was to tweak Quality Settings. And, at some point, I unchecked ALL of the Quality Levels, EXCEPT for Very Low, to make sure that was the only quality level that could be applied. But this caused a new message to appear in the UI that suggested that, if I only have this one Very Low Quality profile that I needed to enable "Texture MipMap Stripping" option in Optimization section of Player Settings. So I did that. And I think that is when I lost underwear on character. I say this, due to results, after I reset everything: I re-ticked Low Quality profile, so I had Very Low & Low profiles checked, with Very Low set as the default. This allowed me to deselect Texture MipMap Stripping in Player Settings. And, when I did this, underwear showed up again on next iPad build!

    Anyway, thanks again for providing me with new wardrobe tool! I didn't know anything about "overlay aligner scene" or that I could do anything to adjust wardrobe in this way. So good to know that for future reference!

    But, in case anyone else encounters similar problem with losing wardrobe display, I wanted to make you aware of this issue with "Texture MipMap Stripping". Apparently some wardrobe overlays require this option to be unticked, even though it seems like most overlays work fine, with this option ticked. It could be that it is only overlays with Rect values of 0, 1024, 2048, 1024 (or something similar) that need this option to be unticked. Does this make sense to you? Anyway, thought I would let you know, just in case it helps! Keep up the great work, sir!
     
  13. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208

    The "base overlay" is the overlay that is at the bottom of the stack. If you are putting a tattoo on the body, for example, the body overlay would be the base overlay. And you would add the tattoo overlay, and adjust it.
     
  14. CornerCase_Studio

    CornerCase_Studio

    Joined:
    Nov 17, 2016
    Posts:
    15
    Steve, I've been trying to get ahold of you for days. I purchased the 17th anniversary UMA pack on your website, but have not been granted access to download the files. I've been messaging you on your forums, as well as sending you emails to your arteria3D and MSN addresses.

    Hopefully you will see this and respond.
     
  15. woskey

    woskey

    Joined:
    Sep 29, 2021
    Posts:
    4
    Hey Jaimi,

    I have a bit of a weird tattoo use case I am having trouble getting to work. I understand the pipeline for adding tattoos to an UMA as an overlay and baking the textures together when the materials are identical. I also understand that workflow is the intended use for UMA. However what I want to do is add in "tattoos" by carrying a second material on a slot. Basically I want to separate out the tattoo material from the body material so I can carry fun VFX shaders as "tattoos".

    This can be done by default with a mesh renderer. If you add a second material with a transparency as a second material to a mesh renderer and set its render que correctly it will render over top of the base material.

    My issue is figuring out how to inject a second material into an existing material space using UMA, if that is even possible. UMA slots only take in one UMA material, and UMA materials only take in one Unity Mat so that wont work. I attempted to carry an overlay with a second material on the body slot but that just gave me errors as it thwarts the intended use of overlays.

    Is there any solution to this built into Uma?
     
  16. VR_Junkie

    VR_Junkie

    Joined:
    Nov 26, 2016
    Posts:
    77
    Hello, I noticed that dcaRendererManager.cs makes it so that the generated skinned mesh renderer of the body has its updateWhenOffscreen bool turn to false. The scriptable objects has an updateWhenOffscreen variable you can set but it only affects the generated head renderer. How do I stop the script from turning that variable off on the body?

    Edit: I think its line 84-96 in UmaRendererAsset.cs thats causing the issue but I may be wrong
     
  17. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Not really, but there are a few things you could do. You could break out the body part into a separate renderer, so it had only one material. Then you could add the material like you normally would to that part. Or, you could create a "shell" mesh slot that would float just slightly above the tattoo area and then just create a regular overlay with your special fx material. This is how we do the high resolution eyebrows.
     
  18. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    There is a default renderer asset field on the DynamicCharacterAvatar that you can use to supply a renderer asset to set these properties on the default renderer. It's been some time since I've used it though. I will try to take a look at the code tomorrow.
     
  19. Centripetal

    Centripetal

    Joined:
    May 31, 2013
    Posts:
    96
    When I update an FBX for a "race" or wardrobe, do I have to re-create every single related slot manually? This is extremely time-consuming. Is there a more graceful way to update the slots and text recipes from updated FBX files? It would be nice if the slots remembered their source and could update from them.
     
  20. woskey

    woskey

    Joined:
    Sep 29, 2021
    Posts:
    4
    Thanks so much dude! If that is how you are handling I will go with one of those solutions as well!
     
  21. mjanuario007

    mjanuario007

    Joined:
    Apr 13, 2022
    Posts:
    3
    Hi, I'm pretty new using Unity and UMA, I tried following the Daz to UMA tutorial on youtube, but that one was fairly outdated.
    But even so, I managed to get far enough that my UMA character would show up, but the results were not what I expected, first, there seems to be an error with the bones or something like that, and I tried looking for a solution without coming here to ask for help but I couldn't find anything.

    So here is what is happening:
    1.jpg

    Every time I try to add the face Slot, if I deselect the recipe the slot becomes the FR_High_Female_Face, And it shows nothing on the face.

    The error says this:
    Another problem happens when I add the Arms Slot and Overlay:
    2.jpg
    The arms are moving inward in the editor mode as well as in the runtime.

    The third problem it seems with the glossiness of the character's skin:
    3.jpg
    I don't know if there is a way of setting the glossiness down through the scrip, as I said I'm new using Unity and I'm knowledgeable enough to mess around with a third-party code yet...

    The Daz model that I'm trying to transform into a UMA is a Micheal 8.1

    Can anyone help me with this? Please?
     
  22. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    It sounds like you reused the "slot name", and it's finding the old slots in the library. Did you give your Daz slots new Slotnames? Every slot name, overlay name, and race name need to be unique - that's how the system looks them up in the global library.
     
  23. mjanuario007

    mjanuario007

    Joined:
    Apr 13, 2022
    Posts:
    3
    Thank you, that seems to fix the first 2 issues but that glossiness, do you know how do I adjust that?
     
  24. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    This depends on your material setup. Where does the smoothness come from? What shader/material are you using?
     
  25. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    It depends on how you created your slots. If you used the drag and drop method, then every slot would be recreated, overwriting their previous versions, and it would all "just work". If you did them individually, renamed everything, manually put them in various folders, etc - it would take forever.
     
  26. mjanuario007

    mjanuario007

    Joined:
    Apr 13, 2022
    Posts:
    3
    4.jpg
    So, it's a fact that the face not showing was fixed creating unique slot names, but as soon as I added the "Pupils" slot the arms turned inward.

    And this glossiness It's not happening in the face, at least not as much as everywhere else. I don't really know why but I'm sure I'm using the same type of maps for everything, here's how the FBX exported from Daz look with the exact same maps...
    5.jpg

    As you can see it looks decent, so I don't know where or what I'm doing wrong, can you please help me?
     
  27. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    On the glossiness - what material are you using? I need to know where the glossiness comes from before I can tell you how to correct it Your slots will have a "UMAMaterial" assigned to them. That UMAMaterial will reference a material. What does that material look like? Is it getting smoothness from Albedo Alpha, perhaps?

    As for the arms turning inward - that is usually indicative of a bad t-pose. But I suppose it could also be a weird bone rotation being carried in on the eyes somehow...

    You might want to join the discord - several people have imported DAZ characters, and probably have more familiarity with the gotchas than I do.
     
  28. plinlor

    plinlor

    Joined:
    Apr 21, 2022
    Posts:
    3
    Current project involves a Physics.Raycast() LIDAR simulator "illuminating" a male UMA_DCS avatar.

    I've added a Mesh Collider component at UMA_DCS top level, using "Unity_Body_Mesh" and am getting some pickup on the raycasting code (which generates UDP/IP output as if it were a physical LIDAR) but the UMA Avatar + Unity_Body_Mesh looks blocky in a LIDAR viewer, almost like a Lego toy.

    Is there some way to propagate/clone the output of the UMA Default Mesh Combiner to produce a detailed Mesh Collider? Or, what would be a better way to get an accurate Mesh Collider from/for the UMA Avatar?

    Thanks!
     
  29. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    There is a function on the SkinnedMeshRenderer to "bake" the current mesh:

    https://docs.unity3d.com/ScriptReference/SkinnedMeshRenderer.BakeMesh.html

    I use this internally for picking decals. Be sure you don't have a "physics avatar" on your UMA as well, as that could cause blockiness if you haven't told the raycast to skip it.

    Here's the code internally that bakes a mesh for raycasting:

    Code (CSharp):
    1.         private Mesh FreezeCurrentMesh(InteractiveUMAWindow sceneView)
    2.         {
    3.             SkinnedMeshRenderer smr = sceneView.avatarGo.GetComponentInChildren<SkinnedMeshRenderer>();
    4.             MeshCollider mc = sceneView.avatarGo.GetComponentInChildren<MeshCollider>();
    5.             if (smr != null)
    6.             {
    7.                 Mesh mesh = new Mesh();
    8.                 smr.BakeMesh(mesh);
    9.  
    10.                 Physics.BakeMesh(mesh.GetInstanceID(), false);
    11.                 mc.sharedMesh = mesh;
    12.                 Physics.SyncTransforms();
    13.                 return mesh;
    14.             }
    15.             return null;
    16.         }
    17.  
    Of course, this is for the decal baker, but you should be able to modify it easily to pass the avatar.
     
  30. plinlor

    plinlor

    Joined:
    Apr 21, 2022
    Posts:
    3
    Thank you Jaimi! I am very new to the Unity World. Figured out a few things like how to attach LIDAR code to a Game Object and get it to generate UDP, but there are many holes in my knowledge. So, please forgive a bit of a newbie post here; trying to figure out how to apply the example.

    In the sample code, I'd infer there can be at most one SkinnedMeshRenderer found by GetComponentInChildren, and likewise at most one MeshCollider. So they're equivalent to singletons within this game object?

    It looks like you're baking a mesh in two steps, the smr.BakeMesh(mesh) followed by another Physics.BakeMesh, then poking the resulting mesh into a field within the MeshCollider (presumably mc is pre-existing in the data, and the poke sets the baked mesh into this external object. That all looks usable as-is (unless I'm missing something, since you said "modify it easily").

    Can we presume a SkinnedMeshRenderer is normally always available? The (smr != null) doesn't have a logic path where we'd create a SkinnedMeshRenderer, so in the absence of an 'smr' none of this will do anything. Under what conditions might a SkinnedMeshRenderer not be available?

    I'm not clear on from where, and how often, we invoke FreezeCurrentMesh() nor how to obtain and pass it the sceneView.

    Project goal would be to update the MeshCollider as the avatar moves (or at some subsampling of frames), so the LIDAR looks substantially the same as the visible rendering.

    Thanks in advance for any additional detail you can provide!
     
  31. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yes, this assumes one SkinnedMeshRenderer. UMA will generally create one per character, unless you specifically tell it not too. smr.BakeMesh bakes the mesh as it is displayed. Physics.BakeMesh does the calculations needed to do physics on the mesh. While you can do this every frame, expect it to be very slow.
    You don't need the sceneView - you'd want to pass the gameobject of the character. While I don't want to design your solution, this does seem like a lot of raycasts. I'm not sure of what you are wanting to do exactly, but things like this are usually done by just rendering the object to a rendertexture using a special shader. This is way beyond the scope of UMA though.
     
    Alic likes this.
  32. plinlor

    plinlor

    Joined:
    Apr 21, 2022
    Posts:
    3
    The use case is a digital twin interaction environment that needs to match our product's physical LIDAR etc. sensors in reality, so we can test and tune algorithms. If it was a video game (where you get to define reality) we could economize, but we have to match physical LIDARs that will be in a physical space we'll import CAD to Unity for. It IS a lot of raycasts!

    An off-the-shelf bit of LIDAR code we're testing, by default had raycasts at 1.0 degree intervals, whereas our physical LIDAR is 0.2 degrees per laser spot. When I upped the resolution of the sample code (i.e. 5x more raycasts), the frame rate dropped dramatically. So we'll have to tweak and optimize.

    By the way, UMA looks very promising for this application, and I'd like to thank you for developing it! Even the Idle Cycle with the avatar looking around, is cool.

    If I may ask another followup, what would call FreezeCurrentMesh() with the gameobject of the UMA? Is that call site within UMA scripting or outside of that, and if outside, how can I enumerate the UMAs of the hierarchy, so we can call FreezeCurrentMesh iteratively? Would that enumerator yield a gameobject we can use as the argument, or how to obtain the appropriate gameobject handle?

    We might have to do such multi-UMA mesh ops outside the UMAs in a FixedUpdate, perhaps even every N 'frames' of FixedUpdate, for acceptable tracking without swamping the CPU.
     
  33. DrMike2000

    DrMike2000

    Joined:
    Jul 30, 2017
    Posts:
    5
    I'm loving working with UMA so far, but I've run into a problem here with multiple instances of the same character.

    Our game allows players to customise all characters, the player and their opponents.
    We could have the player fighting, for example, 10 identical goblins - 10 instances of the same character set up with the same UMA recipe.
    However, it looks like UMA's creating an individual copy of the composite mesh and texture for each instance of the goblin rather than sharing the one created mesh between all ten.
    Before I embark on trying to wedge a reference-counted-Dictionary-keyed-by-recipe-string into UMAMeshData - does something like this already exist?

    I understand we can use UMA as an offline editor tool to create prefabs which we'd then instance around our scene. But I'm trying to do this at runtime based on dynamic data.

    (Using UMA 2.12 in Unity 2021.2.12)
     
  34. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    I would suggest adding the freeze mesh to whatever is doing the raycasting, so you can coordinate the calls. I would suggest putting your characters as children under an empty game object, then just iterate under the children. We're going beyond UMA at this point.
     
  35. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    There's not a way to currently cache and reuse generated textures, but it is in the backlog to do so. But it's likely it will be a long time from now if it's waiting on me to complete it. Of course, UMA is open source and all are able (and encouraged) to contribute. There are other ways to address this as well:

    1. You can use pre-created umamaterials that are specific to each overlay. This is good if you are using URP or HDRP as the static batcher can handle some of the draw call minimalization.
    2. If you are on a PC, you can turn on "Copy Rendertextures", and let Windows/Mac handle it all.
    3. You can use the UMASimpleLOD to regenerate textures to be smaller the farther away something is.
    4. You can review all the texture usage, using the minimal instead of just using the standard 3 channel, when you're mostly just using 2 channels.
    5. You can scale the individual channels down, so the atlases are smaller. For example, a metallic map can usually be scale down without much visual change.
    6. You can do mixtures of all these things.
     
  36. TyI3orG

    TyI3orG

    Joined:
    Mar 22, 2021
    Posts:
    15
    I figured out that having keep avatar toggled on was causing the uma to look this way when switching between male and female. Not an issue just wanted to let you know the fix.
     
    Last edited: Jun 8, 2022
    Jaimi likes this.
  37. qpuilie

    qpuilie

    Joined:
    Jan 14, 2020
    Posts:
    69
    Hi Jaimi,

    Thank you for creating such a powerful tool, I have some questions I hope to get your answers:
    I know UMA merges textures, when I create 100 characters, do they each have their own textures or do they share a single texture?
    Because I found that the names of the textures are different, for example: "Skin Chan0 frame:3","Skin Chan0 frame:4"

    Thanks!
    Ripple
     
  38. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You're welcome, but to be fair it's been a lot of people, not just me. :)

    Yes - UMA 2.12 will create a texture for each "channel" in the material for each character. There are different ways to use UMA. The default way is to create an atlas by merging all the overlays together. What you are seeing above is those merged textures. If you don't need texture compositing, you can create materials for each overlay, and have the channel count in the material set to 0 - then it will just create a material and use the textures as-is. That way you can still pass parameters to the material as needed.

    2.13 is coming with an additional way to do this - compositing in the shader at render time. Using a special shader, it does the compositing and colorizing as it renders. With the downside that you can have only 4 overlays merged per slot.
     
    qpuilie likes this.
  39. unity_oArL9TaDY_1Tuw

    unity_oArL9TaDY_1Tuw

    Joined:
    Apr 3, 2022
    Posts:
    1
    Hi there - THANK you for a fantastic product!

    I was wondering if there is (any!) way to dynamically load an external asset?

    Ie. lets say I've made a game utilizing UMA 2, and the player can customize his/her solider in the game. Then I would like to be able to add ie new amour and swords, etc in the future, without having to compile and distribute an entirely new game. Would this be possible?

    Thank you in advance for any suggestions to the above!

    :) Kim
     
  40. VR_Junkie

    VR_Junkie

    Joined:
    Nov 26, 2016
    Posts:
    77
    Hi, I am making a vr game using uma for the characters, we allow them to edit their characters height. We dont do floating hands so in order to make everything look right we resize the XR rig to fit the character. We do this by taking the players wingspan (by having them T-pose in real life) and using that number to resize the rig (uma Height / wingspan = resize scale). A wingspan is generally the same value as a persons height. This should work but I am having some scale issue due to the arms of the uma not being anatomically correct (wingspan does not equal height). I know I can alter the arm length through dna and was hoping you knew the appropriate measurement for scaling the arms so that arm length (wingspan) is equal to height.
     
  41. woskey

    woskey

    Joined:
    Sep 29, 2021
    Posts:
    4
    Hey is there a way to add an OverlayData or OverlayDataAsset to the Global Library through script. I am a bit stumped.
     
  42. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yes - using Addressables or Asset Bundles allows you to load data at runtime.
     
  43. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Sorry - I have no idea. You might grab some of the finger bones on each hand (you can look up bones using umadata.skeleton), and then just measure the distance between them, and get a rough value on how to scale.
     
    VR_Junkie likes this.
  44. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Yes - in the editor, just call UMAAssetIndexer.Instance.AddAsset()

    If you're wanting to do it at runtime, you're probably best to call UMAAssetIndexer.Instance.ProcessNewItem().

    If they're in Asset Bundles, then call UMAAssetIndexer.Instance.AddFromAssetBundle()
     
  45. Poussky

    Poussky

    Joined:
    May 21, 2022
    Posts:
    1
    Hi guys,

    First I want to say a huge thank you for this awesome tool I just discovered recently.

    I'm a totally noob in unity but achieve to create a new race (thanks to SecretAnorak tutorial series!).

    I have a probably already answered dumb question (but don't know wich keyword I need to use to search the answer, sorry for that...) :

    I try to follow the "DAZ to UMA Part 8 - Creating Dynamic DNA V2" from SecretAnorak and can't figure how to see in playtime the change I made on my created DNA. (SecretAnorak just remove the animator, but as I understand, the newest version of UMA create a new one when I hit play button. I also try a solution from one comment who say to change the animator to a T-pose one and remove it in playmode, but I can't see any change on my created DNA).

    I'm pretty sure it's a very easy solution, but can't figure how to work on it...

    Thank you in advance !
     
  46. HedvigF

    HedvigF

    Joined:
    Mar 31, 2022
    Posts:
    3
    Hello :) Me and a couple of other people have tried getting into UMA, but I have a question which I'm not even sure how to solve. Our characters are relatively simple and the heads are basically slightly shaped spheres and the eyes are just round 3D meshes on top on the head.

    Between different moods the eye-shapes change between different ones, i.e happy-sad/happy-neutral e.t.c. How would you go about getting that to work inside the tool itself (and perhaps also after the character is saved and runs around "in the game".) I've seen that blendshapes can be edited with the DNA settings, but we don't want to permanently change the eyes. Rather animate the emotions when you need to.

    If I need to make some custom solution (scripting e.t.c) that's fine since we have programmers on this too.

    Thanks!
     
    Last edited: Jun 23, 2022
  47. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    Is the created DNA assigned to the race? You may need to rebuild the global library to force it to instantiate a new version in some cases.
     
    Poussky likes this.
  48. Jaimi

    Jaimi

    Joined:
    Jan 10, 2009
    Posts:
    6,208
    You may want to just use Animations, and then layer them on top of your existing animation.
     
  49. HedvigF

    HedvigF

    Joined:
    Mar 31, 2022
    Posts:
    3
    Thanks for the answer :) Would that work with exchanging the eye-meshes themselves or somehow turning on or off the visibility? For example, when you've selected a particular shape of eye and I want it to change between different moods, is there a value somewhere to modify visibility of individual slots inside the tool at run-time and in saved characters? This is of course a new tool to us but it's fascinating :)!
     
  50. angiemon

    angiemon

    Joined:
    Mar 26, 2018
    Posts:
    37
    Hi guys, I'm sorry if that question was already asked but I couldn't find anything via Google and if I'm being honest didn't want to read all the 240+ Pages (gave up after 40 or so...)

    My question is: How do the body slots work with the original UMA Core?!
    In the Secret Anorak Tutorial, he showed how to implement a new race and there all the slots are it's own meshes.
    The FBX provided in the UMA Core Content Folder though is one Mesh with submeshes (as in: they have different Material assigned in Maya or Blender or whereever)

    What I'm trying to do is replace the original head (I just tweaked it a bit) and just can't get it to work!

    I tried seperating the headmesh and skinned it to the rig and copied the weights (so like how you do for clothing) but when I try to apply the new head slot into the text recipe of the race, apply the same overlay like the current face/head and then delete the old head, my UMA has no head at all!
    (Same if I drag and drop the new head into the head slot "replace fbx here blabla")

    Sooo what am I missing? and how to apply different slots when it's one mesh only but with submeshes?

    I hope this makes sense.

    TL;DR I wanna tweak the original UMA basemesh a bit and can't figure out how

    Thanks guys!!! <3