Stylized Wings

Hello,

it’s a little wing shader similar to the “Wings of Angles” from Diablo 3.

 

Add the Shader Material to a plane or custom mesh, then just assign the shader_textures to their slots and a gradient to the gradient_slot.

There is also a tutorial. The Shader is also very useful to create flames or plumes.

 

 

Shader code
//Made by Kmitt91//

shader_type spatial;

render_mode diffuse_toon, cull_disabled;

uniform sampler2D wing_tex : hint_white;
uniform sampler2D mask_tex : hint_white;
uniform sampler2D pattern_tex : hint_white;
uniform sampler2D gradient_tex : hint_black_albedo;

uniform float displ_strengh = 0.3;
uniform float wave_frequency = 2.0;
uniform float speed = 0.2;
uniform float emission_strengh = 0.0;


void vertex() {
	VERTEX.y += displ_strengh * UV.x * sin(VERTEX.x * wave_frequency + TIME * 4.0*speed);
}


void fragment() {
	
	vec2 uv_movement = UV;
	uv_movement -= speed * (TIME * vec2(1.0, 0.0));
	
	vec4 wing = texture(wing_tex, uv_movement);
	vec4 mask = texture(mask_tex, UV);
	vec4 pattern = texture(pattern_tex, uv_movement * vec2(2.0, 1.0));
	vec3 gradient = texture(gradient_tex, UV).rgb;
	
	vec3 emission = emission_strengh * gradient;
	
	vec3 alter_mask = mask.rgb * pattern.rgb;
	
	
	ALBEDO = wing.rgb * gradient.rgb * alter_mask.rgb;
	ALPHA = wing.r * mask.r;
	EMISSION = emission * pattern.rgb * alter_mask.rgb;
}
Tags
3d, stylized
The shader code and all code snippets in this post are under MIT license and can be used freely. Images and videos, and assets depicted in those, do not fall under this license. For more info, see our License terms.

More from kmitt91

mesh-terrain blending

Stylized Water Shader

Related shaders

Stylized Water for Godot 4.x

Stylized metal (unlit)

Stylized Multimesh Grass Shader

Subscribe
Notify of
guest

1 Comment
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
sigrdrifa
3 years ago

this is amazing, thanks!