There are two versions, one made with the visual shader editor tool and another using code, for the sphere and the cube respectively.
Code version:
shader_type spatial;
render_mode cull_disabled, depth_draw_alpha_prepass;
uniform sampler2D noise_text;
uniform vec3 color;
uniform float velocity_factor;
uniform float dissolve_amount : hint_range(0.0, 1.0) = 0.5;
void fragment () {
vec4 noise = texture(noise_text, UV);
float input = dissolve_amount - 0.5;
float cut_pass = noise.r + input;
float border_pass = cut_pass - 0.015;
cut_pass = round(cut_pass);
ALPHA = cut_pass;
border_pass = round (border_pass);
border_pass = 1.0 - border_pass;
vec3 final_border = vec3(border_pass);
final_border *= color;
EMISSION = final_border;
}
Old Code Version (more similar to the visual shader one):
shader_type spatial;
render_mode cull_disabled, depth_draw_alpha_prepass;
uniform sampler2D noise_text;
uniform vec3 color;
uniform float velocity_factor;
void fragment () {
vec4 noise = texture(noise_text, UV);
float input = sin(TIME * velocity_factor) / 2.0;
float cut_pass = noise.r + input;
float border_pass = cut_pass - 0.015;
cut_pass = round(cut_pass);
ALPHA = cut_pass;
border_pass = round (border_pass);
border_pass = 1.0 - border_pass;
vec3 final_border = vec3(border_pass);
final_border *= color;
EMISSION = final_border;
}