Search Unity

Hair Designer - Dynamic hair & fur tool

Discussion in 'Assets and Asset Store' started by kalagaan, Sep 16, 2016.

  1. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    That's strange, I've tested HairDesigner with many versions of 2019.3.x :confused:
    I'll test on this specific version.
    Did you try to import it in an empty project?
    The lighting could be weird when the project has been upgraded from an older version of unity.
    Maybe you could run the HD Renderpipeline wizard.
     
    Last edited: Jun 1, 2020
  2. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    1) The main demos work only for the Build-in RP ("HairDesigner/Demos")
    You have to install a specific Addon for HDRP and URP ("hairDesigner/Addon").
    Each addon includes its own demos folder ("HairDesigner/URP/Demos" and "HairDesigner/HDRP/Demos")

    2) If you didn't install UMA, you must not install the UMA addon.
    You have to remove the folder "HairDesigner/Addon/UMA/"

    3) This error is only visible once, the system try to compile a Built-in shader not compatible with the current Render Pipeline.

    Edit : the URP compatibility will be available in HairDesigner 1.9.0
    The version has been submitted to the assetstore and should be available soon.;)
     
    Last edited: Jun 1, 2020
    XthemeCore and Ruberta like this.
  3. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    I found why the lighting is weird with your version :p
    The default HDRP package of Unity 2019.3.7 is 7.1.8, you have to upgrade it to 7.3.1. ;)
     
  4. AquaGhost

    AquaGhost

    Joined:
    Jan 27, 2013
    Posts:
    94
    @kalagaan Ok I tried an updated one. The fur looks good in preview in your HDRP- Demos-Fur_HDRP, but when i play it, only the peacock feathers show.
    Also this is minor but the light is too bright to the point where the object is white, but when i turn it down, it looks good.
     
  5. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    It could be possible that the shader is not loaded the first time you play the scene in the editor.
    You have to wait for the async compilaton of the shader in the editor, there's a loading bar at the bottom right of the editor window.
    There's different variant of the shader according to the instancing mode of the fur.
    You could try to change the instancing mode to 'GPU_INSTANCING' in the design tab.

    What is your version of HairDesigner?
     
  6. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    HairDesigner 1.9.0 is available on the assetstore :)
    If you're using HDRP, don't forget to import the HDRP addon of 1.9.0.
     
    Ruberta, XthemeCore and GCatz like this.
  7. AquaGhost

    AquaGhost

    Joined:
    Jan 27, 2013
    Posts:
    94
    It was indeed the instancing mode, thanks!
     
  8. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    I've made some fixes in the latest version (1.9.0), so you could try the 'MESH_INSTANCING_INDIRECT' mode.;)
     
  9. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    I'm working on the new animation system for long hair.
    GPU based and dual-sphere colliders. :)

     
  10. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,204
    @kalagaan

    Hey, I just picked this up. So does your system create polygon strips on the mesh for hair, and the amount of strands is just the amount of hair strand textures on the polygon strip? I hope that makes sense!
     
  11. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    The HairDesigner component generates strands, each one has a subdivision X & Y.
    So you can control the polycount with the number a strand you've added to the model and the number of subdivisions you choose. All the strands are combined into a single mesh with a single material.
    Then the shader apply different textures from the atlas on each strands using a random parameter.
    I hope that I've answered the question :p
     
  12. DigitalAdam

    DigitalAdam

    Joined:
    Jul 18, 2007
    Posts:
    1,204
    Thanks. I'm just trying to understand how it differs than using traditional methods of game hair, such as using polygon strips like:
     
  13. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    It's the same kind of technics for the short hair and the long hair layers.
    HairDesigner generates also the bones for the long hair, and the shader includes some motion parameters.
    The tool includes a texture generator compatible with the shader.
     
    Last edited: Jun 17, 2020
    DigitalAdam likes this.
  14. MrPhilosophy

    MrPhilosophy

    Joined:
    May 27, 2020
    Posts:
    7
    Hello.Though I know quite a bit about 3D modeling and painting applications, I am pretty new to unity and anything game related in general. I am curious if you know if a system like this would work in a game like VRchat.
     
  15. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    No, it won't work because the HairDesigner component is not supported by VR chat. :(

    Here the list of components that you can use.
     
    Last edited: Jun 18, 2020
  16. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
  17. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    :eek: wow… this is your new dynamic/collision system? It's so fluid.
    Can we use mesh colliders with it (like RASCAL)?
     
  18. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    Yes, this is the new animation system.
    Animations and collisions are done by the GPU :)
    It's really fast and you can control many parameters.

    I've only included the dual-sphere colliders, I'll add more kind of colliders later.
    You can create accurate shapes with dual spheres, and it's fast to compute.

    I'll have a nice animation base for the braid generator and I'll also use that system for a new kind of Hair layer based on 'fibers' instead of curves. Still a lot of work... :D

     
  19. shaneK001

    shaneK001

    Joined:
    Dec 15, 2012
    Posts:
    33
    Hello. Great asset btw. I'm getting this error:
    ArgumentException: Blend shape name already exists
    ArgumentException: Blend shape name already exists
    Kalagaan.HairDesignerExtension.HairDesignerGenerator.CreateHairMesh (UnityEngine.Mesh skinRef) (at Assets/HairDesigner/Scripts/Core/HairDesignerGenerator.cs:935)
    Kalagaan.HairDesignerExtension.HairDesignerGenerator.GenerateMeshRenderer () (at Assets/HairDesigner/Scripts/Core/HairDesignerGenerator.cs:476)
    Kalagaan.HairDesignerExtension.HairDesignerGenerator.UpdateInstance () (at Assets/HairDesigner/Scripts/Core/HairDesignerGenerator.cs:586)
    Kalagaan.HairDesignerExtension.HairDesignerGeneratorMeshBase.UpdateInstance () (at Assets/HairDesigner/Scripts/Core/HairDesignerGeneratorMeshBase.cs:536)
    Kalagaan.HairDesignerExtension.HairDesignerBase.Update () (at Assets/HairDesigner/Scripts/Core/HairDesignerBase.cs:228)

    It's slowing down the editor a lot, and the hair disappears while the error is there. I've had to restart the editor a few times and it's a bit of a show stopper. Pretty decent pc running 2019.4 lts
     
  20. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    Could you check if there's 2 blendshapes with the same name in the character skinnedMesh component?
    It would be nice if you could send me your mesh (contact@kalagaan.com) I could try to reproduce the bug.
     
    Last edited: Jun 19, 2020
    shaneK001 likes this.
  21. shaneK001

    shaneK001

    Joined:
    Dec 15, 2012
    Posts:
    33
    Hey man, thanks for the promt reply, just back at the work station this morning. Not sure if I can send the mesh, it's the clients model.
    I have looked through the list of blendshapes and there is indeed duplicates. A good few too! Not sure how they got there, but it might be causing other issues that have never thrown an error. The model and blendshapes were created with Reallusion software (Character Creator, iClone, etc).
    I'm going to re-export the model to make sure there's no blendshape duplicates. I'll be needing to rexport for something else anyways, so it was on the cards.
     
  22. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    I'll try to fix that kind of problem on my side, but Unity doesn't allow duplicated Blendshapes, so that's weird that it works with the mesh importer.
     
  23. shaneK001

    shaneK001

    Joined:
    Dec 15, 2012
    Posts:
    33
    We've used the same model for 4 months, in production, and it's never given an error or even a warning. Things with the same names are bad. Think that was something from day 1 of programming!
     
  24. r3ndesigner

    r3ndesigner

    Joined:
    Mar 21, 2013
    Posts:
    143
    Sorry to ask this for the 99848 time xD, but any news about basic hair cap generator, and the strands one?
     
  25. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    I have to finish the new animation system, then I'll continue my work on the strand generator.
    I'll post some screenshots as soon as I'll get nice results ;)
    Sorry, the hair cap generator is still at the bottom of the todo list... :confused:
     
  26. JetNikus

    JetNikus

    Joined:
    Jun 2, 2016
    Posts:
    3
    Hi! I'm getting alot of these errors trying to use it with 2020.1b9 editor, HDRP 8.1.0 render, Hair Designer 1.9.0 version (clean import, with imported HDRP package)

    upload_2020-6-23_16-30-31.png

    Is it supposed to work with 2020.1 beta?
     
    Last edited: Jun 23, 2020
  27. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    The Basic version requires a specific build for unity 2020, I don't
    The Basic version requires a specific build for unity 2020, so the current assetstore version is not compatible with the beta version of Unity.
    Please send me your invoice number (contact@kalagaan.com) and I'll send you a fix for 2020. ;)
     
  28. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Can we see a version with "bouncing" fro?
     
  29. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    The new animation system is done for long hair, but it can be combined with the 'motion zones'.
    The motion zones are more efficient for bouncing some parts of the haircut.
     
    Last edited: Jun 25, 2020
  30. harexcivil

    harexcivil

    Joined:
    Jun 12, 2020
    Posts:
    2
    hi, I am new to unity, I am not able to attach the long hair to the bone transformation when I play my animation the hair stays at the original position even after the character moved. I am using 2019.3.15 with HDRP, my character from CC3, and animation from Maximo. Please guide me to fix this.

    I have a humble request, why don't you make a step by step totorial for a beginner like me ?, It will improve the sale of your assets.
     
  31. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    Hello,
    you have to set the parent bone in design mode, you can select it in the list or with the 'select bone' button.

    I have to create a tutorial for the long hair hair, I'll try to do it when the new motion system will be released ;)
     
  32. harexcivil

    harexcivil

    Joined:
    Jun 12, 2020
    Posts:
    2
    NO WORDS TO THANK YOU,
    I spent 4 hours to sort this since morning, then I made this query. The solution is such simple, I am so stupid.
    Thanks for the timely response, but consider making step by step tutorial for all four types deeply, because this is the only tool available in unity as of now for HDRP and its awsome.
     
  33. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    I'm glad you like it! :)
    Don't hesitate to ask if you have any issue ;)
    Next features will improve a lot the long hair sytem :D
     
    harexcivil likes this.
  34. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    To be frank I'm not sure how to really communicate what I'm envisioning because language fall short of expressing that type of hair, im sure there is an intersection where your tech would work with what i have in mind, but it's not the fro as in the stupid visual trope. More like long tightly curly hair who also have some spring and mecanical stiffness due to the spring shape. Unfortunately since this kind of hair is heavily censored on media due to some forced preference, so it's hard to point at common reference lol. For now I'll compromise and point vaguely at Ethiopian hair like the van life youtuber jennelle and her snake alfredo.
     
    wetcircuit likes this.
  35. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    I'll add some parameters for a 'spring' effect, I think that it will look nice when the strand generator will be done.
    You'll be able to generate the curly shape, and the animation system will simulate the spring effect.
    There's still a lot of work to achieve what I want to do, but I've done 80% of the way :p
     
    neoshaman and wetcircuit like this.
  36. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    I think the word you want is 'volume'. The individual locks extend straight out (assuming the curls are texture) and have some independent wiggle especially at the ends, but the overall shape (volume) stays in place or moves as one…

    Softbody, but with fall-off of the physics so closer to the skull (start of the lock) it doesn't move at all…. Might need a voxelization to understand its own shape.
     
    neoshaman likes this.
  37. neoshaman

    neoshaman

    Joined:
    Feb 11, 2011
    Posts:
    6,493
    Thanks for at least consider that, you are the very best!

    Probably not if it's like the ethiopian hair, the fall off per strand would create implicit commonality. HOwever for complex hairstyle sure, there would need some form of constrain control, but that would be true for any hair type too.

    Also I have idea to address some concern @kalagaan had with "infinite simple strand shader", but it's probably not worth pushing it onto him, as it's a significantly different and still limited techniques from his asset, which might open a niche for me. But I'm still chasing the windmill of infinite intersection of helix, which might have nice visual hack side effects, if I ever end up making it happen. Currently I found out the algorithm (which currently potentially only collide with square/cube corner) is a specific implementation of dda (which give you the next plane rather than corner) or more closely the cubemap interior mapping. IF I can generalize that to interval or circle sphere, I'll have infinite cylinder, and that's the first step toward curl (an infinite cylinder is just a repeated folded square whose diagonal is the curl, we are already operating in repeated space intersection). For that I'm trying
     
    kalagaan and wetcircuit like this.
  38. qauger1

    qauger1

    Joined:
    Jul 6, 2020
    Posts:
    1
    Hi Kalagaan. Hair Designer looks like an amazing tool.
    Sorry if that question was already asked but after buying the Basic version for test is it possible to upgrade to the PRO one for the delta of price ? (65USD)
    Thanks and keep up the good job.
     
  39. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    Yes, the upgrade price is the delta between basic and pro ;)
     
  40. Weendie-Games

    Weendie-Games

    Joined:
    Feb 17, 2015
    Posts:
    75
    Hi @kalagaan hair designer is great, thank you. Here's my feedback


    My tests was made in Unity 2019.4.1 and 2019.4.3, sorry any grammar mistake, english is not my native language.

    Performance
    My computer is old (FX8370/8GB RAM/GTX1060TI), but seems like the Hair Designer has some performance bottleneck and i think is from the UI. I can't confirm that as i don't have better PC to test it. (Unity 2019.4.3 has just a little better performance and the viewport feels more responsive, but still really 'laggy' for my setup)

    UI
    I have some suggestions to make the UI better, here's a list:
    • For the long hair strands the parent bone selector would be better if look like the default unity 'selector' (Where you can click to pick the bone or can drop the bone direct into the field)
    • I think would look better if the scene gizmos was more like the unity gizmos,took me some time to figure out how to work with the current gizmos, but this is definitely just a detail
    • The buttons has some inconsistencies, check out the image below (btw, i think darker active element is better):

      Hair Designer Feedback.png

    Ideas
    • Would be awesome if we had a "Scalp" texture generator to fill the character head with a simple albedo texture
    • One thing that also would be awesome is the possibility to grow hair out of a "Scalp mask", something like "you paint the scalp area, choose a density parameter for that mask, choose a hair length and grow the hair"
     
    Last edited: Jul 10, 2020
  41. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    Thank you for the review :)

    I'll do some tests with my old laptop to check performances ;)
    The scalp tool is in the todo list, but there's some features I want to finish first.
    I'll also create a new long hair layer based on 'fibers', so you'll be able to paint them with a brush. This new layer will rely on the new animation system using compute shaders.
     
    Weendie-Games likes this.
  42. GCatz

    GCatz

    Joined:
    Jul 31, 2012
    Posts:
    282
    please keep also the old animation system, i'm using it on WebGL and compute shaders won't work there
     
  43. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    Yes, I'll keep the old animation system.
    The new one will have a CPU version fallback when the compute shader is not available.
     
    Weendie-Games likes this.
  44. MrPhilosophy

    MrPhilosophy

    Joined:
    May 27, 2020
    Posts:
    7
    There seems to be something wrong with the AO option both in my HDRP and normal unity projects. the AO slider does not seem to change anything. In my HDRP project I am using a Horizon based AO that works great with the fur as the normal AO does not get into the crevices at all and makes the fur look flat. Without any volumes turned on I should expect the AO slider to darken the spaces between the fur right?

    Either way, I can't seem to get the AO slider to do anything, yet I am sure I have seen it work before in the normal unity render. is this a bug or something I am doing wrong?
     
  45. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    Thank you for the feedback,
    I'm currently on vacations, but I'll check that asap ;)
    The HDRP shaders are made with ShaderGraph, maybe there's something wrong with the latest version.
     
  46. hecali_aj

    hecali_aj

    Joined:
    Sep 1, 2015
    Posts:
    24
    Can you add a feature where you can cut the hair in realtime, similar to the one on this tweet? https://twitter.com/pushmatrix/status/1277953972599508992
     
    Last edited: Jul 23, 2020
  47. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    I'll add this feature in the new layer type based on fibers.
    The mesh will be generated at runtime driven by the animation nodes, so it will be possible to cut them.
    I don't know yet when it will be available.
     
  48. hecali_aj

    hecali_aj

    Joined:
    Sep 1, 2015
    Posts:
    24
    Just knowing that it's doable is pretty great. :)
     
  49. Fluffy-Tails

    Fluffy-Tails

    Joined:
    Jun 28, 2009
    Posts:
    120
    I am planning to use long hair prototypes in 3DS Max, but instead, it might be better to do so in Unity! :D
    I don't want to build a good prototype in Max only for it to not be compatible, so, should I wait for the long hair feature?
     
  50. kalagaan

    kalagaan

    Joined:
    May 27, 2012
    Posts:
    1,502
    I think that I'll add a way to animate existing bones, so maybe it could work with an export of your hair from 3DS max.

    The new layer system will be faster because the mesh will be generated at runtime in the shader according to the animation nodes, no need to create bones. The data will be only in GPU memory, no need to get them from compute shader to the CPU for updating all the bone transforms.