Shader 代码部分

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
shader_type canvas_item;

uniform vec2 center = vec2(0.5);
uniform float power = 1.0;

void fragment() {
    vec2 p = UV - center;
    float r = length(p);
    float a = atan(p.y,p.x) + power*r;
    vec2 uv = center + vec2(cos(a), sin(a))*r;
    COLOR = texture(TEXTURE, uv);
}

编辑器部分

封面

原型参考

封面