Procedural Symbiote/Fresnel

You WILL need to provide a normal map.

I used this one

A procedural spatial shader designed to create animated, organic surfaces similar to alien symbiotes, liquid metal, or bad glass using the inverted fresnel option on a light color.

Shader code
shader_type spatial;
uniform vec4 baseColor : source_color = vec4(0, 0, 0, 1.0);
uniform vec4 fresnelAlbedo : source_color = vec4(0.3, 0.3, 0.3, 1.0);
uniform bool invertFresnel = false;
uniform float roughness = 0.2;
uniform float metallic = 0.3;
uniform sampler2D normalMap;
uniform float normalMapStrngth = 0.40;
uniform float scaleX = 5;
uniform float scaleY = 5;
uniform float speedX = 20;
uniform float speedY = 20;

vec3 fresnel_glow(float amount, float intensity, vec3 color, vec3 normal, vec3 view)
{
	return pow((1.0 - dot(normalize(normal), normalize(view))), amount) * color * intensity;
}


void fragment(){
	float f_dot = 1.0 - dot(normalize(NORMAL), normalize(VIEW));
	float fresnel_factor = pow(f_dot, 4.0);
	vec2 uv_offset = vec2(TIME * speedX / 10000.0, TIME * speedY / 10000.0);
	NORMAL_MAP = texture(normalMap, (UV + uv_offset) * vec2(scaleX, scaleY)).rgb;
	NORMAL_MAP_DEPTH = normalMapStrngth;
	ROUGHNESS = roughness;
	METALLIC = metallic;

	if (invertFresnel){
		ALBEDO = mix(baseColor.rgb, fresnelAlbedo.rgb, clamp(fresnel_factor * 4.5, 0.0, 1.0));
	}
	else{
		vec3 fresnel = fresnel_factor * fresnelAlbedo.rgb * 4.5;
		ALBEDO = baseColor.rgb + fresnel;
	}

}
Tags
pbr, Procedural, shader, Symbiote
The shader code and all code snippets in this post are under CC0 license and can be used freely without the author's permission. Images and videos, and assets depicted in those, do not fall under this license. For more info, see our License terms.

More from Pcniado

Related shaders

guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments