Fur/Custom Shaders

As a Roblox developer, I’d like the ability to use a fur shader on my custom rigs.

I am developing a game where you play as a wolf, however, even though I am utilizing baked normal maps, the model still appears rather “flat”. The best way to give this model more dimension is to use an optimized fur shader, similar to that of games such as VRChat or WolfQuest.

FurFX for example, is an optimized fur shader that can be used in Unity.

furFX - Physics-based Fur Shaders - Unity Forum


17 Likes

I should also mention that the use of hair cards to generate fur is not optimized compared to the use of a fur shader, which does not use actual polygons and is just an illusion based upon the use of different maps.

2 Likes

It would bring out some better animal games and there are a lot of animal games so, why not?! I hope roblox sees this!

2 Likes

if you want to, you can add a particle emitter to it and set the speed to 0 but you might have to add a bunch of parts. I have a solution for this but its laggy, so i’ll agree.

I would love having this feature, it’d be really cool for things like hair and grass too.

Hair cards and shells work in a lot of cases but have the major disadvantage of producing crap tons of overdraw, not to mention, alpha is also slow to render with forward shading and the cost multiplies for each geometry instance and light source present.

I’m all in for custom shaders, there’d be so much possible with stylized graphics.
Semi realism can get a bit bland at times and there’s only so much you can do with models, textures and light sources before running out of options.

I’d love having the ability to use the HLSL programming language or have Luau compile into shader instructions.

Having more system-level control over shaders and graphics is a must in a game engine that “powers imagination”.

Imagine how much variety there could be in graphics and styles on Roblox.
Seeing more toon-shaded or comic-like games or more abstract styles would be awesome.

1 Like

The downside of particle emitters is that they have a maximum life time of 20 seconds after which you’ll see particles fade out/disappear and even if you use smooth fading animations it’ll still be noticeable on stationary objects.

Particles really need the ability for infinite life times and the ability to also work on skinned/animated meshes (bend along with every polygon so it doesn’t float in mid-air).

pretty sure you can have them last forever by setting timescale to 0

2 Likes

Since when is there a timescale setting? Isn’t that something only engines like Unity and Unreal have?
I have never seen this setting anywhere on particle effects.

Edit: Oh yeah I found it, thank you sooo much! That’s useful as heck.
I’m still supporting this feature request tho.

Edit 2: So after testing out particle emitters I figured they actually also have a few downsides.

There’s a maximum amount of particles that Roblox can handle before they stop being rendered and all become invisible.
AND having many overlapping particles creates lag due to overdraw but that’s pretty much unavoidable with transparency.

1 Like

no problem! and i agree, if roblox won’t allow us to write custom shaders i’d appreciate if they’d supply us with some basic customizable ones

1 Like

One thing to note here is that generating fur on any given mesh is computationally expensive. It’s hard to get right and since it’s on the client, it’s not exactly performant for most devices that play Roblox.

Would love this feature and perhaps, using what they did for grass as a framework could work? I’m not sure how that would look to know.

This looks well made, good job!