Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines
(2 edits)

Nice! I personally use something like this:

float tex = Texture2DSample(inTexture, inTextureSampler, uv).r;
float anim = smoothstep(inGrowth, inGrowth + inGrowthSmooth, sqrt(tex)) * tex;
float opacity = saturate(anim * inOpacity);
float blood = smoothstep(inGrowth, inColorShallow, anim);
float roughness = min(opacity * inRoughness, inMaxRoughness);

outColor = lerp(inColor, 0, blood);
outSpecular = opacity;
outRoughness = roughness;
outOpacity = opacity;