Search Unity

[WIP] UMAElements - UMA Lego, dyeable clothing, and attachments

Discussion in 'Works In Progress - Archive' started by Whippets, Sep 10, 2014.

  1. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    I'm working on a system, called UMAElements, for UMA that enables devs and content creators to create humanoids using almost lego like pieces, and a minimum of coding.

    The main core is a new Elements Library (pretty similar to the UMA SlotLibrary for those that know UMA). This Library consists of ElementData ScriptableObjects. Each ScriptableObject can be a body-part, an item of clothing, or an attachable item.

    Elements are added together to produce a build. When adding an Element, a single multiplier color can be given, or three colors can be given used in conjunction with the Element's splat-map image to provide dyeable clothing similar to most MMORPGs.

    Attachments are an easy way to have things like weapons, backpacks, or inventory bags working with UMA, without being part of the internal UMA build and atlases. They are prefabs that are parented to one of the nine (currently) attachment points.

    That's the basics of UMAElements. The idea being to make UMA easily accessible to more people, as it can be quite a complex system.

    UMAElements is free.

    https://www.assetstore.unity3d.com/en/#!/content/21787
     
    Last edited: Oct 4, 2014
  2. Teila

    Teila

    Joined:
    Jan 13, 2013
    Posts:
    6,932
    Fantastic, Whippets! It is exactly what we need. Thank you.
     
  3. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Sounds cool! Will absolutely check it out : )
     
  4. Kirbyrawr

    Kirbyrawr

    Joined:
    Jul 23, 2012
    Posts:
    945
    Very awesome thanks Whippets ^w^!
     
  5. Arcanor

    Arcanor

    Joined:
    Nov 4, 2009
    Posts:
    283
    Thanks Whippets, awesome work! I will put this through its paces some time soon and let you know how things go. :)
     
  6. UnLogick

    UnLogick

    Joined:
    Jun 11, 2011
    Posts:
    1,745
    Screenshots or it didn't happen!
     
    Kirbyrawr likes this.
  7. FernandoRibeiro

    FernandoRibeiro

    Joined:
    Sep 23, 2009
    Posts:
    1,362
    Yay! =D Really happy to hear that!
     
    Teila likes this.
  8. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    New version 0.9.2 coming soon with a threaded Dye system, which prevents the brief stutter whilst the dyes are processed.
     
    Teila likes this.
  9. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    0.9.3 released - fixed a bug where UMA wasn't correctly positioned within character controller capsule.
     
  10. SecretAnorak

    SecretAnorak

    Joined:
    Mar 19, 2014
    Posts:
    177
    Looks great, however I can't get the Test CS dye-able shirt demo to work.
    When I press C all I get is: "Unsupported texture format - needs to be ARGB32, RGBA32, RGB24 or Alpha8".

    Any Ideas?
     
  11. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
    Hi Secret, for dyeable clothing, the texture for the splat map needs to be set to read/write and RGBA32 in the inspector, as does the diffuse texture for the UMA Overlay. That should enable the texture merger to work.

    I'd set these options in the code if I could, but I've not seen any way to do that. Let me know if that works ok, or if you're still having issues.
     
  12. SecretAnorak

    SecretAnorak

    Joined:
    Mar 19, 2014
    Posts:
    177
    Thank you Whippets, that worked a like a charm.
    I'd checked and double checked the splat map, but not looked at the UMA Overlay textures.

    If anyone else experiences this issue, navigate to UMA > UMA_Assets > Overlays > Male > MaleShirt01 and change the format for both textures to RGBA32.

    Very nice library by the way, I've been playing around for a couple of hours and am very impressed.
     
  13. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,356
    Nice little library, just a couple of nitpicks...

    - Ability to load a UMA character from the standard json format would make it play nice with UMA and other UMA utilities.

    - Newtonsoft has a great json serializer that would have been a much cleaner and less brittle solution for your pack/unpack.

    - If it was on github I'd be tempted to actually contribute some of these fixes. As might others as this is a really useful tool.
     
    hopeful likes this.
  14. Whippets

    Whippets

    Joined:
    Feb 28, 2013
    Posts:
    1,775
  15. CyberKot93

    CyberKot93

    Joined:
    Jul 6, 2014
    Posts:
    7
    Nice work Whippets, very useful system
    I have some ideas, to improve your system
    1. in your method HumanoidBuilder.Update() we have to use Name of object
    it cause some problems when we have 2 object at the same name, better option will be using GameObject instead of string
    2. when we choose attachment position will be good to add rotation to items, as sample sword work good, but rifles need small rotation :) good idea is to customize local rotation
     
  16. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    I think a better solution to item rotation is to just add it as a child to an empty gameobject and just adjust the rotation that way. Then you dont have to input the rotation as numbers for every single item : )
     
  17. CyberKot93

    CyberKot93

    Joined:
    Jul 6, 2014
    Posts:
    7
    i thought to realize with it, but some items need other rotations when are in hand and other when are not active
    just see screens:
    in hand

    on the left shoulder blade

    I found 3rd issue, when we attach item as DefaultPosition None and set on it, item is deattach and lay on the ground on scene at 0,0,0 :(