Search Unity

HairStudio - beautiful hair, now in Unity !

Discussion in 'Assets and Asset Store' started by methusalah999, Apr 2, 2020.

  1. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
  2. chaoticmass

    chaoticmass

    Joined:
    Nov 25, 2018
    Posts:
    7
    Hi! Great product. I've been playing with it since I bought it last weekend. I seem to be having a problem with the sphere colliders. I have them as siblings to the hair sim (not children) and the Debug Collider count shows all of the colliders, but the hair seems to go right through them anyway. Any tips? Thank you.
     
  3. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Hi and thank you for your purchase. If your colliders are not children of the hair, and if you can see the number of colliders increasing and decreasing when they come and leave the hair area, then they should definitly colliside with the hair.

    First, can you confirm that the collider example works in the showcase scene? can you create a test sphere in the root of the scene and move it in the hair area to check if it works in the simplest situations?

    The only reason I see is that the collider shape cannot change when it enters the hair area. If a sphere enter with a certain center and radius, any change of these values won't be taken into account during the time the collider will remain at range. This is a limitation of the current system.

    Are you by any chance changing the radius or center of the sphere collider?
     
  4. chaoticmass

    chaoticmass

    Joined:
    Nov 25, 2018
    Posts:
    7
    I tried it in the showcase scene and it was working there. I copied the spheres used in the showcase and fit them to my character and tried again. I had better results this time. When I made the spheres bigger and used more spheres it helped (I'm not changing radius or center of the spheres during run time). I think I was originally using spheres that were too small and the hair was sliding around them or something. Thanks for the help.
     
    methusalah999 likes this.
  5. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
    Hi there, just curious: Is URP support on the roadmap?
     
    methusalah999 likes this.
  6. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    It definitly is, but given the current schedule, it won't come before the global refactor of HairStudio that is panned for end of Q1-2021

    So I will ask you to wait something like 5 months at most.
     
  7. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Glad to hear it. And you are right, small spheres have a better chance to be passed through, if the hair velocity is high enough. Also, the collision is frictionless and the hair is very much sliding on the spheres surface.

    The good news is that I now have created a better collision system for my next asset MarvellousCloth and it will be integrated in HairStudio in a few months. So we will have capsules, boxes, collider velocities taken into account, frictions and fewer penetrations!

    In the meantime, if you like HairStudio please write a short review on the store, it helps a lot!
     
  8. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
    Is there a way for me to get into the URP version beta once it is ready for testing?
     
  9. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    URP is currently stuck on a shadow problem as described here. It is the last thing to solve before release but I don't get any answer from Unity on the subject, and I don't know any other way to make the rendering of fibers in URP.

    So I can provide the URP shader quite fast, but it has this shadow issue and the demo content (materials) is not translated in URP yet.
     
  10. nenghuo

    nenghuo

    Joined:
    Feb 7, 2019
    Posts:
    12
    why I can't see the place to add colliders? I useing 1.3.1. unity 1.4.9 Mac
     

    Attached Files:

  11. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    This is the latest version of HairStudio. In this version, things have changed and you don't need to specify colliders. Hair will collide with any sphere collider in the scene according to the collision layer matrix as normal.

    In the case you are talking about the colliders used during the combing in the editor (to avoid combing the hair into the head volume), this collider list is located in the HairDressing component.

    Please tell me if that does not solve you issue.

    Edit: after a quick check, it seems that the documentation is not up to date. Thanks for pointing this out :)
     
  12. nenghuo

    nenghuo

    Joined:
    Feb 7, 2019
    Posts:
    12
    all the sphere collider? in my cace it only collide with one sphere collider(maybe some time more, I don't quite sure yet )
     
  13. nenghuo

    nenghuo

    Joined:
    Feb 7, 2019
    Posts:
    12
    I think are only two sphere collider are working,I use 5 sphere collider and there only 2 are working. and if I add more sphere colliders this two working collider will jump to other two collider, can't find the pattern
     

    Attached Files:

  14. nenghuo

    nenghuo

    Joined:
    Feb 7, 2019
    Posts:
    12
    what does this mean?
     

    Attached Files:

  15. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Ok first, be sure to download the latest version of HairStudio. Then please go into the showcase scene and look at the pedestal named Colliders, to check if this is working correctly.

    After that, here are random things to check to obtain collisions:
    - only the nodes between hair segments are colliding. If a hair segment is longer than the collider diameter, the collider may pass through.
    - when the hair or collider velocity is high, the collision may miss completly
    - the world scale should be 1
    - colliders should not have the hair object as parent
    - collider and hair layers should allow for collision in the collision matrix (project settings -> physics)
    - you can check the hair colliding zone by clicking on the hair object at run time. A sphere is generated with the maximum hair length as radius.
    - you can also check the current collider count as a read only field at the bottom of the HairSimulation component.
     
  16. Toby31

    Toby31

    Joined:
    Jul 7, 2014
    Posts:
    70
    Hi I'm currently considering purchasing Hair studio and had a few questions.

    I'm going for a 80's game and wondered if you

    1. Can create hair in a mohawk punk style?

    Or would this be better created as just static hair cards. I haven't seen any examples of this so wanted to check before purchasing.

    2. can styles be created like grace jones in bond?

    3. can hair be platted?

    4. Is there a cut hair tool like in zbrush?

    I'm looking at multiple options and was just wondering if this could be my answer rather than purchasing multiple static hair styles to save time.

    thanks in advance and sorry for the vague questions :)
     
  17. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Hi and thank you for your interest.

    1/ mohawk is totaly fine.
    2/ grace jones is fine, but the curly effect will require a lot of vertices. A textured mesh may be better performance wise.
    3/ do you mean plaited? Plaits and braids are possible with HairStudio, but the physic simulation will fail to keep the hair tangled during motions. For long animated braids like Aloy's in Horizon Zero Down, you will need a cloth simulation and hair meshes to deform.
    4/ I don't know the cut tool of zBrush and I can't find examples. Can you describe what you are looking for?

    I want to add that HairStudio is barely a 3d modeling tool for hair. It allows to author simple and efficient hair styles that will be later animated by physics, such as hair styles in games using the same technic like Tomb Raider, The Witcher 3 and Deus Ex: Mankind Devided.

    If you are creating complex hair styles like Aloy in Horizon Zero Dawn, the tooling will not be as complete as the one found in a modeling softwares like Maya XGen or Blender particle hair, and the physic simulation may fail.
     
    Toby31 likes this.
  18. nenghuo

    nenghuo

    Joined:
    Feb 7, 2019
    Posts:
    12
    just up date to 1.4, it fix the problem, and get better performance! love it keep up the good work!
     
    methusalah999 likes this.
  19. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Glad to hear it! If you love HairStudio, please write a short review on the asset store, it helps a lot!
     
  20. Exeneva

    Exeneva

    Joined:
    Dec 7, 2013
    Posts:
    432
    Does the URP shadow issue cause problems in non-realistic games?

    Just wondering if you could show more screenshots of the problem.
     
  21. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    The hair not receiving the shadow is not very important in most situations. The light is usually scattering through the hair voume and you will rarely notice a hard shadow edge on hair in the real life anyway.

    It will be a more important problem if you have both bright exteriors and dark interiors in the same scene, and rely on the directional light shadowing to create the darkness. In this scenario, the hair may be lit where the rest of the character is shadowed, which can be odd. But this scenario is unlikely because URP is not really capable of doing this.

    I don't have much to show because my URP development branch is currently messy and must be updated, sorry.
     
  22. TheHartPony

    TheHartPony

    Joined:
    Apr 26, 2015
    Posts:
    10
    I am wondering why the hair does not display if you are close to the head with the hair attached? The camera has to sometimes be two meters away from the hair before the hair will show. It will sometimes show when you are closer from different angles and sometimes, there is a distance it won't show, then there is a further distance it will show, then another distance it will not show again.

    I can't seem to work out what is causing the hair not to draw. I turned off occlusion culling. Tried forcing the LOD to 0 and LODCount - 1. Played around with the min/max distances.

    This happens in the example scene as well. I am using Unity 2019.4.14LTS
     
    Last edited: Dec 3, 2020
  23. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    First, thank you for your purchase and sorry for the inconvenience.

    This may be the frustrum culling. When the game start, HairStudio will create mesh renderers on the hair object (they are not visible in the hierarchy) and a bounding box of one meter size around them. So the hair object must be at the approximate center of the hair volume to be correctly culled by the camera.

    This bounding box may also be too small for longer hair. I have an unpublished patch for that specific issue.

    Such a frustrum culling problem should not appear in the showcase scene, because all hair objects are correctly centered to my knowledge. If you observe this abnormal culling in the showcase scene, could you please send me a screenshot or video so I can reproduce it?
     
  24. Vegaplanet33

    Vegaplanet33

    Joined:
    Jan 26, 2019
    Posts:
    14
    Hi,

    I was really excited to test this asset but when I play the game, the camera spins round and round so fast. So I tried to change the main camera to a SteamVR CamRig, and then I got this error message: withSteamVRCameraRig.PNG
    I'm using HTC Vive and HDRP 7.3.1 with Unity 2019.3.15f.

    I tried to test your asset in Unity 2020.1.3f1 as well because actually I want to upgrade my project from 2019 to 2020 for some reason. I got another error message from this version:
    HairStudio.PNG
    In this version, I'm using HDRP 8.2.0 and two unity packages, OpenVR-XR-Plugin-Installer and steamvr_2_6_1.
     
  25. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    The DemoCameraController is only used in the showcase and you should not use it at all in your project. Just get rid of it and everything should be fine.

    Also, I hope you have noticed in the product description that HairStudio does not support HDRP 7.
     
    Last edited: Dec 4, 2020
  26. TheHartPony

    TheHartPony

    Joined:
    Apr 26, 2015
    Posts:
    10
    Hi methusalah,

    I have made an empty HDRP project just to be sure the issues are still there and they are. The videos I have attached are of an empty project with the avatar I am trying to attach hair too.

    Thanks for the reply. I am suspecting that the reason might be because the scalp collider I am using is the whole avatar because I don't have a collider for just the head, and whatever logic is deciding the hair should be turned on and off is using the center? of the avatar collider. Anyway, I have attached a video of the issue and how I set everything up:


    The issues I am having with the HDRP showcase scene, might be different issues with hair turning on and off at different lengths (but I am not sure). I have attached it anyway. There is also an issue where hair glitches and become super stretched and distorted in the same video:


    Thanks so much
     
  27. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Thanks for the video, it's clearer now.

    As you guessed, the two problems are not related. In your first video, the problem is that you don't place the hair object in the center of the hair volume (the center of the head skull). So I beleive the hair object is zeroed and located between the feet. Therefore, as I explained in my previous message, the bounding box of the hair will be a 1 meter box around the feet and the hair will only be visible when you look at that area.

    Moving the hair object up the the head area, even approximatly, should fix the issue.

    Unrelated thoughs, while I'm at it:
    - it's totally ok to use the mesh body as a collider to place the roots. You can place this mesh collider wherever you want in the hierarchy and you can get rid of it when your are finished painting the roots. It's only a support for the painting tool.
    - the hair should be attached to the head bone of your skinned mesh renderer, so it will follow the motion during animation

    About the second issue, it's a compatibility problem with Unity 2019 HDRP, as stated in the product description. HairStudio is compatible with HDRP 8 only, which is available in Unity 2020. I'm sorry to say that I've never been able to fix this camera bug in HDRP 7.

    Have fun with HairStudio!
     
  28. AydinDeveloper

    AydinDeveloper

    Joined:
    Sep 8, 2017
    Posts:
    92
    this is really awesome. I'm thinking of buying. I wonder how it looks with HDRP 8.3 TAA and motion blur.
     
    methusalah999 likes this.
  29. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Hi and thank you for your interest. Both motion blur and TAA are supported by HairStudio with the HDRP.

    Here is an exagerated motion blur (intensity 10)
    upload_2020-12-4_13-44-51.png

    Static camera with TAA activated
    upload_2020-12-4_13-46-1.png

    If you consider purchasing HairStudio, please Note that it is currently 50% off on the store but it's the very last day.

    Have fun !
     
    AydinDeveloper likes this.
  30. AydinDeveloper

    AydinDeveloper

    Joined:
    Sep 8, 2017
    Posts:
    92
    Ekran Görüntüsü.png HDRP 10.2.1 works very well. TAA + Contact Shadow + SSAO + SSR combined with all effects, the result was better than I expected. Currently the only problem is not working with Raytracing. Raytracing of such a thing is quite difficult to work. It would be great if you add Mesh bake to support RT.
     
    Last edited: Dec 4, 2020
  31. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    What kind of effect would you like to use with the ray tracing? Ambiant occlusion and global illumination should work as normal, because the hair is only a classic mesh. The fact that the mesh is deformed should not be a problem. The only issue I can think about is the capture of the color of the hair, since it is dependant on a specific Unity shader graph node, which may not work at all for GI.

    Anyway I'm afraid I will wait until the ray tracing feature is not in preview anymore before I try and test it entierly.

    Also, from your two posts it seems that you have bought the asset a few hours ago, but I can't see any new purchase in my publisher backend today. I'm curious about it. Could you please confirm that you have bought the asset and give me the approximate time of your purchase?

    Finaly, if you like HairStudio, please take some time to write a short review ^^
     
  32. AydinDeveloper

    AydinDeveloper

    Joined:
    Sep 8, 2017
    Posts:
    92
    I buy it 2 hours ago. For ray tracing, it must be rendered with the Mesh renderer component. It's not very important raytracing, I'm just testing it. Before writing a review, I apply it on my own character in demo scene.
     
    Last edited: Dec 4, 2020
  33. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Thanks for the info, I'm curious about how laggy the publisher backend could be. I still can't see your purchase for the moment.

    About the ray tracing, please note that HairStudio is actually creating MeshRenderers under the hood but doesn't display them in the hierarchy.
     
  34. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    I just bought the asset and after spending some time with it, I'm happy with the results I'm getting. I think the biggest obstacle right now is creating the hair guides. Do you have any improvements planned in this area? I've got some ideas that I think could really speed up this process but wanted to see what you may be working on.
     
  35. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    I had this happen and discovered it was because the game object with the hair renderer script was not in the center of the actual head. I think the culling goes off the location of the script and not the location of the hair.
     
  36. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    I have no specific plan about the hair dressing right now. The only feature I'm willing to implement is to be able to import hair from a 3d modeling tool like Blender or Maya xgen. However, I'm always open to suggestion but please note that there is already a big refactor on the roadmap so your suggested features may not be implemented soon.

    That's right. I have already pointed this out many times and the documentation includes it too, but it's abviously not clear enough and I will have to rewrite it for the next version. Thanks for your help.

    It may also be a better approach to just place the bounding box center in the average positions of the roots. I will test it out someday.
     
  37. reggie_sgs

    reggie_sgs

    Joined:
    Jun 29, 2014
    Posts:
    276
    Thanks, I sent you a dm as it would probably be better to discuss things there and not clutter up your forum thread.
     
  38. Vegaplanet33

    Vegaplanet33

    Joined:
    Jan 26, 2019
    Posts:
    14

    Thank you for the reply!
    Now my camera works fine but I got stuck on painting roots. I've followed your tutorial video but the brush doesn't work.
    I tested it on the Unity version 2020.1 with HDRP 8.2.0 and 2019.3 with built-in RP.
    What could I have missed?

    HairStuio04.PNG

    Another question:
    Is it possible to adjust brush size?
     
  39. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    My best guess is that your mesh collider is somewhere else. Please check the position of the mesh collider, it must be at the same position than the model (at least for the head).

    You can change your brush size and strength by holding control key and moving your mouse.
     
  40. Vegaplanet33

    Vegaplanet33

    Joined:
    Jan 26, 2019
    Posts:
    14
    Thank you so much for your reply!
    I didn't attach the mesh to my GameObject, so yes, the mesh collider was not there where it should be.. So it works fine till now and even on the HDRP 7 somehow.

    Just one thing that I have to struggle with: Sometimes I don't see the mesh from the mesh collider when I select the mesh. I can see the move tool but not the mesh. If so, the Brush is not showing, although I expand the Hair Dressing tab. And it once happened when I was brushing roots. Suddenly the brush went missing and it didn't show again. I've created a new setup in the same scene but it didn't fix it.
     
  41. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Glad to hear it. Note that the mesh collider object can actually be anywhere in the hierarchy, the only thing important is that it is located at the same place then your mesh during the time where you paint the roots.

    The brush will be visible if the following conditions are ok:
    - the game object with the HairDressing component is inspected (selected, or inspector locked on it)
    - the component is expandedin the inspector
    - the gizmos are drawn (button in the upper left of the scene view)
    - the current HairStudio tool needs a brush (the select tool does not need a brush for example)

    If these conditions are true and the brush does not appear then I would like to have more information about your use case because it could be a bug.
     
  42. Vegaplanet33

    Vegaplanet33

    Joined:
    Jan 26, 2019
    Posts:
    14

    Okay, I'll document and inform you if It does seem like a bug.

    I'm sorry for my endless questions but I wonder if the segment length value is limited. My Scene which I already made is quite big so a new object for the hair has just short hair, although it has the maximum segment length value of 0.1. Furthermore, I want to create extremely long hair in another scene.
     
  43. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    The length of the segment is limited to 10 centimeters for two reasons:
    - longer segments would lead in a non smooth animation of the hair, even with a large tesselation,
    - collisions are made with tiny particles located at the end of the segments so a long segment has a better chance to pass through a small collider.

    But you can easily experiment longer segment lengths by changing the amplitude of the slider in the HairDressingEditor.cs file.
     
  44. TheHartPony

    TheHartPony

    Joined:
    Apr 26, 2015
    Posts:
    10
    Hi,

    The camera issues I was having are fixed with the GameObject with the HairRenderer/Dressing etc script placed in the center of the head. My guess is the camera is culling based on the position and scale? on the GameObject.

    Thanks so much
     
  45. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    Well it's hardly a guess since I have described both the problem and the solution in my two previous messages ;)

    But one possible issue is indeed the scale. I think the bounding box used to do the frustrum culling is naively considering that the hair object is at scale 1. I will have to look into it.

    Have fun !

    Oh and if you like HairStudio, please write a short review, it helps a lot !
     
  46. Vegaplanet33

    Vegaplanet33

    Joined:
    Jan 26, 2019
    Posts:
    14
    I really appreciate your great support! It was very helpful.
     
    methusalah999 likes this.
  47. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    My pleasure. And if you like HairStudio, please write a short review on the store, it helps a lot.

    Have fun !
     
  48. merpheus

    merpheus

    Joined:
    Mar 5, 2013
    Posts:
    202
    Hi, I am curious about the self-shadowing. Does this asset have self-shadowing working right now? The asset store images seem to not have self-shadowing or AO.
     
  49. methusalah999

    methusalah999

    Joined:
    May 22, 2017
    Posts:
    643
    HairStudio uses standard mesh renderers under the hood so the strands are shadowing each other as normal. But I must add two more things on the subject:

    - due to the very thin nature of the hair strands, the shadow is approximated accordingly to your quality level and the shadowing is far from exact.
    - the shadowing of a real hair volume is far more complex because the light scatter through the hair. For dark hair, the light bounces inside the volumes and partialy lit strands that should normaly be shadowed, and blond hair is even less shadowed as the strands are translucide and the light goes through the fiber.

    For performance purpose, these effects are not simulated in HairStudio and a diffuse feature is produced as an approximation for the lighting of the interior of the volume. The literature provide better ways for this specific solution, like the deep shadow maps but it's not implemented yet in HairStudio.
     
  50. AdamBoyce

    AdamBoyce

    Joined:
    Jan 1, 2015
    Posts:
    2
    Hi, really love the asset, great work!

    A small issue I've run into was that between my character mesh and camera configuration, it was possible to turn the camera so that the character's Mesh Collider Bounds remain in view, but the pivot for the Hair object winds up out of frame, resulting in a suddenly bald character.

    My current work around was to go into the Hair Renderer script and add a public Bounds object to use as an override when running "BuildFilter()", and then to just increase the Bounds Extent value in the editor. I'm wondering if there's a more correct way to deal with the issue?