Search Unity

furFX - Physics-based Fur Shaders

Discussion in 'Assets and Asset Store' started by reddotgames, Jun 4, 2013.

  1. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    We are proudly presents out next complete solution on Unity Asset Store​
    furFX - Physics-based Fur Shaders 1.6

    Information
    Pack contains multipass FUR shaders with many extra features like physics based fur movement, fur gravity, custom coloring etc. Shaders are compiled.

    Main features
    • PC and MAC compatible, Unity 3.5.x and 4.x compatible
    • Works on SM2.0
    • Fur Wind Simulation
    • Fur Gravity Simulation
    • Fur Rigidbody Forces Simulation
    • Fur Thickness, Fur Coloring, Fur Shading, Fur Length, Hair Hardness
    • Fur Length Masking
    • Fur Rim Light
    • Fur Cubemap Reflection
    • Directional Light + up to 4 vertex lights
    • 5 sample fur textures with alpha mask
    • 5,10,20,40 Layer Basic Shaders (DX9 DX11)
    • 5,10,20,40 Layer Advanced Shaders (DX9 DX11)
    • 5,10,20,40 Layer Advanced Shell Shaders (DX9 DX11)
    • 10,20 Layer Self Shadowing Advanced Shaders (DX9 DX11)
    • Directional Light, Ambient Light and Specular
    • Model Cast Shadow


    Use instruction
    Assign fur shader for your material. If you wanna extra effects like fur gravity, movement with rigidbody velocity or wind - you need to add <FurForce.js> script to object.
    You can also control fur movement by yourself - look into FurForce.js to see how to pass fur movement Vector into shader.

    Shader Parameters Description
    • Color (RGB) - material color
    • Specular Material Color (RGB) - specular light color
    • Shininess - specular shininess factor
    • Fur Length - length of fur
    • Base (RGB) - main texture (RGB). Alpha works like fur mask.
    • Noise (RGB) - noise texture. Assign one of prepared 2 or make yours.
    • Alpha Cutoff - alpha cutoff factor
    • Edge Fade - how much fur go into transparent when more far from core
    • Fur Hardness - how much fur hold on place after applying gravity or other forces
    • Fur Thinness - thinness of fur
    • Fur Shading - how much fur color go darker when closer to fur core
    • Fur Coloring - adding color mixing from noise texture
    • Mask Alpha Factor - factor of alpha mask taked from main texture
    • Force - force working of fur

    Advanced Shaders Bonus Parameters
    • Rim Color - color of rim lightning (more dark = less visible)
    • Rim Power - power of rim
    • Reflection Map - cubemap reflection
    • Reflection Power - alpha of reflection cubemap


    Version History
    Promo screenshots (click for bigger)


















     
    Last edited: Sep 26, 2013
    Sliceandkill likes this.
  2. imaginaryhuman

    imaginaryhuman

    Joined:
    Mar 21, 2010
    Posts:
    5,834
    Looks amazing, this will be a really hot asset!
     
  3. login4donald

    login4donald

    Joined:
    Jan 3, 2012
    Posts:
    462
    Looks amazing! You have something big. If made for mobile you'll have the best thing since sliced bread xD
     
  4. user150221

    user150221

    Joined:
    Nov 10, 2012
    Posts:
    25
    Is this the same shells and fins tech that's been out for a decade? Don't mean to sound snide, honestly curious. :) Obviously there are improvements on top of it still, like physics stuff.

    I only ask because it'd be awesome if this also came with fur shaders that utilize DX11 (Hull and Domain shaders) and also tessellation is perfectly acceptable for fur too, as shown in the Unity demo (bunny slippers).
     
  5. I am da bawss

    I am da bawss

    Joined:
    Jun 2, 2011
    Posts:
    2,574
    Awesome, definitely top of my shopping list. But I have just one question - what shader model are these based on? SM2? SM3? Is it mobile compatible?
     
  6. SpookyCat

    SpookyCat

    Joined:
    Jan 25, 2010
    Posts:
    3,757
    Does this work OK with the image effects in pro such as DOF?
     
  7. Alf203

    Alf203

    Joined:
    Dec 7, 2012
    Posts:
    461
    This looks great !
     
  8. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    +1. Thx for this question.


    Can we use it to simulate grass?
     
  9. BrUnO-XaVIeR

    BrUnO-XaVIeR

    Joined:
    Dec 6, 2010
    Posts:
    1,687
    I am more interested on knowing how simple/complicated is to use it.
    Looking very nice by the way.
     
  10. ronan-thibaudau

    ronan-thibaudau

    Joined:
    Jun 29, 2012
    Posts:
    1,722
    Interesting, following this
     
  11. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Hello again!

    Thanks for good words! Here are answers for your questions :

    1) Whats tech behind this?
    Yes its shells based shader, this mean its multipass shader. It's writed from scratch with custom vertex lightning, fur movement and various coloring. In package there are sets of shaders with 5/10/20/40 passes.

    2) Where it works?
    PC and MAC (Unity 3.5 and Unity 4.x) - tested on both systems and Unity apps.

    3) Is it works on SM2.0?
    Yes - like Ive answered above - its multipass and one pass is no problem for SM2.0
    How many passes/quality of fur you wanna depends on you. For example 20 pass fur take 20 draw calls of course. 5 pass fur - 5 calls and so on.

    4) Mobile?
    Not on start - but in plans.

    5) How simple/complicated is to use it
    Very simple - just assign shader to material and thats all :) Pack comes with few sample textures so you can start from first few seconds.

    If you wanna extra effects like fur gravity, movement with rigidbody velocity or wind - you need to add one script to object. Thats all. Rest is playing with params to suit your needs.
    You can also control fur movement by yourself - you can look into script from package and you will know how to make this. Its simple passing Vector3 into material.

    6) Is it work with DOF postprocess?
    Not perfect - cause fur is transparent and don't write depth for DOF. If anyone wanna help me fixing it faster - I'm open for cooperation. In next version we will work to make it work pixelperfect with DOF.

    Here is screen how its looking now with DOF on Unity 3.5
    $doftest.png

    7) Can we use it to simulate grass?
    This can be done - you can set wind velocity only work on XZ axis but keep in mind that this is shell fur - so if you wanna waving grass - fur on all mesh will bend in the same direction - not so fancy for grass. For grass better use effect that "fakes" grass inside frag shader - I saw it somewere on Asset Store.

    edit : Ive testes grass fur on flat surface. You need play with some settings to look how you wanna but this is what I made in few seconds.
    $grassTest.jpg

    8) DX11 version
    After successful start with DX9 and OGL version I will work on DX11 version with Hull and Domain shaders. But I wanna first focus on making dx9 and ogl version suitable for all users.

    9) Near future of asset
    Like all my shader assets - its evolving every week or two there. We are also adding new shaders that you will request for us. With Car Paint Shaders we start with few shaders and now we have 30+ :) Like with Car Paint Shaders (both Desktop and Mobile) we wanna create complete and most complex fur shaders set for Unity.

    Today I will submit pack into Asset Store.
     
    Last edited: Jun 4, 2013
  12. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Really nice!
    What are the performance of this shader if its used on for example a little bigger animal?
    Any webplayer on the way to test it?
     
  13. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    With sample dog on scene and 20-pass fur shader I have about 8000 FPS :D
    Keep in mind that multipass fur render N-pass times the same mesh to create fur effect.


    About webplayer - I will prepare something soon.
     
    Last edited: Jun 4, 2013
  14. ZJP

    ZJP

    Joined:
    Jan 22, 2010
    Posts:
    2,649
    Thx for the replay.
    Sooner or later, someone will talk about the price. So?
     
  15. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    fixed 40$ for all lifetime - no startup promo, no rising prices later. Simple :cool:
     
  16. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Seems like a really good price, nothing to argue about there : )
    Also seems like performance is good, might pick this up for my game later.
     
  17. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Thanks ;) Pick it whenever you need to.

    P.S I've updated info in first post.
     
  18. Grizzzli

    Grizzzli

    Joined:
    Sep 28, 2012
    Posts:
    8
    When will be available on Asset Store?

    Greets!
     
  19. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    very helpful asset:rolleyes:
     
  20. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
  21. nuverian

    nuverian

    Joined:
    Oct 3, 2011
    Posts:
    2,087
    I am curious for the wind, gravity etc. Can we see a video demostrating that?
    Thanks and good job on the asset
     
  22. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Video preview : http://youtu.be/KtBYCsqCCIg

    OK now like with all my assets I wanna hear your requests in next updates. Tell me what you need more in furFX.
     
  23. BrUnO-XaVIeR

    BrUnO-XaVIeR

    Joined:
    Dec 6, 2010
    Posts:
    1,687
    Hmm... This is just too many drawcalls for a single instance.
    The results are great, but too many draw calls.
     
  24. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    You can stick to 10 layer shader and you will have only 9 draw calls per object more. From what I noticed Fur shaders are used more like selective thing that you use on some special objects/main character etc not on all objects from game. Also you can write simple lod system that changes from 0/5/10/20 etc layer shader depend on distance from camera. Maybe I will write this script if anyone will be interested.
     
  25. macdude2

    macdude2

    Joined:
    Sep 22, 2010
    Posts:
    686
    I mean, fur takes either a ton of draw calls or a lot of polygons to look good, no way around that. It still is definitely the best fur I have seen on unity.
     
  26. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Fur LOD script sounds like a very good idea i think, would really help with performance and i dont think you need to go far from the fur before you cant see a difference between the 20 version and the 10 version.
     
  27. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    @RedDotGames: That looks promising! I have a couple of questions about this shader:

    1) Regarding the fur length: is it the same all over the whole mesh, or can you get length to taper off depending on, let's say, a grey intensity map?

    2) How do you decide on the direction of the fur? Is the direction the same for the whole mesh?

    3) How does it work on an animated model? Let's say an arm hanging straight down; the fur would point down all along the arm. But when the elbow bends up, would the fur still point down towards the ground, or would it stay parallel to the elbow?

    Thanks!
     
  28. virror

    virror

    Joined:
    Feb 3, 2012
    Posts:
    2,963
    Good question, i was wondering this to with the fur length.
    Is this what the masking channel is for?
     
  29. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Thanks! I'm glad you like it

    Yes alpha channel in texture works like MASK - grayscale mask so you can "tell" shader where fur need be at 100% , 50% 0% etc

    Fur direction work on whole mesh - you can set is as fixed in material or you can use script from package with some basics functionality like rigidbody movement, gravity. You can also write your script - its very easy.

    When you will turn on gravity on fur - it will always direct in GLOBAL gravity direction ( down from default Unity settings) - so when your animated model will rise arm - fur will rotate in gravity direction. You can always connect your animation with fur via some custom script - for example when someone will walk - fur will jump a little.

    Yes I will add it in next version.
     
    Last edited: Jun 6, 2013
  30. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Ive made some sample photo from animated model. Fur with gravity effect works there properly, pointing down even when hand moves all the time.

    $animated copy.png
     
  31. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Thanks for the pictures RedDotGames. That does look VERY interesting indeed! I shall have to (buy and) investigate... :)

    What about documentation? Do you have a link were to find information on how to setup the shader/textures?

    Oh, one more question though regarding the direction of the fur: let's say on some parts of the fur you might want much less (or even not at all) gravity influence. How would you go about achieving that?
     
    Last edited: Jun 6, 2013
  32. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    All is very easy to setup - I've added shader parameters description in readme and this post (1st)

    Version 1.1 is on the way to Asset Store (small cleanup in script + shader alpha fix)
     
  33. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Mmh. I must be doing something wrong; I just opened the scene called "Fur Balls", but I don't see any fur on the spheres... :confused:

    I'm on Windows 7 and I use Unity Pro 4.1.3f3 in DX11 mode. I just bought and installed the package normally, through Unity.
     

    Attached Files:

    Last edited: Jun 6, 2013
  34. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Let me install 4.1.3 (I'm on 4.0 all the time) and I will write back ASAP

    One more control question : are you in DX9/OpenGL mode?
     
    Last edited: Jun 6, 2013
  35. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Ok. I tried with directX 9 and it works. PLEASE don't tell me this shader doesn't work with DX11...
     
  36. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    No - cause it dont use tesselation(hull and domain) I dont make version for DX11 - but I can add it if you wanna use it under DX11 (but still it will be shell technique shader).

    I will add it and send you link to package today.
     
  37. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Ok, thanks. This is really important as I rely on DX11 for "Ghost of a Tale". As you can see it makes a big difference...

    $ScreenShot154_small.jpg
     
  38. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Ahhh Ghost of a Tale! Great - you have a lot of creatures there that can use fur :)
    I'm playing with DX11 right now - hope I can make it work today (until now only pink balls ;) - if no I will shift work on tomorrow. I will not leave you alone with dx11 problem dont worry.
     
  39. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Thank you, I appreciate it! :)
     
  40. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Seith - PM with link to download 1.2 sent!

    Version 1.2 released
    Added DX11 Shaders and redone DX9 shaders - should be much faster now

    P.S DX11 shaders are in separate ZIP file that you need unpack first to use
     
    Last edited: Jun 7, 2013
  41. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    Fantastic support, thanks! :)

    People, I don't know if you noticed, but this is an incredible shader. I've started experimenting with it and I am actually blown away by its flexibility and ease of use. What I like is that you can get either realistic or more stylized results. I'm currently testing the package on Ghost of a Tale and so far I am extremely pleased with the results...
    $ScreenShot193_cropped.jpg
     
  42. Samsson

    Samsson

    Joined:
    Oct 12, 2010
    Posts:
    165
    Wow, nicve result Seith !

    Could you please show us a video of this model when animated ?


    Also, is it possible to simulate the fur without any gravity options when the model is animated ?
     
  43. janpec

    janpec

    Joined:
    Jul 16, 2010
    Posts:
    3,520
    Great job Seith.

    *Noticed Ghost of Tale is no longer CE3 project do you mind sharing why did you switch to Unity? Always good to hear information from someone who already went quite far and switched engine. *
     
    Last edited: Jun 8, 2013
  44. Seith

    Seith

    Joined:
    Nov 3, 2012
    Posts:
    755
    @Samsson: Thanks! I will eventually post some animation later, but I still need to do more tests with the shader. Your question is a very good one and I need to look into that as well.

    @Janpec: Thank you. Long story short: the CryEngine did not allow me to create exactly what I wanted because I'm not a real C++ programmer. Their Flowgraph is fantastic but you can't create an entirely new game with it. Or rather I should say that you could, but it would be madness. Also their animation system was a little too complicated for me (again I needed tech help at every corner). And when I discovered Mecanim and the simplicity of Unity I never looked back...
     
  45. Samsson

    Samsson

    Joined:
    Oct 12, 2010
    Posts:
    165
    Questions :


    1. Is it working with Unity native light probes system ?
    2. Can we disable the dynamic gravity fur's reaction for an animated character ?
     
  46. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Probes - no
    Disable gravity - yes - its disabled by default BTW ;)
     
  47. Samsson

    Samsson

    Joined:
    Oct 12, 2010
    Posts:
    165
    Ok, thanks for anwsers.

    If you disable the gravity, can you still get fur direction ?
     
  48. reddotgames

    reddotgames

    Joined:
    Apr 5, 2011
    Posts:
    705
    Yes - gravity is set by script so if you will not use it - there will be no gravity effect
    Even without this script you can still choose your fur direction in material.

    In new version there is already Local Fur direction (rotate with object) and Global Fur Direction (wind, gravity etc).
    I will submit 1.3 today
     
  49. UnleadedGames

    UnleadedGames

    Joined:
    Feb 17, 2008
    Posts:
    242
    Forcing me buy another shader I see.... :D I can't wait to get this one now! You did an incredible job as always!
     
  50. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    hi,

    Can U add fur shader in dx11 with tessellation?

    Dev