Search Unity

Imperial Fur - PBR Fur Shaders!

Discussion in 'Assets and Asset Store' started by HemiMG, Mar 15, 2015.

  1. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    Hey everyone. Firstly, I'd like to apologize for how long it took to get back to this asset. The financial troubles that took me away from it are still there, but I'm hoping to use it in a game that'll help turn that around. There were days where I felt like a really horrible person for letting it just sit there without updates, so hopefully this will relieve some emotional stress even if the game that comes from it doesn't relieve any financial stress.

    I'm just getting started on the next version of the asset. I've got a very basic alpha test version ready to be improved. You can see in the screenshot below that the fur now gets shadows, and at the bottom of the screenshot, you'll see five of the new version with one of the old version in a depth buffer visualization to show that it is now working with that as well.

    Screenshot (223).png
    There's still plenty more to do. The alpha test doesn't look horrible in these shots, but for some it looks pretty jaggy. I'm going to see about dithering the alpha instead of just straight clipping it, and maybe a version that overlaps alpha test with blended if that doesn't do the trick. The new temporal anti-aliasing does a pretty nice job of hiding some of the jaggies caused by the clipping though. Dithering may be sufficient, because I don't know at this point what difficulties will come from trying to alternate between to blending modes like that.

    I also have quite a few other improvements in mind, and hopefully at least a few of those will be done during the course of today. So I'll update this post if there are no replies, and make a new post if someone does reply when those changes are in. I don't want to keep bumping my thread multiple times in a day just to talk to myself.

    There will be some changes to authoring. Nothing major. The noise map needs to be inverted from what the alpha blended version looks like. I'll probably take this time to see about inverting the bias map as someone mentioned before. And the strand thickness starts doing horrible things if it gets too high, so I'll either see if I can fix that, or put more limits on it.

    Nothing will change about the existing shaders though, so unlike the last update, when this one is done it won't require reauthoring anything unless the new features are needed and/or wanted.
     
    twobob likes this.
  2. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Shadows!? Hooray!! Can't wait for this!

    I hadn't purchased Imperial Fur yet because it didn't support shadows on the furry mesh -- so before I do purchase it, can you answer a couple other questions?

    1) Does it support skinned meshes? (Dumb question, but another fur asset on the store does not.)
    2) Does it support blendshapes (for minor mesh movement, like ears)?
    3) How does it work with water shaders like Suimono? We're currently using a shader where the better fur effect does not, so the furry object always appears in front of the water, even when submerged. (Is that the depth buffer?)

    thanks!
    Dave
     
  3. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    I was wrong, noise maps don't necessarily need to be inverted, and strand density works just fine. I guess the one noise map I was using just didn't play nice with the new way of doing things. I'll be sure to include a variety of noise maps that do play nicely.

    It's not done yet, so don't purchase until it is released with the updates if you need them. It does support skinned meshes, so far as I know. See the video a few posts back of the monster hair cut game someone made.

    I can't think of any reason why blendshapes wouldn't work, but the game I'll be using it for uses them so I'll be able to answer that question better as time goes on. Suimono seems to work fine:

    Screenshot (229).png
    One of them is still using the old (or current asset store) version, you can see a ghost of that one in the front. It doesn't appear in front of the water, it just sort of disappears a bit when it goes under water. I don't notice any problems with the newer version though.
     
    Crossway and twobob like this.
  4. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Great! Any idea when you'll release this version?
     
  5. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    It's hard to say. I'm hoping it only takes a couple of days. Adding the dithering makes things look quite a bit worse if there is no temporal AA on. The top screenshot has dithering and TAA and the bottom has dithering with no TAA. The white ball with the lighter skin is using the older shader for comparision. I'm going to have to experiment a bit and see which conditions the dithering really helps with, and if it is worth it. Then I'll have to see if I can get a mixed dither / alpha blended mode working to offset some of the quality loss if TAA isn't used. Of course, I'll also leave in the option to just use straight alpha cutout for situations where the dithering/TAA will do nothing for the quality.

    I also want to experiment with a new lighting model. I'm hoping I can get everything needed to get me to that point done today, so I can spend tomorrow working on the lighting. All in all, I'm hoping it will be submitted in a matter of days, rather than a matter of weeks.

    Screenshot (236).png
     
    Crossway likes this.
  6. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    I've gotten a couple of new changes added. The first is simply allow the alpha cutoff even when the alpha is being dithered. Before it was an either/or situation. Allowing a small cutoff prevents very low alpha values, which would have sparsely spaced pixels, from being rendered. The result is a little less aliased-looking.

    The other thing I've gotten in place is a two-stage noise map for the alpha tested textures. The alpha blended textures get a little more transparent as the shells stack up. This allows the self-shadowing to show up and give the illusion of a more contoured fur follicle. With alpha-testing just lopping off those values, some of that effect is lost. So the new AlphaTest noise maps have a second texture in the green channel. I basically just took the white values of the noise map and isolated them. That represents the tip of the fur, and the main noise represents the bottom. This means that as the fur follicle moves up, it gets smaller.

    The screenshots below show that. The top one is just using a normal noise map (they are completely interchangeable), the middle one uses the new noise map style and the bottom one shows what it looks like with temporal AA. There is some adjustment needed when you switch noise maps. Increasing the strand density, and with some noises, the length, is required to get it to have the same basic appearance that it had before. These screenshots do not show that. The maps are just swapped out. As usual, the top middle ball is using the old style shader for comparison.

    Screenshot (240).png

    I didn't get as much done yesterday as I had hoped for. So hopefully there will be more changes coming today as I try to catch up on the todo list.
     
  7. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    The next update should be submitted within a day or so. You can see it on a character below. I got rid of the alpha dithering option because as things progressed there was no situation that it didn't make things look worse. I also kept the bias map as it is, but added a few features to make it much easier to author them. One of the problems with the old way is that if you decided to make the hair strands thicker, your character would get very skinny limbs as the skin shrank to preserve the volume. The would require modifying the bias map to allow the fur to come out a little more and the skin to shrink a little less. There is now a control that will allow you to adjust the influence of the bias map between 0-200%, so going up and down in strand length won't require re-authoring the map. There's also now an option to have the bias map take the height map into account when shrinking the skin. This really should have probably been default behavior but I made it an option so as not to break any bias maps people are already using. There may also be times when it is not desired, so I guess options are better than forcing a workflow.

    The bad news is that the alpha tested shaders with the shadows only work in deferred mode. This actually isn't super horrible because the performance increase is pretty huge. Since a 40 shell shader is rendering the object 40 times, you save a ton of frames by only lighting it once. The physics demo gets around 500fps on my machine in deferred and around 250-300 in forward.

    There also a setting in there now that will let you change the way the lighting works a little. I can't do custom lighting shaders in deferred, so it is limited. What it does do is allow you to have the fur that is closer to the root take on the specular color of the fur's albedo. Real hair behaves in a similar way. The same system also uses the rim lighting code to do the same specular trick for the rim of the model. There's a slider in place to also turn up the smoothness as things get closer to the root. If tuned right, it's a pretty subtle effect, but I think it adds a little extra something to the look. For this reason, I highly recommend using the specular/glossiness versions of the shader over the metallic versions. The metallic version will try to do the same thing, but the only way to add color to the specular in a metallic shader is to make it more metallic. So for that shader, it reduces the metalness by just a tiny amount.

    Anyhow, I still have to redo the demos that need to be redone, rewrite the documentation, and go over the code one more time to make sure I'm not doing anything horribly inefficiently or anything. So I'm going to have some coffee and then get back to work. I'm anxious to get these shadows to everyone who has been asking for them.

    Screenshot (245).png
     
    Crossway and gecko like this.
  8. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Can't wait to try it!

    What are your computer specs, to get a sense of those frame rates?
     
  9. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    I have a 970m. Without the post effects stack that I was using, it gets around 700-800fps in deferred and 450ish in forward. Forward fluctuates a lot more wildly though, since the balls in that scene are moving in and out of frame a lot. For comparison to the old version, if you have it, the physics demo with the old specular 40 shell shaders runs about the same in deferred as the new ones do in forward. I don't notice a huge difference switching between the two rendering paths with the old ones, or maybe forward even goes a little faster. So the numbers above essentially represent the speedup that the new shaders offer over the old. (Assuming you are using deferred rendering).

    The LOD demo with LODs off and the 225 balls using the 40 shell shaders gets around 20fps with the old shader and 25fps with the new. Turning LOD on gets an upper of around 100fps with the newer ones and 90fps with the older ones. That is in deferred. In forward, both the new and the old perform about the same as each other.

    I still need to poke around the code and make sure I'm not doing something silly that can be optimized. But I'm pretty happy with the performance. In my game, the characters take turns. The bear is the only one with the fur shader right now, and I don't notice any significant frame rate drop when it is his turn to go. Hopefully that continues when all four of them are onscreen at once.
     
    Crossway and gecko like this.
  10. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    hey, how soon do you think this'll be updated on the asset store?
     
  11. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    Looking forward to the update! :cool::D

    Screen Shot 2017-03-24 at 11.21.03 AM.png
     
    HemiMG and hopeful like this.
  12. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    I had a minor emergency crop up, but I should have everything submitted today. Hopefully it will be sometime next week when it hits the store. I'm not sure what Asset Store approval time looks like these days, but from a thread in General Discussion updates seem to only take a couple of days to get approved.

    I'm anxious to get it out because I know you guys have been looking for these features for a long time.
     
    wetcircuit and gecko like this.
  13. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    I just go the email that 2.5 was accepted into the store. It should be up now, or in a few minutes. Hopefully everyone is pleased with the upgrades. I'm starting to get nervous that I forgot something, or that upgrading to the new shaders might not be as smooth as people would like. All the typical post release nerves I suppose. Anyhow, be sure to check it out if you've been looking for these features.
     
    wetcircuit likes this.
  14. Parapin

    Parapin

    Joined:
    Mar 31, 2017
    Posts:
    14
    Hi, I'm interested in this asset, there's a demo to try or not? if not, I want to know if there some possibilities to render the fur like a toon shader and if the skin under the fur can be trasparent. Thanks!
     
  15. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Purchased it, and playing with it now. The documentation seems a bit thin regarding the AlphaTest -- I went back and reread some of your posts here for tips on that -- and also on some other stuff (like LOD -- demo scene says "see documentation" but there's nothing in the doc about LOD). Maybe you could expand that some?

    And basically, there's no way to get the softness of the non-shadow-receiving shaders with AlphaTest, right? (I'm on a Mac and Temporal AA apparently doesn't work on Macs currently, so not sure how much that helps.) Any other tips to get it as soft as possible with shadows?

    Despite those quibbles, I'm so glad you tackled this upgrade--much appreciated!
     
  16. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    There's a video a page back where someone made a monster hair cutting game. That's about as close to a cartoon look you can get. You'd probably want to stay away from the alpha test versions in that case, so receiving shadows wouldn't be possible. The skin can't be transparent. At least not if you mean a circumstance like having fur on a glass ball or something. You can opt to not use skin at all, in which case the base layer will be made up of the fur texture. The bear in the above image does that.

    Sorry about the documentation. I am really horrible at explaining things. For some reason I seem to do better on the forums than when I try to sit down and write something formally. I thought I had checked all of the scenes where I mentioned the documentation, but I guess the LOD part got skipped over. As approval time got closer, I knew I'd have ended up forgetting something. I'll see about improving the docs a bit for the next update.

    Unfortunately alpha tested fur can't get too smooth. It's just the nature of not allowing any sort of transparency. Have you tried it with cheaper forms of AA? I didn't find that it looks too horrible with whatever the other AA is in the new Post-Processing stack. (I think it is FXAA?) One thing you can do is increase the strand density, if the desired look will allow for it. Having the strands more tightly packed seems to help mitigate the aliasing a bit. Making the fur length shorter helps as well. Although, that too is dependent upon the final goals for the look of the model.
     
  17. Parapin

    Parapin

    Joined:
    Mar 31, 2017
    Posts:
    14
    Thanks you for the answer
     
  18. jaks

    jaks

    Joined:
    Feb 22, 2009
    Posts:
    36
    I've been watching this shader for a while, any idea if it's working on mobile devices, Android and iPhone?
     
    mnbabd likes this.
  19. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    I don't do mobile development anymore, so I haven't tested it on those in a while. It isn't really designed for them but people have said it runs okay. You'd need to limit the number of furred objects, and probably use one of the lower shell counts as well. Also, be aware that the newer shaders that support receiving shadows are alpha clipped, which is slow on mobile, so those probably won't work well.

    If anyone has been waiting to buy the asset, it is currently part of the Biggest Sale Ever for a couple more days.
     
    mnbabd likes this.
  20. FuzzyShan

    FuzzyShan

    Joined:
    Jul 30, 2012
    Posts:
    182
    For us who is interested in mobile, can you put a reader for mobile optimization, such as reduce shell count, so on?
     
  21. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    For mobile, you'll want to use a lower shell count and probably avoid the alpha test version. Of course, this all depends on what your target hardware is. You'll also want to limit the number of furred objects in the scene. If plausible, also be sure to use the LOD system, as that will take the shell count all the way down to 1 if the object is far away. Let me know if that doesn't answer your question.
     
  22. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I've been setting up the fur on several animals, and discovered that the import size of the model matters a great deal. The first animal I was working with was imported at scale 1, and then scaled to 10 in the scene, and that was not optimal for the fur -- it exacerbated the inevitable limitations of alpha test (shadow receiving) fur effects. But now that I have that animal scaled at 10 in import and 1 in the scene, it looks MUCH better. And the other animals look really great too.

    So I'm super happy with this latest version of Imperial Fur. We've badly needed a decent fur shader for awhile and this is THE ONE, at last. I'm so grateful that you came back and tackled shadow-receiving and put so much effort into refining the effect -- it really shows.

    I haven't experimented on mobile yet, will report back when I do.
     
  23. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    Wow! Thank you so much! It really means a lot to hear that. I kinda panicked at the first paragraph because I thought it was going to be a problem that I was going to have to figure out, so the second one was extra flattering. Haha.

    Regarding the scale of the import, does changing the fur density help any? Regardless, that's for the tip as I'm sure it will help other people if their model needs to be scaled.
     
    gecko likes this.
  24. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    It changed the look, of course, but I couldn't get the fur to look real good until I fixed the import scale. It seemed like some fur shader calculations are based on import scale (?), and so the fur was trying to look good for a much smaller animal. When I later brought another animal into the scene and set up Imperial Fur on it, I whooped with delight.
     
    Last edited: Jun 2, 2017
  25. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    655
    Hi @HemiMG and @gecko
    I've been struggling with similar problems. I've mostly worked-around it for now (so this post is partly for future reference) but would dearly appreciate any insights (changes to consider in my process or IF... or perhaps its documentation)!

    My unsurprising goal is a rigged animal with fur.
    My difficulties relate to scaling of the fur in 2 dimensions:
    1. outward from model
    2. across surface of model
    (1) seems to be all about model importing like @gecko said. (2) seems to be about UV scaling.
    I'll describe some details -- my apologies for any patronising -- I figure it's better to be explicit when hunting bugs.

    I'm using Blender and manually exporting to FBX with various export scales attempted.
    (I'm using manual export since I've previously had issues with animation changes not being picked-up when using .blend files directly into Unity. Also if one publishes, FBX is the norm. Direct .blend file import seems to not to suffer from problem (1) btw.)
    By default, Blender FBX exports at "scale 1.00" which I believe means 1 unit = 1 cm.
    Unity default import perceives that as "File scale 0.01" which makes sense. It keeps its setting above "Scale factor 1"
    When Blender FBX exports multiple objects (which I believe one needs for rigged models), they appear in Unity as a top-level prefab with sub-prefabs, mesh objects, animations, etc.
    If one adds [any of] the prefab to the scene, the top-level one has transform scale 1 however the sub-GameObjects have scale 100!

    This last causes Imperial Fur to space its shells too far apart.

    For specificity, a rigged model has 1 top-level GO of scale 1 with 2 child GOs.
    1'st is a skinned mesh bearing child GO with scale 100. The 2'nd is a hierarchy of bones, the top level having scale 100.

    So the goal would seem to be avoiding scale 100 on those sub-GOs.

    As workaround to achieve this, I set Blender FBX export scale as 0.01 (since that seems to be multiplied with the sub-GOs' scales).
    Then in Unity, I have to tell it not to use the "File Scale" (using what I think is a new toggle).
    That gives correct scaling.
    I thought that went against Blender->Unity recommendations ... but now I can't find the reference. Seems Unity simply recommend placing the .blend file under Unity.

    Regarding (2) -- scaling/distributing fur across the model, I found Imperial Fur seems to distribute its fur strands based on UV density? I noticed this since my animal's face was larger in UV map than its body.
    As a workaround I've rescaled my UVs however to retain facial detail, I increased the texture size wasting texture space on the body (which is wholly covered in fur!). I guess I could do 2 materials but assume that would cause a hit on draw calls?
    Would a flag to distribute fur strands evenly in model space (rather than UV) make sense. Obviously this isn't for every case. (I'm not sure.)

    Thanks for reading. Hopefully some of this will be helpful.
     
  26. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Sorry we don't use Blender and haven't run into those issues. Sounds like quite a headache!
     
  27. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    Apologies for the late reply, I've been busy trying to make ends meet again. Since the textures are just textures mapped onto the UVs, I'm not sure how difficult it would be to map them in model space instead. But I can see how it would be an issue if the UV maps aren't evenly distributed. I've never ran into that problem because I always try to have a consistent texel density when I unwrap objects. I'll look into it when I get caught up on some bills though. Right now I can barely find time to eat. :(
     
  28. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    This is a great asset! The results are pretty good and the control maps are useful to shorten fur on an animal's paws and face :)

    I noticed that on close-up, the individual shells become visible (even at 40 layers) and that this is more noticeable on the top layers (because lower layers have high overdraw and same-colored surroundings which obscured the problem there):

    fur-linear-shells.png

    In an attempt to improve the looks, I tried to alter the way the shells are stacked. Instead of drawing 40 shells at linear distances (each 0.025 units along normal), I use a curve that places inner shells further apart than outer shells:

    fur-reciprocal-exponential-shells.png

    The distribution curve I tried was a simple (1 - Pow((1 - x), 3)):

    Code (CSharp):
    1.         #include "IFCommonVariables.cginc"
    2.  
    3.         // Lower linearity will pack layers more tightly further from the surface
    4.         #define LINEARITY 0.0
    5.         #define LAYERDEPTH (1.0 - (LINEARITY * (1.0 - CURRENTLAYER) + (1.0 - LINEARITY) * ((1.0 - CURRENTLAYER) * (1.0 - CURRENTLAYER) * (1.0 - CURRENTLAYER)) ) )
    No idea if the idea is useful to you, but for my special case, it does improve the visuals :)
     
    Seith likes this.
  29. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    That's very nice! How would a shader dummy like me apply this code?
     
  30. Cygon4

    Cygon4

    Joined:
    Sep 17, 2012
    Posts:
    382
    In IFCommonVert.inc use LAYERDEPTH instead of CURRENTLAYER and paste the above snippet into ImperialFurAlphaTest.cginc, ImperialFurAlphaTestSpecular.cginc, ImperialFurMetallic.cginc and ImperialFurSpecular.cginc.

    If you have the GNU patch tool, I've attached a patch that can be applied via 'patch -p0 < ImperialFur-Alternative-Layer-Distribution.patch' so long as you make sure the paths listed in the .patch file are matched.
     

    Attached Files:

  31. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Thanks -- but where in the cginc files do I paste that code? I put it in a couple places (including replacing the #include "IFCommonVariables.cginc" line" but the object turns pink after reimport.
     
  32. fek

    fek

    Joined:
    Sep 14, 2015
    Posts:
    13
    Hey there!

    First of all, I absolutely love this plugin. It is nearly perfect for my purposes, but there is one missing feature that is holding me back right now: an emissive / self-lit property. (For instance, imagine a tiger with stripes that glow in the dark.)

    I don't need the fur to actually shed light on surrounding objects; I just need to be able to specify portions of the fur that are self-illuminated / glow-in-the-dark, preferably through the control map.

    I'm afraid I'm not experienced enough with shaders to know if this is an easy feature (something that the community could easily edit in) or a difficult one (something the developer will need to do), but I do know that I'd be happy to throw some money at someone to make it happen.
     
  33. vrpronyc

    vrpronyc

    Joined:
    May 27, 2016
    Posts:
    5
    Hey this looks amazing! Do you know if it is compatible with ARkit or AR Core?
     
  34. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Anyone know if it's possible to make a decal work on the fur?
     
  35. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    I just started getting this error today:

    NullReferenceException: Object reference not set to an instance of an object
    ImperialFurShaderGUI.ShaderPropertiesGUI (UnityEngine.Material material) (at Assets/Editor/ImperialFurShaderGUI.cs:179)
    ImperialFurShaderGUI.OnGUI (UnityEditor.MaterialEditor materialEditor, UnityEditor.MaterialProperty[] props) (at Assets/Editor/ImperialFurShaderGUI.cs:172)
    UnityEditor.MaterialEditor.PropertiesGUI () (at /Users/builduser/buildslave/unity/build/Editor/Mono/Inspector/MaterialEditor.cs:1464)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)

    And the inspector is blank for all materials with ImperialFur "Main" shaders assigned (Simple shaders still work.) Was working fine yesterday, and I can't think of anything I might have done to cause this error. Help!

    On 2017.1p4 on Mac 10.12.6.
     
  36. HemiMG

    HemiMG

    Joined:
    Jan 17, 2014
    Posts:
    911
    I'm very sorry for the delay. Holidays and personal issues have kept me quite busy and horribly distracted. I'm not currently at the computer that has the shader on it, but I'll try to take a look at those lines tomorrow and see what might be up. I can't upgrade my old Mac to 10.12, so hopefully it isn't something specific to that OS. I doubt it would be though.
     
  37. gecko

    gecko

    Joined:
    Aug 10, 2006
    Posts:
    2,241
    Thanks for replying...but somehow the problem resolved itself today. I really did restart Unity when the problem arose, but it persisted...until now. Sigh. So, nevermind!

    Though I do have another question now: Do you think there's any way to add a snow effect to Imperial Fur -- so the top areas of the model are covered with snow (like for an animal outdoors in a snowstorm)? I've tried adding the MicroSplat snow mesh component, and it works but the snow is on the polygons, at the base of the fur while it really should be at the furtips. Any way to do that?

    thanks
    Dave
     
  38. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    Hi. @HemiMG

    Interested in this fur solution, but I have few questions before I buy.

    1. Will it work on consoles? (PS4, XboxOne, Switch)
    2. When you draw each shells, dose it cost a draw call per shell?

    If you can't tell if it will work on consoles, then I will be glad to test it for you. Just let me know. I just need to find out if the asset works for consoles, if not can we work together to make it work, or can I get refund if it won't work after everything we tried.

    Thanks.
     
  39. jun-x

    jun-x

    Joined:
    Jul 6, 2017
    Posts:
    2
    I'm not sure if I'm just doing something wrong, but I'm having the weirdest issue where when I'm creating a material from scratch using any of the shaders, the control map does nothing no matter what I set. But if I use the demo scene materials using the exact same shader, the control map seem to work for the function specific to the demo.

    Like for example in the bias demo, the bias is working but if I plug in a map that also has info in the red channel determining height, it has no effect. Then if I use the demo mat. that's used in the height demo, the same map I plugged into the bias mat suddenly has height control now, but it loses bias control. This seems very odd to me. When I duplicate the demo materials, they again, work only for specific things parts, but the same control map never seems to have full control over everything.

    I must be doing something wrong on my end, because I can't even begin to understand what's going on. I looked at the docs, and I don't see anything that's specifying something I need to do or enable before creating materials, or that I need to use specific shaders. I can't find anything specifically unique about the materials themselves, but even when I change the shader of the demo materials to simple or another imperial furshader, nothing changes or breaks. The control maps work for some parts, but not others. And again, when I just create a mat. from scratch, the control map doesn't do anything at all.This seems so bizarre to me.

    I'm sure it's just something stupid, and I'm missing something fundamental here, but I need some help identifying what the problem even is.


    EDIT: I think I figured out the possible root of the problem, at least! Just as I thought, I was missing something really obvious: there has been some yellow warnings that I just didn't notice, and I don't know if they're the root of the problem, but I think they're definitely contributing? possibly? Because I've just noticed that the normal map slot for the map doesn't seem to do anything, as well as the menu for the specular of the skin. The spec. map works though. Anyways the warning is about the 'CustomEditor = ImperialFurShaderGUI' and how a custom GUI could not be created.
    'Could not create a custom UI for the shader 'Imperial Fur/Main/AlphaTest/Specular/20 Shell'. The shader has the following: 'CustomEditor = ImperialFurShaderGUI'. Does the custom editor specified include its namespace? And does the class either derive from ShaderGUI or MaterialEditor?'

    So I think this might be why certain maps just aren't working. I don't know how any of this has to do with why sometimes it works for some things though.

    Anyways, I know I'm pointing out all these strangeness but I honestly am really loving this shader so far! I'm seeing a lot of support on this board. Thanks for your continuous work on it!


    LAST EDIT: Holy crap i was just being a complete nimrod. I was working on two computers and just sent zipped parts of the project to myself instead of using github. but I just read my own comment and realized I was logged in on a different account. all I had to do was re-buy the plugin with my personal unity account and redownload and everything was perfectly fine. Sorry for the confusion!
     
    Last edited: Feb 5, 2018
  40. King_H

    King_H

    Joined:
    Jan 10, 2018
    Posts:
    1
    I am still a beginner to Unity and would really enjoy using this fur shader however I believe I'm doing it completely wrong. For example I'm not sure which materials to use where and generally I will end up making the entire world look rather interesting... If there is a tutorial anywhere I would be greatful! :)
    Fur.png
     
  41. unity_13thjh

    unity_13thjh

    Joined:
    Dec 21, 2017
    Posts:
    1
    NullReferenceException: Object reference not set to an instance of an object
    ImperialFurShaderGUI.ShaderPropertiesGUI (UnityEngine.Material material) (at Assets/Editor/ImperialFurShaderGUI.cs:179)
    ImperialFurShaderGUI.OnGUI (UnityEditor.MaterialEditor materialEditor, UnityEditor.MaterialProperty[] props) (at Assets/Editor/ImperialFurShaderGUI.cs:172)
    UnityEditor.MaterialEditor.PropertiesGUI () (at C:/buildslave/unity/build/Editor/Mono/Inspector/MaterialEditor.cs:1494)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr)


    I have this problem. There is no window to adjust the material properties. I want to know the solution.
     
  42. Dommel

    Dommel

    Joined:
    Mar 14, 2013
    Posts:
    1
    Hi @HemiMG

    Is this shader still being supported? I'm running into some lighting issues.
    Currently trying to find out what is going wrong. So let me know what the status is of support.

    Regards,
     
  43. TechnicalArtist

    TechnicalArtist

    Joined:
    Jul 9, 2012
    Posts:
    736
    Hey,
    I want to purchase fur shader but the last update was Mar 31, 2017.
    Any update news?
     
  44. ksam2

    ksam2

    Joined:
    Apr 28, 2012
    Posts:
    1,079
    Best fur I ever seen.
    Just that weird it doesn't support Cutout! for eyebrow I need to use a cutout material.
     
  45. Davood_Kharmanzar

    Davood_Kharmanzar

    Joined:
    Sep 20, 2017
    Posts:
    411
    does it support on HD render pipeline?
     
  46. wetcircuit

    wetcircuit

    Joined:
    Jul 17, 2012
    Posts:
    1,409
    The latest version was released Mar 30, 2017 o_O What do you think?
     
  47. brisingre

    brisingre

    Joined:
    Nov 8, 2009
    Posts:
    277
    IDK if the OP's still watching this thread, but, if you are:

    All the image links in your first post are bust.
     
  48. WavingBear

    WavingBear

    Joined:
    Sep 15, 2018
    Posts:
    4
    Fur options.png
    I've created material and added the imperial fur shader to it but the options to edit the fur aren't appearing. Does anyone know why?
     
  49. matheus_inmotionvr

    matheus_inmotionvr

    Joined:
    Oct 3, 2018
    Posts:
    63
    I', having problems with my furry character. Whenever any part of it gets in front of another one, the fur is semi-transparent (as seen below). Is there a workaround for this? mdalk.PNG
     
  50. jaschieffer

    jaschieffer

    Joined:
    Feb 15, 2017
    Posts:
    11
    I think this is because your camera is set to forward instead of differed.