1750 lines
69 KiB
Plaintext
1750 lines
69 KiB
Plaintext
[gd_scene load_steps=27 format=2]
|
|
|
|
[ext_resource path="res://Assets/Maps/DM1/DM1_dev_materials.glb" type="PackedScene" id=1]
|
|
[ext_resource path="res://Assets/Audio/SFX/Ambient_BuzzAndHum.wav" type="AudioStream" id=2]
|
|
[ext_resource path="res://Classes/LevelComponents/SpawnPoint.tscn" type="PackedScene" id=9]
|
|
[ext_resource path="res://Assets/Maps/DM1/OmniFlicker.gd" type="Script" id=10]
|
|
[ext_resource path="res://Assets/Maps/DM1/SpotFlicker.gd" type="Script" id=11]
|
|
[ext_resource path="res://Assets/Audio/SFX/Ambient_Pipes.wav" type="AudioStream" id=12]
|
|
[ext_resource path="res://Classes/LevelComponents/SpawnPointsManager.gd" type="Script" id=13]
|
|
[ext_resource path="res://Classes/LevelComponents/Killfloor.tscn" type="PackedScene" id=14]
|
|
|
|
[sub_resource type="ProceduralSky" id=1]
|
|
|
|
[sub_resource type="Environment" id=2]
|
|
background_mode = 2
|
|
background_sky = SubResource( 1 )
|
|
tonemap_mode = 3
|
|
tonemap_white = 1.5
|
|
ss_reflections_max_steps = 256
|
|
ss_reflections_fade_in = 0.14489
|
|
ss_reflections_fade_out = 1.10957
|
|
ssao_intensity = 8.0
|
|
glow_enabled = true
|
|
glow_levels/1 = true
|
|
glow_levels/2 = true
|
|
glow_levels/4 = true
|
|
glow_intensity = 0.1
|
|
glow_strength = 0.93
|
|
glow_blend_mode = 1
|
|
glow_hdr_threshold = 0.3
|
|
glow_bicubic_upscale = true
|
|
adjustment_brightness = 1.06
|
|
adjustment_contrast = 1.13
|
|
adjustment_saturation = 1.03
|
|
|
|
[sub_resource type="Shader" id=3]
|
|
code = "shader_type spatial;
|
|
varying float elapsed_time;
|
|
uniform float density = 1.0;
|
|
uniform float speed = 1.0;
|
|
uniform float offset = 0.0;
|
|
uniform vec4 color : hint_color = vec4(1,1,1,1);
|
|
|
|
void vertex() {
|
|
elapsed_time = TIME * speed + offset;
|
|
}
|
|
|
|
//---
|
|
|
|
float rand(vec2 x) {
|
|
return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453);
|
|
}
|
|
|
|
vec2 rand2(vec2 x) {
|
|
return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rand3(vec2 x) {
|
|
return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398)),
|
|
dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rgb2hsv(vec3 c) {
|
|
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
|
vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);
|
|
vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);
|
|
|
|
float d = q.x - min(q.w, q.y);
|
|
float e = 1.0e-10;
|
|
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
|
|
}
|
|
|
|
vec3 hsv2rgb(vec3 c) {
|
|
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
|
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
|
|
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
|
}
|
|
|
|
float shape_circle(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float distance = length(uv);
|
|
return clamp((1.0-distance/size)/edge, 0.0, 1.0);
|
|
}
|
|
|
|
float shape_polygon(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y)+3.14159265359;
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(angle/slice-0.5+2.0*step(mod(angle, slice), 0.5*slice))*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_curved_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_rays(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = 0.5*max(edge, 1.0e-8)*size;
|
|
float slice = 6.28318530718/sides;
|
|
float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice;
|
|
return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0);
|
|
}
|
|
|
|
float rand31(vec3 p) {
|
|
return fract(sin(dot(p,vec3(127.1,311.7, 74.7)))*43758.5453123);
|
|
}
|
|
vec3 rand33(vec3 p){
|
|
p = vec3( dot(p,vec3(127.1,311.7, 74.7)),
|
|
dot(p,vec3(269.5,183.3,246.1)),
|
|
dot(p,vec3(113.5,271.9,124.6)));
|
|
|
|
return -1.0 + 2.0*fract(sin(p)*43758.5453123);
|
|
}
|
|
|
|
float tex3d_fbm_value(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float p000 = rand31(mod(o, size));
|
|
float p001 = rand31(mod(o + vec3(0.0, 0.0, 1.0), size));
|
|
float p010 = rand31(mod(o + vec3(0.0, 1.0, 0.0), size));
|
|
float p011 = rand31(mod(o + vec3(0.0, 1.0, 1.0), size));
|
|
float p100 = rand31(mod(o + vec3(1.0, 0.0, 0.0), size));
|
|
float p101 = rand31(mod(o + vec3(1.0, 0.0, 1.0), size));
|
|
float p110 = rand31(mod(o + vec3(1.0, 1.0, 0.0), size));
|
|
float p111 = rand31(mod(o + vec3(1.0, 1.0, 1.0), size));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_perlin(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
vec3 v000 = normalize(rand33(mod(o, size))-vec3(0.5));
|
|
vec3 v001 = normalize(rand33(mod(o + vec3(0.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v010 = normalize(rand33(mod(o + vec3(0.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v011 = normalize(rand33(mod(o + vec3(0.0, 1.0, 1.0), size))-vec3(0.5));
|
|
vec3 v100 = normalize(rand33(mod(o + vec3(1.0, 0.0, 0.0), size))-vec3(0.5));
|
|
vec3 v101 = normalize(rand33(mod(o + vec3(1.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v110 = normalize(rand33(mod(o + vec3(1.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v111 = normalize(rand33(mod(o + vec3(1.0, 1.0, 1.0), size))-vec3(0.5));
|
|
float p000 = dot(v000, f);
|
|
float p001 = dot(v001, f - vec3(0.0, 0.0, 1.0));
|
|
float p010 = dot(v010, f - vec3(0.0, 1.0, 0.0));
|
|
float p011 = dot(v011, f - vec3(0.0, 1.0, 1.0));
|
|
float p100 = dot(v100, f - vec3(1.0, 0.0, 0.0));
|
|
float p101 = dot(v101, f - vec3(1.0, 0.0, 1.0));
|
|
float p110 = dot(v110, f - vec3(1.0, 1.0, 0.0));
|
|
float p111 = dot(v111, f - vec3(1.0, 1.0, 1.0));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return 0.5 + mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_cellular(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float min_dist = 3.0;
|
|
for (float x = -1.0; x <= 1.0; x++) {
|
|
for (float y = -1.0; y <= 1.0; y++) {
|
|
for (float z = -1.0; z <= 1.0; z++) {
|
|
vec3 node = 0.4*rand33(mod(o + vec3(x, y, z), size)) + vec3(x, y, z);
|
|
float dist = sqrt((f - node).x * (f - node).x + (f - node).y * (f - node).y + (f - node).z * (f - node).z);
|
|
min_dist = min(min_dist, dist);
|
|
}
|
|
}
|
|
}
|
|
return min_dist;
|
|
}
|
|
const float p_o349717_curve_0_x = 0.000000000;
|
|
const float p_o349717_curve_0_y = 0.000000000;
|
|
const float p_o349717_curve_0_ls = 0.000000000;
|
|
const float p_o349717_curve_0_rs = -0.029626113;
|
|
const float p_o349717_curve_1_x = 1.000000000;
|
|
const float p_o349717_curve_1_y = 1.000000000;
|
|
const float p_o349717_curve_1_ls = 0.000000000;
|
|
const float p_o349717_curve_1_rs = -0.000000000;
|
|
float o349717_curve_curve_fct(float x) {
|
|
if (x <= p_o349717_curve_1_x) {
|
|
float dx = x - p_o349717_curve_0_x;
|
|
float d = p_o349717_curve_1_x - p_o349717_curve_0_x;
|
|
float t = dx/d;
|
|
float omt = (1.0 - t);
|
|
float omt2 = omt * omt;
|
|
float omt3 = omt2 * omt;
|
|
float t2 = t * t;
|
|
float t3 = t2 * t;
|
|
d /= 3.0;
|
|
float y1 = p_o349717_curve_0_y;
|
|
float yac = p_o349717_curve_0_y + d*p_o349717_curve_0_rs;
|
|
float ybc = p_o349717_curve_1_y - d*p_o349717_curve_1_ls;
|
|
float y2 = p_o349717_curve_1_y;
|
|
return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3;
|
|
}
|
|
}
|
|
const float p_o298492_default_in1 = 0.000000000;
|
|
const float p_o298492_default_in2 = 1.460000000;
|
|
const float p_o398828_default_in1 = 0.000000000;
|
|
const float p_o398828_default_in2 = 0.000000000;
|
|
const float p_o260446_default_in1 = 0.000000000;
|
|
const float p_o260446_default_in2 = 1.350000000;
|
|
const float p_o253351_default_in1 = 0.000000000;
|
|
const float p_o253351_default_in2 = 0.000000000;
|
|
const float p_o321142_default_in1 = 0.000000000;
|
|
const float p_o321142_default_in2 = 1.500000000;
|
|
const float p_o277526_sides = 1.000000000;
|
|
const float p_o277526_radius = 1.000000000;
|
|
const float p_o277526_edge = 0.760000000;
|
|
const float p_o135529_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in2 = 0.160000000;
|
|
const float p_o86476_default_in1 = 0.000000000;
|
|
const float p_o86476_default_in2 = 0.360000000;
|
|
const float p_o9697_sides = 2.000000000;
|
|
const float p_o9697_radius = 1.010000000;
|
|
const float p_o9697_edge = 2.700000000;
|
|
const float p_o535536_default_in1 = 0.000000000;
|
|
const int seed_o530985 = -46342;
|
|
const float p_o530985_scale_x = 4.000000000;
|
|
const float p_o530985_scale_y = 4.000000000;
|
|
const float p_o530985_scale_z = 4.000000000;
|
|
const float p_o530985_iterations = 8.000000000;
|
|
const float p_o530985_persistence = 0.500000000;
|
|
float o530985_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o574483_Distort = 0.280000000;
|
|
const int seed_o15805 = -41176;
|
|
const float p_o15805_scale_x = 8.000000000;
|
|
const float p_o15805_scale_y = 8.000000000;
|
|
const float p_o15805_scale_z = 8.000000000;
|
|
const float p_o15805_iterations = 8.000000000;
|
|
const float p_o15805_persistence = 0.500000000;
|
|
float o15805_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o395471_color = 1.000000000;
|
|
|
|
void fragment() {
|
|
float o277526_0_1_f = shape_circle((UV), p_o277526_sides, p_o277526_radius*1.0, p_o277526_edge*1.0);
|
|
float o321142_0_clamp_false = pow(o277526_0_1_f,p_o321142_default_in2);
|
|
float o321142_0_clamp_true = clamp(o321142_0_clamp_false, 0.0, 1.0);
|
|
float o321142_0_2_f = o321142_0_clamp_false;
|
|
float o535536_0_clamp_false = p_o535536_default_in1+(elapsed_time*0.1);
|
|
float o535536_0_clamp_true = clamp(o535536_0_clamp_false, 0.0, 1.0);
|
|
float o535536_0_2_f = o535536_0_clamp_false;
|
|
vec3 o530985_0_1_tex3d = vec3(o530985_fbm((vec4((UV), o535536_0_2_f, 0.0)).xyz, vec3(p_o530985_scale_x, p_o530985_scale_y, p_o530985_scale_z), int(p_o530985_iterations), p_o530985_persistence, float(seed_o530985)));
|
|
vec3 o535539_0_1_rgb = o530985_0_1_tex3d;
|
|
float o9697_0_1_f = shape_circle((UV), p_o9697_sides, p_o9697_radius*1.0, p_o9697_edge*(dot(o535539_0_1_rgb, vec3(1.0))/3.0));
|
|
float o86476_0_clamp_false = pow(o9697_0_1_f,p_o86476_default_in2);
|
|
float o86476_0_clamp_true = clamp(o86476_0_clamp_false, 0.0, 1.0);
|
|
float o86476_0_2_f = o86476_0_clamp_false;
|
|
float o60565_0_clamp_false = o86476_0_2_f*p_o60565_default_in2;
|
|
float o60565_0_clamp_true = clamp(o60565_0_clamp_false, 0.0, 1.0);
|
|
float o60565_0_2_f = o60565_0_clamp_false;
|
|
float o135529_0_clamp_false = o60565_0_2_f+(elapsed_time*0.1);
|
|
float o135529_0_clamp_true = clamp(o135529_0_clamp_false, 0.0, 1.0);
|
|
float o135529_0_2_f = o135529_0_clamp_false;
|
|
float o620684_0_1_f = (elapsed_time);
|
|
vec4 o614555_0_1_rgba = vec4(0.0, o620684_0_1_f, 0.0, 1.0);
|
|
vec3 o584725_0_1_tex3d = ((o614555_0_1_rgba).rgb);
|
|
vec3 o15805_0_1_tex3d = vec3(o15805_fbm((vec4((vec4((UV), o135529_0_2_f, 0.0)).xyz+(o584725_0_1_tex3d*p_o574483_Distort*0.5-0.5), 0.0)).xyz, vec3(p_o15805_scale_x, p_o15805_scale_y, p_o15805_scale_z), int(p_o15805_iterations), p_o15805_persistence, float(seed_o15805)));
|
|
vec3 o574483_0_1_tex3d = o15805_0_1_tex3d;
|
|
vec3 o39870_0_1_rgb = o574483_0_1_tex3d;
|
|
float o253351_0_clamp_false = o321142_0_2_f*(dot(o39870_0_1_rgb, vec3(1.0))/3.0);
|
|
float o253351_0_clamp_true = clamp(o253351_0_clamp_false, 0.0, 1.0);
|
|
float o253351_0_1_f = o253351_0_clamp_false;
|
|
float o260446_0_clamp_false = pow(o253351_0_1_f,p_o260446_default_in2);
|
|
float o260446_0_clamp_true = clamp(o260446_0_clamp_false, 0.0, 1.0);
|
|
float o260446_0_2_f = o260446_0_clamp_false;
|
|
float o395471_0_1_f = p_o395471_color;
|
|
float o398828_0_clamp_false = o260446_0_2_f*o395471_0_1_f;
|
|
float o398828_0_clamp_true = clamp(o398828_0_clamp_false, 0.0, 1.0);
|
|
float o398828_0_1_f = o398828_0_clamp_false;
|
|
float o298492_0_clamp_false = o398828_0_1_f*p_o298492_default_in2;
|
|
float o298492_0_clamp_true = clamp(o298492_0_clamp_false, 0.0, 1.0);
|
|
float o298492_0_2_f = o298492_0_clamp_true;
|
|
float o349717_0_1_f = o349717_curve_curve_fct(o298492_0_2_f);
|
|
ALBEDO = color.rgb;
|
|
ALPHA = vec3(o349717_0_1_f).r * color.a * density;
|
|
}"
|
|
|
|
[sub_resource type="ShaderMaterial" id=4]
|
|
shader = SubResource( 3 )
|
|
shader_param/density = 0.379
|
|
shader_param/speed = 1.0
|
|
shader_param/offset = 0.0
|
|
shader_param/color = Color( 1, 1, 1, 1 )
|
|
|
|
[sub_resource type="QuadMesh" id=5]
|
|
material = SubResource( 4 )
|
|
size = Vector2( 16, 16 )
|
|
|
|
[sub_resource type="Shader" id=6]
|
|
code = "shader_type spatial;
|
|
varying float elapsed_time;
|
|
uniform float density = 1.0;
|
|
uniform float speed = 1.0;
|
|
uniform float offset = 0.0;
|
|
uniform vec4 color : hint_color = vec4(1,1,1,1);
|
|
|
|
void vertex() {
|
|
elapsed_time = TIME * speed + offset;
|
|
}
|
|
|
|
//---
|
|
|
|
float rand(vec2 x) {
|
|
return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453);
|
|
}
|
|
|
|
vec2 rand2(vec2 x) {
|
|
return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rand3(vec2 x) {
|
|
return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398)),
|
|
dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rgb2hsv(vec3 c) {
|
|
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
|
vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);
|
|
vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);
|
|
|
|
float d = q.x - min(q.w, q.y);
|
|
float e = 1.0e-10;
|
|
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
|
|
}
|
|
|
|
vec3 hsv2rgb(vec3 c) {
|
|
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
|
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
|
|
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
|
}
|
|
|
|
float shape_circle(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float distance = length(uv);
|
|
return clamp((1.0-distance/size)/edge, 0.0, 1.0);
|
|
}
|
|
|
|
float shape_polygon(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y)+3.14159265359;
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(angle/slice-0.5+2.0*step(mod(angle, slice), 0.5*slice))*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_curved_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_rays(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = 0.5*max(edge, 1.0e-8)*size;
|
|
float slice = 6.28318530718/sides;
|
|
float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice;
|
|
return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0);
|
|
}
|
|
|
|
float rand31(vec3 p) {
|
|
return fract(sin(dot(p,vec3(127.1,311.7, 74.7)))*43758.5453123);
|
|
}
|
|
vec3 rand33(vec3 p){
|
|
p = vec3( dot(p,vec3(127.1,311.7, 74.7)),
|
|
dot(p,vec3(269.5,183.3,246.1)),
|
|
dot(p,vec3(113.5,271.9,124.6)));
|
|
|
|
return -1.0 + 2.0*fract(sin(p)*43758.5453123);
|
|
}
|
|
|
|
float tex3d_fbm_value(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float p000 = rand31(mod(o, size));
|
|
float p001 = rand31(mod(o + vec3(0.0, 0.0, 1.0), size));
|
|
float p010 = rand31(mod(o + vec3(0.0, 1.0, 0.0), size));
|
|
float p011 = rand31(mod(o + vec3(0.0, 1.0, 1.0), size));
|
|
float p100 = rand31(mod(o + vec3(1.0, 0.0, 0.0), size));
|
|
float p101 = rand31(mod(o + vec3(1.0, 0.0, 1.0), size));
|
|
float p110 = rand31(mod(o + vec3(1.0, 1.0, 0.0), size));
|
|
float p111 = rand31(mod(o + vec3(1.0, 1.0, 1.0), size));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_perlin(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
vec3 v000 = normalize(rand33(mod(o, size))-vec3(0.5));
|
|
vec3 v001 = normalize(rand33(mod(o + vec3(0.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v010 = normalize(rand33(mod(o + vec3(0.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v011 = normalize(rand33(mod(o + vec3(0.0, 1.0, 1.0), size))-vec3(0.5));
|
|
vec3 v100 = normalize(rand33(mod(o + vec3(1.0, 0.0, 0.0), size))-vec3(0.5));
|
|
vec3 v101 = normalize(rand33(mod(o + vec3(1.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v110 = normalize(rand33(mod(o + vec3(1.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v111 = normalize(rand33(mod(o + vec3(1.0, 1.0, 1.0), size))-vec3(0.5));
|
|
float p000 = dot(v000, f);
|
|
float p001 = dot(v001, f - vec3(0.0, 0.0, 1.0));
|
|
float p010 = dot(v010, f - vec3(0.0, 1.0, 0.0));
|
|
float p011 = dot(v011, f - vec3(0.0, 1.0, 1.0));
|
|
float p100 = dot(v100, f - vec3(1.0, 0.0, 0.0));
|
|
float p101 = dot(v101, f - vec3(1.0, 0.0, 1.0));
|
|
float p110 = dot(v110, f - vec3(1.0, 1.0, 0.0));
|
|
float p111 = dot(v111, f - vec3(1.0, 1.0, 1.0));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return 0.5 + mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_cellular(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float min_dist = 3.0;
|
|
for (float x = -1.0; x <= 1.0; x++) {
|
|
for (float y = -1.0; y <= 1.0; y++) {
|
|
for (float z = -1.0; z <= 1.0; z++) {
|
|
vec3 node = 0.4*rand33(mod(o + vec3(x, y, z), size)) + vec3(x, y, z);
|
|
float dist = sqrt((f - node).x * (f - node).x + (f - node).y * (f - node).y + (f - node).z * (f - node).z);
|
|
min_dist = min(min_dist, dist);
|
|
}
|
|
}
|
|
}
|
|
return min_dist;
|
|
}
|
|
const float p_o349717_curve_0_x = 0.000000000;
|
|
const float p_o349717_curve_0_y = 0.000000000;
|
|
const float p_o349717_curve_0_ls = 0.000000000;
|
|
const float p_o349717_curve_0_rs = -0.029626113;
|
|
const float p_o349717_curve_1_x = 1.000000000;
|
|
const float p_o349717_curve_1_y = 1.000000000;
|
|
const float p_o349717_curve_1_ls = 0.000000000;
|
|
const float p_o349717_curve_1_rs = -0.000000000;
|
|
float o349717_curve_curve_fct(float x) {
|
|
if (x <= p_o349717_curve_1_x) {
|
|
float dx = x - p_o349717_curve_0_x;
|
|
float d = p_o349717_curve_1_x - p_o349717_curve_0_x;
|
|
float t = dx/d;
|
|
float omt = (1.0 - t);
|
|
float omt2 = omt * omt;
|
|
float omt3 = omt2 * omt;
|
|
float t2 = t * t;
|
|
float t3 = t2 * t;
|
|
d /= 3.0;
|
|
float y1 = p_o349717_curve_0_y;
|
|
float yac = p_o349717_curve_0_y + d*p_o349717_curve_0_rs;
|
|
float ybc = p_o349717_curve_1_y - d*p_o349717_curve_1_ls;
|
|
float y2 = p_o349717_curve_1_y;
|
|
return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3;
|
|
}
|
|
}
|
|
const float p_o298492_default_in1 = 0.000000000;
|
|
const float p_o298492_default_in2 = 1.460000000;
|
|
const float p_o398828_default_in1 = 0.000000000;
|
|
const float p_o398828_default_in2 = 0.000000000;
|
|
const float p_o260446_default_in1 = 0.000000000;
|
|
const float p_o260446_default_in2 = 1.350000000;
|
|
const float p_o253351_default_in1 = 0.000000000;
|
|
const float p_o253351_default_in2 = 0.000000000;
|
|
const float p_o321142_default_in1 = 0.000000000;
|
|
const float p_o321142_default_in2 = 1.500000000;
|
|
const float p_o277526_sides = 1.000000000;
|
|
const float p_o277526_radius = 1.000000000;
|
|
const float p_o277526_edge = 0.760000000;
|
|
const float p_o135529_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in2 = 0.160000000;
|
|
const float p_o86476_default_in1 = 0.000000000;
|
|
const float p_o86476_default_in2 = 0.360000000;
|
|
const float p_o9697_sides = 2.000000000;
|
|
const float p_o9697_radius = 1.010000000;
|
|
const float p_o9697_edge = 2.700000000;
|
|
const float p_o535536_default_in1 = 0.000000000;
|
|
const int seed_o530985 = -46342;
|
|
const float p_o530985_scale_x = 4.000000000;
|
|
const float p_o530985_scale_y = 4.000000000;
|
|
const float p_o530985_scale_z = 4.000000000;
|
|
const float p_o530985_iterations = 8.000000000;
|
|
const float p_o530985_persistence = 0.500000000;
|
|
float o530985_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o574483_Distort = 0.280000000;
|
|
const int seed_o15805 = -41176;
|
|
const float p_o15805_scale_x = 8.000000000;
|
|
const float p_o15805_scale_y = 8.000000000;
|
|
const float p_o15805_scale_z = 8.000000000;
|
|
const float p_o15805_iterations = 8.000000000;
|
|
const float p_o15805_persistence = 0.500000000;
|
|
float o15805_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o395471_color = 1.000000000;
|
|
|
|
void fragment() {
|
|
float o277526_0_1_f = shape_circle((UV), p_o277526_sides, p_o277526_radius*1.0, p_o277526_edge*1.0);
|
|
float o321142_0_clamp_false = pow(o277526_0_1_f,p_o321142_default_in2);
|
|
float o321142_0_clamp_true = clamp(o321142_0_clamp_false, 0.0, 1.0);
|
|
float o321142_0_2_f = o321142_0_clamp_false;
|
|
float o535536_0_clamp_false = p_o535536_default_in1+(elapsed_time*0.1);
|
|
float o535536_0_clamp_true = clamp(o535536_0_clamp_false, 0.0, 1.0);
|
|
float o535536_0_2_f = o535536_0_clamp_false;
|
|
vec3 o530985_0_1_tex3d = vec3(o530985_fbm((vec4((UV), o535536_0_2_f, 0.0)).xyz, vec3(p_o530985_scale_x, p_o530985_scale_y, p_o530985_scale_z), int(p_o530985_iterations), p_o530985_persistence, float(seed_o530985)));
|
|
vec3 o535539_0_1_rgb = o530985_0_1_tex3d;
|
|
float o9697_0_1_f = shape_circle((UV), p_o9697_sides, p_o9697_radius*1.0, p_o9697_edge*(dot(o535539_0_1_rgb, vec3(1.0))/3.0));
|
|
float o86476_0_clamp_false = pow(o9697_0_1_f,p_o86476_default_in2);
|
|
float o86476_0_clamp_true = clamp(o86476_0_clamp_false, 0.0, 1.0);
|
|
float o86476_0_2_f = o86476_0_clamp_false;
|
|
float o60565_0_clamp_false = o86476_0_2_f*p_o60565_default_in2;
|
|
float o60565_0_clamp_true = clamp(o60565_0_clamp_false, 0.0, 1.0);
|
|
float o60565_0_2_f = o60565_0_clamp_false;
|
|
float o135529_0_clamp_false = o60565_0_2_f+(elapsed_time*0.1);
|
|
float o135529_0_clamp_true = clamp(o135529_0_clamp_false, 0.0, 1.0);
|
|
float o135529_0_2_f = o135529_0_clamp_false;
|
|
float o620684_0_1_f = (elapsed_time);
|
|
vec4 o614555_0_1_rgba = vec4(0.0, o620684_0_1_f, 0.0, 1.0);
|
|
vec3 o584725_0_1_tex3d = ((o614555_0_1_rgba).rgb);
|
|
vec3 o15805_0_1_tex3d = vec3(o15805_fbm((vec4((vec4((UV), o135529_0_2_f, 0.0)).xyz+(o584725_0_1_tex3d*p_o574483_Distort*0.5-0.5), 0.0)).xyz, vec3(p_o15805_scale_x, p_o15805_scale_y, p_o15805_scale_z), int(p_o15805_iterations), p_o15805_persistence, float(seed_o15805)));
|
|
vec3 o574483_0_1_tex3d = o15805_0_1_tex3d;
|
|
vec3 o39870_0_1_rgb = o574483_0_1_tex3d;
|
|
float o253351_0_clamp_false = o321142_0_2_f*(dot(o39870_0_1_rgb, vec3(1.0))/3.0);
|
|
float o253351_0_clamp_true = clamp(o253351_0_clamp_false, 0.0, 1.0);
|
|
float o253351_0_1_f = o253351_0_clamp_false;
|
|
float o260446_0_clamp_false = pow(o253351_0_1_f,p_o260446_default_in2);
|
|
float o260446_0_clamp_true = clamp(o260446_0_clamp_false, 0.0, 1.0);
|
|
float o260446_0_2_f = o260446_0_clamp_false;
|
|
float o395471_0_1_f = p_o395471_color;
|
|
float o398828_0_clamp_false = o260446_0_2_f*o395471_0_1_f;
|
|
float o398828_0_clamp_true = clamp(o398828_0_clamp_false, 0.0, 1.0);
|
|
float o398828_0_1_f = o398828_0_clamp_false;
|
|
float o298492_0_clamp_false = o398828_0_1_f*p_o298492_default_in2;
|
|
float o298492_0_clamp_true = clamp(o298492_0_clamp_false, 0.0, 1.0);
|
|
float o298492_0_2_f = o298492_0_clamp_true;
|
|
float o349717_0_1_f = o349717_curve_curve_fct(o298492_0_2_f);
|
|
ALBEDO = color.rgb;
|
|
ALPHA = vec3(o349717_0_1_f).r * color.a * density;
|
|
}"
|
|
|
|
[sub_resource type="ShaderMaterial" id=7]
|
|
render_priority = -1
|
|
shader = SubResource( 6 )
|
|
shader_param/density = 1.0
|
|
shader_param/speed = 0.5
|
|
shader_param/offset = 0.0
|
|
shader_param/color = Color( 16.19, 8.72, 4, 0.08 )
|
|
|
|
[sub_resource type="QuadMesh" id=8]
|
|
material = SubResource( 7 )
|
|
size = Vector2( 16, 16 )
|
|
|
|
[sub_resource type="Shader" id=9]
|
|
code = "shader_type spatial;
|
|
varying float elapsed_time;
|
|
uniform float density = 1.0;
|
|
uniform float speed = 1.0;
|
|
uniform float offset = 0.0;
|
|
uniform vec4 color : hint_color = vec4(1,1,1,1);
|
|
|
|
void vertex() {
|
|
elapsed_time = TIME * speed + offset;
|
|
}
|
|
|
|
//---
|
|
|
|
float rand(vec2 x) {
|
|
return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453);
|
|
}
|
|
|
|
vec2 rand2(vec2 x) {
|
|
return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rand3(vec2 x) {
|
|
return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398)),
|
|
dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rgb2hsv(vec3 c) {
|
|
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
|
vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);
|
|
vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);
|
|
|
|
float d = q.x - min(q.w, q.y);
|
|
float e = 1.0e-10;
|
|
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
|
|
}
|
|
|
|
vec3 hsv2rgb(vec3 c) {
|
|
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
|
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
|
|
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
|
}
|
|
|
|
float shape_circle(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float distance = length(uv);
|
|
return clamp((1.0-distance/size)/edge, 0.0, 1.0);
|
|
}
|
|
|
|
float shape_polygon(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y)+3.14159265359;
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(angle/slice-0.5+2.0*step(mod(angle, slice), 0.5*slice))*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_curved_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_rays(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = 0.5*max(edge, 1.0e-8)*size;
|
|
float slice = 6.28318530718/sides;
|
|
float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice;
|
|
return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0);
|
|
}
|
|
|
|
float rand31(vec3 p) {
|
|
return fract(sin(dot(p,vec3(127.1,311.7, 74.7)))*43758.5453123);
|
|
}
|
|
vec3 rand33(vec3 p){
|
|
p = vec3( dot(p,vec3(127.1,311.7, 74.7)),
|
|
dot(p,vec3(269.5,183.3,246.1)),
|
|
dot(p,vec3(113.5,271.9,124.6)));
|
|
|
|
return -1.0 + 2.0*fract(sin(p)*43758.5453123);
|
|
}
|
|
|
|
float tex3d_fbm_value(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float p000 = rand31(mod(o, size));
|
|
float p001 = rand31(mod(o + vec3(0.0, 0.0, 1.0), size));
|
|
float p010 = rand31(mod(o + vec3(0.0, 1.0, 0.0), size));
|
|
float p011 = rand31(mod(o + vec3(0.0, 1.0, 1.0), size));
|
|
float p100 = rand31(mod(o + vec3(1.0, 0.0, 0.0), size));
|
|
float p101 = rand31(mod(o + vec3(1.0, 0.0, 1.0), size));
|
|
float p110 = rand31(mod(o + vec3(1.0, 1.0, 0.0), size));
|
|
float p111 = rand31(mod(o + vec3(1.0, 1.0, 1.0), size));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_perlin(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
vec3 v000 = normalize(rand33(mod(o, size))-vec3(0.5));
|
|
vec3 v001 = normalize(rand33(mod(o + vec3(0.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v010 = normalize(rand33(mod(o + vec3(0.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v011 = normalize(rand33(mod(o + vec3(0.0, 1.0, 1.0), size))-vec3(0.5));
|
|
vec3 v100 = normalize(rand33(mod(o + vec3(1.0, 0.0, 0.0), size))-vec3(0.5));
|
|
vec3 v101 = normalize(rand33(mod(o + vec3(1.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v110 = normalize(rand33(mod(o + vec3(1.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v111 = normalize(rand33(mod(o + vec3(1.0, 1.0, 1.0), size))-vec3(0.5));
|
|
float p000 = dot(v000, f);
|
|
float p001 = dot(v001, f - vec3(0.0, 0.0, 1.0));
|
|
float p010 = dot(v010, f - vec3(0.0, 1.0, 0.0));
|
|
float p011 = dot(v011, f - vec3(0.0, 1.0, 1.0));
|
|
float p100 = dot(v100, f - vec3(1.0, 0.0, 0.0));
|
|
float p101 = dot(v101, f - vec3(1.0, 0.0, 1.0));
|
|
float p110 = dot(v110, f - vec3(1.0, 1.0, 0.0));
|
|
float p111 = dot(v111, f - vec3(1.0, 1.0, 1.0));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return 0.5 + mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_cellular(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float min_dist = 3.0;
|
|
for (float x = -1.0; x <= 1.0; x++) {
|
|
for (float y = -1.0; y <= 1.0; y++) {
|
|
for (float z = -1.0; z <= 1.0; z++) {
|
|
vec3 node = 0.4*rand33(mod(o + vec3(x, y, z), size)) + vec3(x, y, z);
|
|
float dist = sqrt((f - node).x * (f - node).x + (f - node).y * (f - node).y + (f - node).z * (f - node).z);
|
|
min_dist = min(min_dist, dist);
|
|
}
|
|
}
|
|
}
|
|
return min_dist;
|
|
}
|
|
const float p_o349717_curve_0_x = 0.000000000;
|
|
const float p_o349717_curve_0_y = 0.000000000;
|
|
const float p_o349717_curve_0_ls = 0.000000000;
|
|
const float p_o349717_curve_0_rs = -0.029626113;
|
|
const float p_o349717_curve_1_x = 1.000000000;
|
|
const float p_o349717_curve_1_y = 1.000000000;
|
|
const float p_o349717_curve_1_ls = 0.000000000;
|
|
const float p_o349717_curve_1_rs = -0.000000000;
|
|
float o349717_curve_curve_fct(float x) {
|
|
if (x <= p_o349717_curve_1_x) {
|
|
float dx = x - p_o349717_curve_0_x;
|
|
float d = p_o349717_curve_1_x - p_o349717_curve_0_x;
|
|
float t = dx/d;
|
|
float omt = (1.0 - t);
|
|
float omt2 = omt * omt;
|
|
float omt3 = omt2 * omt;
|
|
float t2 = t * t;
|
|
float t3 = t2 * t;
|
|
d /= 3.0;
|
|
float y1 = p_o349717_curve_0_y;
|
|
float yac = p_o349717_curve_0_y + d*p_o349717_curve_0_rs;
|
|
float ybc = p_o349717_curve_1_y - d*p_o349717_curve_1_ls;
|
|
float y2 = p_o349717_curve_1_y;
|
|
return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3;
|
|
}
|
|
}
|
|
const float p_o298492_default_in1 = 0.000000000;
|
|
const float p_o298492_default_in2 = 1.460000000;
|
|
const float p_o398828_default_in1 = 0.000000000;
|
|
const float p_o398828_default_in2 = 0.000000000;
|
|
const float p_o260446_default_in1 = 0.000000000;
|
|
const float p_o260446_default_in2 = 1.350000000;
|
|
const float p_o253351_default_in1 = 0.000000000;
|
|
const float p_o253351_default_in2 = 0.000000000;
|
|
const float p_o321142_default_in1 = 0.000000000;
|
|
const float p_o321142_default_in2 = 1.500000000;
|
|
const float p_o277526_sides = 1.000000000;
|
|
const float p_o277526_radius = 1.000000000;
|
|
const float p_o277526_edge = 0.760000000;
|
|
const float p_o135529_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in2 = 0.160000000;
|
|
const float p_o86476_default_in1 = 0.000000000;
|
|
const float p_o86476_default_in2 = 0.360000000;
|
|
const float p_o9697_sides = 2.000000000;
|
|
const float p_o9697_radius = 1.010000000;
|
|
const float p_o9697_edge = 2.700000000;
|
|
const float p_o535536_default_in1 = 0.000000000;
|
|
const int seed_o530985 = -46342;
|
|
const float p_o530985_scale_x = 4.000000000;
|
|
const float p_o530985_scale_y = 4.000000000;
|
|
const float p_o530985_scale_z = 4.000000000;
|
|
const float p_o530985_iterations = 8.000000000;
|
|
const float p_o530985_persistence = 0.500000000;
|
|
float o530985_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o574483_Distort = 0.280000000;
|
|
const int seed_o15805 = -41176;
|
|
const float p_o15805_scale_x = 8.000000000;
|
|
const float p_o15805_scale_y = 8.000000000;
|
|
const float p_o15805_scale_z = 8.000000000;
|
|
const float p_o15805_iterations = 8.000000000;
|
|
const float p_o15805_persistence = 0.500000000;
|
|
float o15805_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o395471_color = 1.000000000;
|
|
|
|
void fragment() {
|
|
float o277526_0_1_f = shape_circle((UV), p_o277526_sides, p_o277526_radius*1.0, p_o277526_edge*1.0);
|
|
float o321142_0_clamp_false = pow(o277526_0_1_f,p_o321142_default_in2);
|
|
float o321142_0_clamp_true = clamp(o321142_0_clamp_false, 0.0, 1.0);
|
|
float o321142_0_2_f = o321142_0_clamp_false;
|
|
float o535536_0_clamp_false = p_o535536_default_in1+(elapsed_time*0.1);
|
|
float o535536_0_clamp_true = clamp(o535536_0_clamp_false, 0.0, 1.0);
|
|
float o535536_0_2_f = o535536_0_clamp_false;
|
|
vec3 o530985_0_1_tex3d = vec3(o530985_fbm((vec4((UV), o535536_0_2_f, 0.0)).xyz, vec3(p_o530985_scale_x, p_o530985_scale_y, p_o530985_scale_z), int(p_o530985_iterations), p_o530985_persistence, float(seed_o530985)));
|
|
vec3 o535539_0_1_rgb = o530985_0_1_tex3d;
|
|
float o9697_0_1_f = shape_circle((UV), p_o9697_sides, p_o9697_radius*1.0, p_o9697_edge*(dot(o535539_0_1_rgb, vec3(1.0))/3.0));
|
|
float o86476_0_clamp_false = pow(o9697_0_1_f,p_o86476_default_in2);
|
|
float o86476_0_clamp_true = clamp(o86476_0_clamp_false, 0.0, 1.0);
|
|
float o86476_0_2_f = o86476_0_clamp_false;
|
|
float o60565_0_clamp_false = o86476_0_2_f*p_o60565_default_in2;
|
|
float o60565_0_clamp_true = clamp(o60565_0_clamp_false, 0.0, 1.0);
|
|
float o60565_0_2_f = o60565_0_clamp_false;
|
|
float o135529_0_clamp_false = o60565_0_2_f+(elapsed_time*0.1);
|
|
float o135529_0_clamp_true = clamp(o135529_0_clamp_false, 0.0, 1.0);
|
|
float o135529_0_2_f = o135529_0_clamp_false;
|
|
float o620684_0_1_f = (elapsed_time);
|
|
vec4 o614555_0_1_rgba = vec4(0.0, o620684_0_1_f, 0.0, 1.0);
|
|
vec3 o584725_0_1_tex3d = ((o614555_0_1_rgba).rgb);
|
|
vec3 o15805_0_1_tex3d = vec3(o15805_fbm((vec4((vec4((UV), o135529_0_2_f, 0.0)).xyz+(o584725_0_1_tex3d*p_o574483_Distort*0.5-0.5), 0.0)).xyz, vec3(p_o15805_scale_x, p_o15805_scale_y, p_o15805_scale_z), int(p_o15805_iterations), p_o15805_persistence, float(seed_o15805)));
|
|
vec3 o574483_0_1_tex3d = o15805_0_1_tex3d;
|
|
vec3 o39870_0_1_rgb = o574483_0_1_tex3d;
|
|
float o253351_0_clamp_false = o321142_0_2_f*(dot(o39870_0_1_rgb, vec3(1.0))/3.0);
|
|
float o253351_0_clamp_true = clamp(o253351_0_clamp_false, 0.0, 1.0);
|
|
float o253351_0_1_f = o253351_0_clamp_false;
|
|
float o260446_0_clamp_false = pow(o253351_0_1_f,p_o260446_default_in2);
|
|
float o260446_0_clamp_true = clamp(o260446_0_clamp_false, 0.0, 1.0);
|
|
float o260446_0_2_f = o260446_0_clamp_false;
|
|
float o395471_0_1_f = p_o395471_color;
|
|
float o398828_0_clamp_false = o260446_0_2_f*o395471_0_1_f;
|
|
float o398828_0_clamp_true = clamp(o398828_0_clamp_false, 0.0, 1.0);
|
|
float o398828_0_1_f = o398828_0_clamp_false;
|
|
float o298492_0_clamp_false = o398828_0_1_f*p_o298492_default_in2;
|
|
float o298492_0_clamp_true = clamp(o298492_0_clamp_false, 0.0, 1.0);
|
|
float o298492_0_2_f = o298492_0_clamp_true;
|
|
float o349717_0_1_f = o349717_curve_curve_fct(o298492_0_2_f);
|
|
ALBEDO = color.rgb;
|
|
ALPHA = vec3(o349717_0_1_f).r * color.a * density;
|
|
}"
|
|
|
|
[sub_resource type="ShaderMaterial" id=10]
|
|
render_priority = -2
|
|
shader = SubResource( 9 )
|
|
shader_param/density = 0.279
|
|
shader_param/speed = 0.5
|
|
shader_param/offset = 2.0
|
|
shader_param/color = Color( 32.1216, 8.21569, 3.31765, 0.0156863 )
|
|
|
|
[sub_resource type="QuadMesh" id=11]
|
|
material = SubResource( 10 )
|
|
size = Vector2( 16, 16 )
|
|
|
|
[sub_resource type="Shader" id=12]
|
|
code = "shader_type spatial;
|
|
varying float elapsed_time;
|
|
uniform float density = 1.0;
|
|
uniform float speed = 1.0;
|
|
uniform float offset = 0.0;
|
|
uniform vec4 color : hint_color = vec4(1,1,1,1);
|
|
|
|
void vertex() {
|
|
elapsed_time = TIME * speed + offset;
|
|
}
|
|
|
|
//---
|
|
|
|
float rand(vec2 x) {
|
|
return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453);
|
|
}
|
|
|
|
vec2 rand2(vec2 x) {
|
|
return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rand3(vec2 x) {
|
|
return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398)),
|
|
dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rgb2hsv(vec3 c) {
|
|
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
|
vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);
|
|
vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);
|
|
|
|
float d = q.x - min(q.w, q.y);
|
|
float e = 1.0e-10;
|
|
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
|
|
}
|
|
|
|
vec3 hsv2rgb(vec3 c) {
|
|
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
|
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
|
|
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
|
}
|
|
|
|
float shape_circle(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float distance = length(uv);
|
|
return clamp((1.0-distance/size)/edge, 0.0, 1.0);
|
|
}
|
|
|
|
float shape_polygon(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y)+3.14159265359;
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(angle/slice-0.5+2.0*step(mod(angle, slice), 0.5*slice))*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_curved_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_rays(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = 0.5*max(edge, 1.0e-8)*size;
|
|
float slice = 6.28318530718/sides;
|
|
float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice;
|
|
return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0);
|
|
}
|
|
|
|
float rand31(vec3 p) {
|
|
return fract(sin(dot(p,vec3(127.1,311.7, 74.7)))*43758.5453123);
|
|
}
|
|
vec3 rand33(vec3 p){
|
|
p = vec3( dot(p,vec3(127.1,311.7, 74.7)),
|
|
dot(p,vec3(269.5,183.3,246.1)),
|
|
dot(p,vec3(113.5,271.9,124.6)));
|
|
|
|
return -1.0 + 2.0*fract(sin(p)*43758.5453123);
|
|
}
|
|
|
|
float tex3d_fbm_value(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float p000 = rand31(mod(o, size));
|
|
float p001 = rand31(mod(o + vec3(0.0, 0.0, 1.0), size));
|
|
float p010 = rand31(mod(o + vec3(0.0, 1.0, 0.0), size));
|
|
float p011 = rand31(mod(o + vec3(0.0, 1.0, 1.0), size));
|
|
float p100 = rand31(mod(o + vec3(1.0, 0.0, 0.0), size));
|
|
float p101 = rand31(mod(o + vec3(1.0, 0.0, 1.0), size));
|
|
float p110 = rand31(mod(o + vec3(1.0, 1.0, 0.0), size));
|
|
float p111 = rand31(mod(o + vec3(1.0, 1.0, 1.0), size));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_perlin(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
vec3 v000 = normalize(rand33(mod(o, size))-vec3(0.5));
|
|
vec3 v001 = normalize(rand33(mod(o + vec3(0.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v010 = normalize(rand33(mod(o + vec3(0.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v011 = normalize(rand33(mod(o + vec3(0.0, 1.0, 1.0), size))-vec3(0.5));
|
|
vec3 v100 = normalize(rand33(mod(o + vec3(1.0, 0.0, 0.0), size))-vec3(0.5));
|
|
vec3 v101 = normalize(rand33(mod(o + vec3(1.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v110 = normalize(rand33(mod(o + vec3(1.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v111 = normalize(rand33(mod(o + vec3(1.0, 1.0, 1.0), size))-vec3(0.5));
|
|
float p000 = dot(v000, f);
|
|
float p001 = dot(v001, f - vec3(0.0, 0.0, 1.0));
|
|
float p010 = dot(v010, f - vec3(0.0, 1.0, 0.0));
|
|
float p011 = dot(v011, f - vec3(0.0, 1.0, 1.0));
|
|
float p100 = dot(v100, f - vec3(1.0, 0.0, 0.0));
|
|
float p101 = dot(v101, f - vec3(1.0, 0.0, 1.0));
|
|
float p110 = dot(v110, f - vec3(1.0, 1.0, 0.0));
|
|
float p111 = dot(v111, f - vec3(1.0, 1.0, 1.0));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return 0.5 + mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_cellular(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float min_dist = 3.0;
|
|
for (float x = -1.0; x <= 1.0; x++) {
|
|
for (float y = -1.0; y <= 1.0; y++) {
|
|
for (float z = -1.0; z <= 1.0; z++) {
|
|
vec3 node = 0.4*rand33(mod(o + vec3(x, y, z), size)) + vec3(x, y, z);
|
|
float dist = sqrt((f - node).x * (f - node).x + (f - node).y * (f - node).y + (f - node).z * (f - node).z);
|
|
min_dist = min(min_dist, dist);
|
|
}
|
|
}
|
|
}
|
|
return min_dist;
|
|
}
|
|
const float p_o349717_curve_0_x = 0.000000000;
|
|
const float p_o349717_curve_0_y = 0.000000000;
|
|
const float p_o349717_curve_0_ls = 0.000000000;
|
|
const float p_o349717_curve_0_rs = -0.029626113;
|
|
const float p_o349717_curve_1_x = 1.000000000;
|
|
const float p_o349717_curve_1_y = 1.000000000;
|
|
const float p_o349717_curve_1_ls = 0.000000000;
|
|
const float p_o349717_curve_1_rs = -0.000000000;
|
|
float o349717_curve_curve_fct(float x) {
|
|
if (x <= p_o349717_curve_1_x) {
|
|
float dx = x - p_o349717_curve_0_x;
|
|
float d = p_o349717_curve_1_x - p_o349717_curve_0_x;
|
|
float t = dx/d;
|
|
float omt = (1.0 - t);
|
|
float omt2 = omt * omt;
|
|
float omt3 = omt2 * omt;
|
|
float t2 = t * t;
|
|
float t3 = t2 * t;
|
|
d /= 3.0;
|
|
float y1 = p_o349717_curve_0_y;
|
|
float yac = p_o349717_curve_0_y + d*p_o349717_curve_0_rs;
|
|
float ybc = p_o349717_curve_1_y - d*p_o349717_curve_1_ls;
|
|
float y2 = p_o349717_curve_1_y;
|
|
return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3;
|
|
}
|
|
}
|
|
const float p_o298492_default_in1 = 0.000000000;
|
|
const float p_o298492_default_in2 = 1.460000000;
|
|
const float p_o398828_default_in1 = 0.000000000;
|
|
const float p_o398828_default_in2 = 0.000000000;
|
|
const float p_o260446_default_in1 = 0.000000000;
|
|
const float p_o260446_default_in2 = 1.350000000;
|
|
const float p_o253351_default_in1 = 0.000000000;
|
|
const float p_o253351_default_in2 = 0.000000000;
|
|
const float p_o321142_default_in1 = 0.000000000;
|
|
const float p_o321142_default_in2 = 1.500000000;
|
|
const float p_o277526_sides = 1.000000000;
|
|
const float p_o277526_radius = 1.000000000;
|
|
const float p_o277526_edge = 0.760000000;
|
|
const float p_o135529_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in2 = 0.160000000;
|
|
const float p_o86476_default_in1 = 0.000000000;
|
|
const float p_o86476_default_in2 = 0.360000000;
|
|
const float p_o9697_sides = 2.000000000;
|
|
const float p_o9697_radius = 1.010000000;
|
|
const float p_o9697_edge = 2.700000000;
|
|
const float p_o535536_default_in1 = 0.000000000;
|
|
const int seed_o530985 = -46342;
|
|
const float p_o530985_scale_x = 4.000000000;
|
|
const float p_o530985_scale_y = 4.000000000;
|
|
const float p_o530985_scale_z = 4.000000000;
|
|
const float p_o530985_iterations = 8.000000000;
|
|
const float p_o530985_persistence = 0.500000000;
|
|
float o530985_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o574483_Distort = 0.280000000;
|
|
const int seed_o15805 = -41176;
|
|
const float p_o15805_scale_x = 8.000000000;
|
|
const float p_o15805_scale_y = 8.000000000;
|
|
const float p_o15805_scale_z = 8.000000000;
|
|
const float p_o15805_iterations = 8.000000000;
|
|
const float p_o15805_persistence = 0.500000000;
|
|
float o15805_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o395471_color = 1.000000000;
|
|
|
|
void fragment() {
|
|
float o277526_0_1_f = shape_circle((UV), p_o277526_sides, p_o277526_radius*1.0, p_o277526_edge*1.0);
|
|
float o321142_0_clamp_false = pow(o277526_0_1_f,p_o321142_default_in2);
|
|
float o321142_0_clamp_true = clamp(o321142_0_clamp_false, 0.0, 1.0);
|
|
float o321142_0_2_f = o321142_0_clamp_false;
|
|
float o535536_0_clamp_false = p_o535536_default_in1+(elapsed_time*0.1);
|
|
float o535536_0_clamp_true = clamp(o535536_0_clamp_false, 0.0, 1.0);
|
|
float o535536_0_2_f = o535536_0_clamp_false;
|
|
vec3 o530985_0_1_tex3d = vec3(o530985_fbm((vec4((UV), o535536_0_2_f, 0.0)).xyz, vec3(p_o530985_scale_x, p_o530985_scale_y, p_o530985_scale_z), int(p_o530985_iterations), p_o530985_persistence, float(seed_o530985)));
|
|
vec3 o535539_0_1_rgb = o530985_0_1_tex3d;
|
|
float o9697_0_1_f = shape_circle((UV), p_o9697_sides, p_o9697_radius*1.0, p_o9697_edge*(dot(o535539_0_1_rgb, vec3(1.0))/3.0));
|
|
float o86476_0_clamp_false = pow(o9697_0_1_f,p_o86476_default_in2);
|
|
float o86476_0_clamp_true = clamp(o86476_0_clamp_false, 0.0, 1.0);
|
|
float o86476_0_2_f = o86476_0_clamp_false;
|
|
float o60565_0_clamp_false = o86476_0_2_f*p_o60565_default_in2;
|
|
float o60565_0_clamp_true = clamp(o60565_0_clamp_false, 0.0, 1.0);
|
|
float o60565_0_2_f = o60565_0_clamp_false;
|
|
float o135529_0_clamp_false = o60565_0_2_f+(elapsed_time*0.1);
|
|
float o135529_0_clamp_true = clamp(o135529_0_clamp_false, 0.0, 1.0);
|
|
float o135529_0_2_f = o135529_0_clamp_false;
|
|
float o620684_0_1_f = (elapsed_time);
|
|
vec4 o614555_0_1_rgba = vec4(0.0, o620684_0_1_f, 0.0, 1.0);
|
|
vec3 o584725_0_1_tex3d = ((o614555_0_1_rgba).rgb);
|
|
vec3 o15805_0_1_tex3d = vec3(o15805_fbm((vec4((vec4((UV), o135529_0_2_f, 0.0)).xyz+(o584725_0_1_tex3d*p_o574483_Distort*0.5-0.5), 0.0)).xyz, vec3(p_o15805_scale_x, p_o15805_scale_y, p_o15805_scale_z), int(p_o15805_iterations), p_o15805_persistence, float(seed_o15805)));
|
|
vec3 o574483_0_1_tex3d = o15805_0_1_tex3d;
|
|
vec3 o39870_0_1_rgb = o574483_0_1_tex3d;
|
|
float o253351_0_clamp_false = o321142_0_2_f*(dot(o39870_0_1_rgb, vec3(1.0))/3.0);
|
|
float o253351_0_clamp_true = clamp(o253351_0_clamp_false, 0.0, 1.0);
|
|
float o253351_0_1_f = o253351_0_clamp_false;
|
|
float o260446_0_clamp_false = pow(o253351_0_1_f,p_o260446_default_in2);
|
|
float o260446_0_clamp_true = clamp(o260446_0_clamp_false, 0.0, 1.0);
|
|
float o260446_0_2_f = o260446_0_clamp_false;
|
|
float o395471_0_1_f = p_o395471_color;
|
|
float o398828_0_clamp_false = o260446_0_2_f*o395471_0_1_f;
|
|
float o398828_0_clamp_true = clamp(o398828_0_clamp_false, 0.0, 1.0);
|
|
float o398828_0_1_f = o398828_0_clamp_false;
|
|
float o298492_0_clamp_false = o398828_0_1_f*p_o298492_default_in2;
|
|
float o298492_0_clamp_true = clamp(o298492_0_clamp_false, 0.0, 1.0);
|
|
float o298492_0_2_f = o298492_0_clamp_true;
|
|
float o349717_0_1_f = o349717_curve_curve_fct(o298492_0_2_f);
|
|
ALBEDO = color.rgb;
|
|
ALPHA = vec3(o349717_0_1_f).r * color.a * density;
|
|
}"
|
|
|
|
[sub_resource type="ShaderMaterial" id=13]
|
|
render_priority = -1
|
|
shader = SubResource( 12 )
|
|
shader_param/density = 0.9
|
|
shader_param/speed = 0.025
|
|
shader_param/offset = 0.0
|
|
shader_param/color = Color( 1, 1, 1, 1 )
|
|
|
|
[sub_resource type="QuadMesh" id=14]
|
|
material = SubResource( 13 )
|
|
size = Vector2( 16, 16 )
|
|
|
|
[sub_resource type="Shader" id=15]
|
|
code = "shader_type spatial;
|
|
varying float elapsed_time;
|
|
uniform float density = 1.0;
|
|
uniform float speed = 1.0;
|
|
uniform float offset = 0.0;
|
|
uniform vec4 color : hint_color = vec4(1,1,1,1);
|
|
|
|
void vertex() {
|
|
elapsed_time = TIME * speed + offset;
|
|
}
|
|
|
|
//---
|
|
|
|
float rand(vec2 x) {
|
|
return fract(cos(mod(dot(x, vec2(13.9898, 8.141)), 3.14)) * 43758.5453);
|
|
}
|
|
|
|
vec2 rand2(vec2 x) {
|
|
return fract(cos(mod(vec2(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398))), vec2(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rand3(vec2 x) {
|
|
return fract(cos(mod(vec3(dot(x, vec2(13.9898, 8.141)),
|
|
dot(x, vec2(3.4562, 17.398)),
|
|
dot(x, vec2(13.254, 5.867))), vec3(3.14))) * 43758.5453);
|
|
}
|
|
|
|
vec3 rgb2hsv(vec3 c) {
|
|
vec4 K = vec4(0.0, -1.0 / 3.0, 2.0 / 3.0, -1.0);
|
|
vec4 p = c.g < c.b ? vec4(c.bg, K.wz) : vec4(c.gb, K.xy);
|
|
vec4 q = c.r < p.x ? vec4(p.xyw, c.r) : vec4(c.r, p.yzx);
|
|
|
|
float d = q.x - min(q.w, q.y);
|
|
float e = 1.0e-10;
|
|
return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + e)), d / (q.x + e), q.x);
|
|
}
|
|
|
|
vec3 hsv2rgb(vec3 c) {
|
|
vec4 K = vec4(1.0, 2.0 / 3.0, 1.0 / 3.0, 3.0);
|
|
vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
|
|
return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
|
|
}
|
|
|
|
float shape_circle(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float distance = length(uv);
|
|
return clamp((1.0-distance/size)/edge, 0.0, 1.0);
|
|
}
|
|
|
|
float shape_polygon(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y)+3.14159265359;
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+angle/slice)*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = atan(uv.x, uv.y);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(angle/slice-0.5+2.0*step(mod(angle, slice), 0.5*slice))*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_curved_star(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = max(edge, 1.0e-8);
|
|
float angle = 2.0*(atan(uv.x, uv.y)+3.14159265359);
|
|
float slice = 6.28318530718/sides;
|
|
return clamp((size-cos(floor(0.5+0.5*angle/slice)*2.0*slice-angle)*length(uv))/(edge*size), 0.0, 1.0);
|
|
}
|
|
|
|
float shape_rays(vec2 uv, float sides, float size, float edge) {
|
|
uv = 2.0*uv-1.0;
|
|
edge = 0.5*max(edge, 1.0e-8)*size;
|
|
float slice = 6.28318530718/sides;
|
|
float angle = mod(atan(uv.x, uv.y)+3.14159265359, slice)/slice;
|
|
return clamp(min((size-angle)/edge, angle/edge), 0.0, 1.0);
|
|
}
|
|
|
|
float rand31(vec3 p) {
|
|
return fract(sin(dot(p,vec3(127.1,311.7, 74.7)))*43758.5453123);
|
|
}
|
|
vec3 rand33(vec3 p){
|
|
p = vec3( dot(p,vec3(127.1,311.7, 74.7)),
|
|
dot(p,vec3(269.5,183.3,246.1)),
|
|
dot(p,vec3(113.5,271.9,124.6)));
|
|
|
|
return -1.0 + 2.0*fract(sin(p)*43758.5453123);
|
|
}
|
|
|
|
float tex3d_fbm_value(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float p000 = rand31(mod(o, size));
|
|
float p001 = rand31(mod(o + vec3(0.0, 0.0, 1.0), size));
|
|
float p010 = rand31(mod(o + vec3(0.0, 1.0, 0.0), size));
|
|
float p011 = rand31(mod(o + vec3(0.0, 1.0, 1.0), size));
|
|
float p100 = rand31(mod(o + vec3(1.0, 0.0, 0.0), size));
|
|
float p101 = rand31(mod(o + vec3(1.0, 0.0, 1.0), size));
|
|
float p110 = rand31(mod(o + vec3(1.0, 1.0, 0.0), size));
|
|
float p111 = rand31(mod(o + vec3(1.0, 1.0, 1.0), size));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_perlin(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
vec3 v000 = normalize(rand33(mod(o, size))-vec3(0.5));
|
|
vec3 v001 = normalize(rand33(mod(o + vec3(0.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v010 = normalize(rand33(mod(o + vec3(0.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v011 = normalize(rand33(mod(o + vec3(0.0, 1.0, 1.0), size))-vec3(0.5));
|
|
vec3 v100 = normalize(rand33(mod(o + vec3(1.0, 0.0, 0.0), size))-vec3(0.5));
|
|
vec3 v101 = normalize(rand33(mod(o + vec3(1.0, 0.0, 1.0), size))-vec3(0.5));
|
|
vec3 v110 = normalize(rand33(mod(o + vec3(1.0, 1.0, 0.0), size))-vec3(0.5));
|
|
vec3 v111 = normalize(rand33(mod(o + vec3(1.0, 1.0, 1.0), size))-vec3(0.5));
|
|
float p000 = dot(v000, f);
|
|
float p001 = dot(v001, f - vec3(0.0, 0.0, 1.0));
|
|
float p010 = dot(v010, f - vec3(0.0, 1.0, 0.0));
|
|
float p011 = dot(v011, f - vec3(0.0, 1.0, 1.0));
|
|
float p100 = dot(v100, f - vec3(1.0, 0.0, 0.0));
|
|
float p101 = dot(v101, f - vec3(1.0, 0.0, 1.0));
|
|
float p110 = dot(v110, f - vec3(1.0, 1.0, 0.0));
|
|
float p111 = dot(v111, f - vec3(1.0, 1.0, 1.0));
|
|
vec3 t = f * f * (3.0 - 2.0 * f);
|
|
return 0.5 + mix(mix(mix(p000, p100, t.x), mix(p010, p110, t.x), t.y), mix(mix(p001, p101, t.x), mix(p011, p111, t.x), t.y), t.z);
|
|
}
|
|
|
|
float tex3d_fbm_cellular(vec3 coord, vec3 size, float seed) {
|
|
vec3 o = floor(coord)+rand3(vec2(float(seed), 1.0-float(seed)))+size;
|
|
vec3 f = fract(coord);
|
|
float min_dist = 3.0;
|
|
for (float x = -1.0; x <= 1.0; x++) {
|
|
for (float y = -1.0; y <= 1.0; y++) {
|
|
for (float z = -1.0; z <= 1.0; z++) {
|
|
vec3 node = 0.4*rand33(mod(o + vec3(x, y, z), size)) + vec3(x, y, z);
|
|
float dist = sqrt((f - node).x * (f - node).x + (f - node).y * (f - node).y + (f - node).z * (f - node).z);
|
|
min_dist = min(min_dist, dist);
|
|
}
|
|
}
|
|
}
|
|
return min_dist;
|
|
}
|
|
const float p_o349717_curve_0_x = 0.000000000;
|
|
const float p_o349717_curve_0_y = 0.000000000;
|
|
const float p_o349717_curve_0_ls = 0.000000000;
|
|
const float p_o349717_curve_0_rs = -0.029626113;
|
|
const float p_o349717_curve_1_x = 1.000000000;
|
|
const float p_o349717_curve_1_y = 1.000000000;
|
|
const float p_o349717_curve_1_ls = 0.000000000;
|
|
const float p_o349717_curve_1_rs = -0.000000000;
|
|
float o349717_curve_curve_fct(float x) {
|
|
if (x <= p_o349717_curve_1_x) {
|
|
float dx = x - p_o349717_curve_0_x;
|
|
float d = p_o349717_curve_1_x - p_o349717_curve_0_x;
|
|
float t = dx/d;
|
|
float omt = (1.0 - t);
|
|
float omt2 = omt * omt;
|
|
float omt3 = omt2 * omt;
|
|
float t2 = t * t;
|
|
float t3 = t2 * t;
|
|
d /= 3.0;
|
|
float y1 = p_o349717_curve_0_y;
|
|
float yac = p_o349717_curve_0_y + d*p_o349717_curve_0_rs;
|
|
float ybc = p_o349717_curve_1_y - d*p_o349717_curve_1_ls;
|
|
float y2 = p_o349717_curve_1_y;
|
|
return y1*omt3 + yac*omt2*t*3.0 + ybc*omt*t2*3.0 + y2*t3;
|
|
}
|
|
}
|
|
const float p_o298492_default_in1 = 0.000000000;
|
|
const float p_o298492_default_in2 = 1.460000000;
|
|
const float p_o398828_default_in1 = 0.000000000;
|
|
const float p_o398828_default_in2 = 0.000000000;
|
|
const float p_o260446_default_in1 = 0.000000000;
|
|
const float p_o260446_default_in2 = 1.350000000;
|
|
const float p_o253351_default_in1 = 0.000000000;
|
|
const float p_o253351_default_in2 = 0.000000000;
|
|
const float p_o321142_default_in1 = 0.000000000;
|
|
const float p_o321142_default_in2 = 1.500000000;
|
|
const float p_o277526_sides = 1.000000000;
|
|
const float p_o277526_radius = 1.000000000;
|
|
const float p_o277526_edge = 0.760000000;
|
|
const float p_o135529_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in1 = 0.000000000;
|
|
const float p_o60565_default_in2 = 0.160000000;
|
|
const float p_o86476_default_in1 = 0.000000000;
|
|
const float p_o86476_default_in2 = 0.360000000;
|
|
const float p_o9697_sides = 2.000000000;
|
|
const float p_o9697_radius = 1.010000000;
|
|
const float p_o9697_edge = 2.700000000;
|
|
const float p_o535536_default_in1 = 0.000000000;
|
|
const int seed_o530985 = -46342;
|
|
const float p_o530985_scale_x = 4.000000000;
|
|
const float p_o530985_scale_y = 4.000000000;
|
|
const float p_o530985_scale_z = 4.000000000;
|
|
const float p_o530985_iterations = 8.000000000;
|
|
const float p_o530985_persistence = 0.500000000;
|
|
float o530985_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o574483_Distort = 0.280000000;
|
|
const int seed_o15805 = -41176;
|
|
const float p_o15805_scale_x = 8.000000000;
|
|
const float p_o15805_scale_y = 8.000000000;
|
|
const float p_o15805_scale_z = 8.000000000;
|
|
const float p_o15805_iterations = 8.000000000;
|
|
const float p_o15805_persistence = 0.500000000;
|
|
float o15805_fbm(vec3 coord, vec3 size, int octaves, float persistence, float seed) {
|
|
float normalize_factor = 0.0;
|
|
float value = 0.0;
|
|
float scale = 1.0;
|
|
for (int i = 0; i < octaves; i++) {
|
|
value += tex3d_fbm_value(coord*size, size, seed) * scale;
|
|
normalize_factor += scale;
|
|
size *= 2.0;
|
|
scale *= persistence;
|
|
}
|
|
return value / normalize_factor;
|
|
}
|
|
const float p_o395471_color = 1.000000000;
|
|
|
|
void fragment() {
|
|
float o277526_0_1_f = shape_circle((UV), p_o277526_sides, p_o277526_radius*1.0, p_o277526_edge*1.0);
|
|
float o321142_0_clamp_false = pow(o277526_0_1_f,p_o321142_default_in2);
|
|
float o321142_0_clamp_true = clamp(o321142_0_clamp_false, 0.0, 1.0);
|
|
float o321142_0_2_f = o321142_0_clamp_false;
|
|
float o535536_0_clamp_false = p_o535536_default_in1+(elapsed_time*0.1);
|
|
float o535536_0_clamp_true = clamp(o535536_0_clamp_false, 0.0, 1.0);
|
|
float o535536_0_2_f = o535536_0_clamp_false;
|
|
vec3 o530985_0_1_tex3d = vec3(o530985_fbm((vec4((UV), o535536_0_2_f, 0.0)).xyz, vec3(p_o530985_scale_x, p_o530985_scale_y, p_o530985_scale_z), int(p_o530985_iterations), p_o530985_persistence, float(seed_o530985)));
|
|
vec3 o535539_0_1_rgb = o530985_0_1_tex3d;
|
|
float o9697_0_1_f = shape_circle((UV), p_o9697_sides, p_o9697_radius*1.0, p_o9697_edge*(dot(o535539_0_1_rgb, vec3(1.0))/3.0));
|
|
float o86476_0_clamp_false = pow(o9697_0_1_f,p_o86476_default_in2);
|
|
float o86476_0_clamp_true = clamp(o86476_0_clamp_false, 0.0, 1.0);
|
|
float o86476_0_2_f = o86476_0_clamp_false;
|
|
float o60565_0_clamp_false = o86476_0_2_f*p_o60565_default_in2;
|
|
float o60565_0_clamp_true = clamp(o60565_0_clamp_false, 0.0, 1.0);
|
|
float o60565_0_2_f = o60565_0_clamp_false;
|
|
float o135529_0_clamp_false = o60565_0_2_f+(elapsed_time*0.1);
|
|
float o135529_0_clamp_true = clamp(o135529_0_clamp_false, 0.0, 1.0);
|
|
float o135529_0_2_f = o135529_0_clamp_false;
|
|
float o620684_0_1_f = (elapsed_time);
|
|
vec4 o614555_0_1_rgba = vec4(0.0, o620684_0_1_f, 0.0, 1.0);
|
|
vec3 o584725_0_1_tex3d = ((o614555_0_1_rgba).rgb);
|
|
vec3 o15805_0_1_tex3d = vec3(o15805_fbm((vec4((vec4((UV), o135529_0_2_f, 0.0)).xyz+(o584725_0_1_tex3d*p_o574483_Distort*0.5-0.5), 0.0)).xyz, vec3(p_o15805_scale_x, p_o15805_scale_y, p_o15805_scale_z), int(p_o15805_iterations), p_o15805_persistence, float(seed_o15805)));
|
|
vec3 o574483_0_1_tex3d = o15805_0_1_tex3d;
|
|
vec3 o39870_0_1_rgb = o574483_0_1_tex3d;
|
|
float o253351_0_clamp_false = o321142_0_2_f*(dot(o39870_0_1_rgb, vec3(1.0))/3.0);
|
|
float o253351_0_clamp_true = clamp(o253351_0_clamp_false, 0.0, 1.0);
|
|
float o253351_0_1_f = o253351_0_clamp_false;
|
|
float o260446_0_clamp_false = pow(o253351_0_1_f,p_o260446_default_in2);
|
|
float o260446_0_clamp_true = clamp(o260446_0_clamp_false, 0.0, 1.0);
|
|
float o260446_0_2_f = o260446_0_clamp_false;
|
|
float o395471_0_1_f = p_o395471_color;
|
|
float o398828_0_clamp_false = o260446_0_2_f*o395471_0_1_f;
|
|
float o398828_0_clamp_true = clamp(o398828_0_clamp_false, 0.0, 1.0);
|
|
float o398828_0_1_f = o398828_0_clamp_false;
|
|
float o298492_0_clamp_false = o398828_0_1_f*p_o298492_default_in2;
|
|
float o298492_0_clamp_true = clamp(o298492_0_clamp_false, 0.0, 1.0);
|
|
float o298492_0_2_f = o298492_0_clamp_true;
|
|
float o349717_0_1_f = o349717_curve_curve_fct(o298492_0_2_f);
|
|
ALBEDO = color.rgb;
|
|
ALPHA = vec3(o349717_0_1_f).r * color.a * density;
|
|
}"
|
|
|
|
[sub_resource type="ShaderMaterial" id=16]
|
|
render_priority = -1
|
|
shader = SubResource( 15 )
|
|
shader_param/density = 1.0
|
|
shader_param/speed = 0.04
|
|
shader_param/offset = 4.0
|
|
shader_param/color = Color( 1, 1, 1, 1 )
|
|
|
|
[sub_resource type="QuadMesh" id=17]
|
|
material = SubResource( 16 )
|
|
size = Vector2( 16, 16 )
|
|
|
|
[sub_resource type="CylinderShape" id=18]
|
|
radius = 67.07
|
|
height = 84.58
|
|
|
|
[node name="Level" type="Spatial"]
|
|
|
|
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
|
|
environment = SubResource( 2 )
|
|
|
|
[node name="SpawnPoints" type="Spatial" parent="."]
|
|
visible = false
|
|
script = ExtResource( 13 )
|
|
__meta__ = {
|
|
"_edit_lock_": true
|
|
}
|
|
|
|
[node name="SpawnPoint" parent="SpawnPoints" instance=ExtResource( 9 )]
|
|
transform = Transform( 0.258819, 0, 0.965926, 0, 1, 0, -0.965926, 0, 0.258819, 2, 10, 18 )
|
|
|
|
[node name="SpawnPoint2" parent="SpawnPoints" instance=ExtResource( 9 )]
|
|
transform = Transform( 0.258819, 0, 0.965926, 0, 1, 0, -0.965926, 0, 0.258819, 3, 10, -18 )
|
|
|
|
[node name="SpawnPoint3" parent="SpawnPoints" instance=ExtResource( 9 )]
|
|
transform = Transform( 0.258819, 0, 0.965926, 0, 1, 0, -0.965926, 0, 0.258819, -17, 17, 0 )
|
|
|
|
[node name="SpawnPoint4" parent="SpawnPoints" instance=ExtResource( 9 )]
|
|
transform = Transform( -0.258819, 0, -0.965926, 0, 1, 0, 0.965926, 0, -0.258819, 31, 3, 0 )
|
|
|
|
[node name="Decoration" type="Spatial" parent="."]
|
|
visible = false
|
|
|
|
[node name="Smoke" type="MeshInstance" parent="Decoration"]
|
|
transform = Transform( -1.87575, 0.369297, 0.103144, 0.211178, 2.04909, -0.815923, -0.144175, -1.37426, -2.42868, 20.5998, 16.4978, 11.2774 )
|
|
mesh = SubResource( 5 )
|
|
material/0 = null
|
|
|
|
[node name="Fire1" type="MeshInstance" parent="Decoration"]
|
|
transform = Transform( -1.28173, 0, -1.12052e-07, 0, 1.28173, 0, 1.12052e-07, 0, -1.28173, 20.9064, 14.0944, 13.2243 )
|
|
mesh = SubResource( 8 )
|
|
material/0 = null
|
|
|
|
[node name="Fire2" type="MeshInstance" parent="Decoration"]
|
|
transform = Transform( -1.60231, 0.120819, 0.005706, 0.120359, 1.63349, -0.789291, -0.0651468, -0.786625, -1.6379, 20.8181, 12.5297, 13.6559 )
|
|
mesh = SubResource( 11 )
|
|
material/0 = null
|
|
|
|
[node name="Clouds" type="MeshInstance" parent="Decoration"]
|
|
transform = Transform( 9.20067, 11.3376, -0.0795001, -0.35721, 0.187535, -14.5957, -11.3322, 9.1991, 0.395536, -10.8813, 40.9324, 1.15229 )
|
|
mesh = SubResource( 14 )
|
|
material/0 = null
|
|
|
|
[node name="Clouds2" type="MeshInstance" parent="Decoration"]
|
|
transform = Transform( 4.36766, 12.6479, 5.84422, 2.01429, 5.48714, -13.3803, -13.7864, 4.80863, -0.103444, -10.8813, 64.2284, -14.1764 )
|
|
mesh = SubResource( 17 )
|
|
material/0 = null
|
|
|
|
[node name="Sound" type="Spatial" parent="."]
|
|
visible = false
|
|
|
|
[node name="Pipes" type="AudioStreamPlayer3D" parent="Sound"]
|
|
transform = Transform( 1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 9.67349, 9, -22.8842 )
|
|
stream = ExtResource( 12 )
|
|
attenuation_model = 1
|
|
unit_db = -25.0
|
|
unit_size = 5.0
|
|
autoplay = true
|
|
|
|
[node name="Pipes3" type="AudioStreamPlayer3D" parent="Sound"]
|
|
transform = Transform( 1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 34.5687, 14.286, -0.232982 )
|
|
stream = ExtResource( 2 )
|
|
attenuation_model = 1
|
|
unit_db = -10.0
|
|
unit_size = 10.0
|
|
pitch_scale = 0.7
|
|
autoplay = true
|
|
|
|
[node name="Pipes2" type="AudioStreamPlayer3D" parent="Sound"]
|
|
transform = Transform( 1, 0, -2.98023e-08, 0, 1, 0, 2.98023e-08, 0, 1, 15.6735, 7, -22.8842 )
|
|
stream = ExtResource( 12 )
|
|
attenuation_model = 1
|
|
unit_db = -25.0
|
|
unit_size = 5.0
|
|
pitch_scale = 0.99
|
|
autoplay = true
|
|
|
|
[node name="Area" type="Area" parent="Sound"]
|
|
monitoring = false
|
|
monitorable = false
|
|
reverb_bus_enable = true
|
|
reverb_bus_name = "Reverb1"
|
|
reverb_bus_amount = 1.0
|
|
reverb_bus_uniformity = 1.0
|
|
|
|
[node name="CollisionShape" type="CollisionShape" parent="Sound/Area"]
|
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
|
|
shape = SubResource( 18 )
|
|
|
|
[node name="DM1_dev_materials" parent="." instance=ExtResource( 1 )]
|
|
|
|
[node name="ReflectionProbes" type="Spatial" parent="."]
|
|
visible = false
|
|
__meta__ = {
|
|
"_edit_lock_": true
|
|
}
|
|
|
|
[node name="ReflectionProbe" type="ReflectionProbe" parent="ReflectionProbes"]
|
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 25, 14, 0 )
|
|
extents = Vector3( 15, 14, 22 )
|
|
box_projection = true
|
|
enable_shadows = true
|
|
|
|
[node name="ReflectionProbe5" type="ReflectionProbe" parent="ReflectionProbes"]
|
|
transform = Transform( 0.930123, 0.367248, 0, -0.367248, 0.930123, 0, 0, 0, 1, 11.7433, 8.87002, -21.2808 )
|
|
extents = Vector3( 11.3113, 3.02928, 3.32246 )
|
|
origin_offset = Vector3( 1.16016, 0, 0.953125 )
|
|
box_projection = true
|
|
enable_shadows = true
|
|
|
|
[node name="ReflectionProbe2" type="ReflectionProbe" parent="ReflectionProbes"]
|
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 14, 0 )
|
|
extents = Vector3( 15, 14, 17 )
|
|
box_projection = true
|
|
enable_shadows = true
|
|
|
|
[node name="ReflectionProbe4" type="ReflectionProbe" parent="ReflectionProbes"]
|
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 14, 0 )
|
|
extents = Vector3( 15, 14, 17 )
|
|
box_projection = true
|
|
enable_shadows = true
|
|
|
|
[node name="ReflectionProbe3" type="ReflectionProbe" parent="ReflectionProbes"]
|
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -9, 14, 0 )
|
|
extents = Vector3( 11, 14, 22 )
|
|
box_projection = true
|
|
enable_shadows = true
|
|
|
|
[node name="Lights" type="Spatial" parent="."]
|
|
visible = false
|
|
__meta__ = {
|
|
"_edit_lock_": true
|
|
}
|
|
|
|
[node name="OmniLight" type="OmniLight" parent="Lights"]
|
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 20.1625, 18.8617, 15.3107 )
|
|
light_color = Color( 0.894118, 0.392157, 0.117647, 1 )
|
|
light_energy = 15.0
|
|
light_indirect_energy = 2.0
|
|
light_specular = 0.98
|
|
light_bake_mode = 2
|
|
shadow_enabled = true
|
|
omni_range = 25.0
|
|
omni_attenuation = 2.54912
|
|
script = ExtResource( 10 )
|
|
speed = 3
|
|
noise_amount = 10.0
|
|
|
|
[node name="BlueDecoration" type="SpotLight" parent="Lights"]
|
|
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 32.9591, 14.4, 0 )
|
|
light_color = Color( 0.294118, 0.900735, 1, 1 )
|
|
light_energy = 1.5
|
|
light_bake_mode = 2
|
|
shadow_enabled = true
|
|
shadow_bias = 0.03
|
|
shadow_contact = 6.48
|
|
shadow_reverse_cull_face = true
|
|
spot_range = 36.0
|
|
spot_angle = 78.3316
|
|
|
|
[node name="SpotLight" type="SpotLight" parent="Lights"]
|
|
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 6.6, 9 )
|
|
shadow_enabled = true
|
|
shadow_reverse_cull_face = true
|
|
spot_range = 16.0
|
|
spot_angle = 57.198
|
|
|
|
[node name="SpotLight2" type="SpotLight" parent="Lights"]
|
|
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 6.6, -9 )
|
|
shadow_enabled = true
|
|
shadow_reverse_cull_face = true
|
|
spot_range = 16.0
|
|
spot_angle = 57.198
|
|
|
|
[node name="SpotLight6" type="SpotLight" parent="Lights"]
|
|
transform = Transform( 0.707107, 3.09086e-08, -0.707107, 0.707107, -3.09086e-08, 0.707107, 0, -1, -4.37114e-08, 6.51182, 11.2714, -20.2539 )
|
|
light_color = Color( 0.803922, 1, 0.901961, 1 )
|
|
light_energy = 3.0
|
|
shadow_enabled = true
|
|
shadow_reverse_cull_face = true
|
|
spot_range = 16.0
|
|
spot_angle = 56.6429
|
|
|
|
[node name="SpotLight7" type="SpotLight" parent="Lights"]
|
|
transform = Transform( -1, -1.19608e-14, 2.98023e-08, -2.69128e-08, -0.42955, -0.903043, 1.28016e-08, -0.903043, 0.42955, 12.6266, 13.5114, -13.799 )
|
|
light_color = Color( 1, 0, 0, 1 )
|
|
light_energy = 8.24
|
|
light_specular = 1.0
|
|
light_bake_mode = 2
|
|
shadow_enabled = true
|
|
shadow_bias = 0.0
|
|
shadow_contact = 2.86
|
|
shadow_reverse_cull_face = true
|
|
spot_range = 16.0
|
|
spot_angle = 56.6429
|
|
|
|
[node name="SpotLight8" type="SpotLight" parent="Lights"]
|
|
transform = Transform( -1, -1.19608e-14, 2.98023e-08, -2.69128e-08, -0.42955, -0.903043, 1.28016e-08, -0.903043, 0.42955, 20.0004, 13.5114, -13.799 )
|
|
light_color = Color( 1, 0, 0, 1 )
|
|
light_energy = 8.24
|
|
light_specular = 1.0
|
|
light_bake_mode = 2
|
|
shadow_enabled = true
|
|
shadow_bias = 0.0
|
|
shadow_contact = 2.86
|
|
shadow_reverse_cull_face = true
|
|
spot_range = 16.0
|
|
spot_angle = 56.6429
|
|
|
|
[node name="SpotLight9" type="SpotLight" parent="Lights"]
|
|
transform = Transform( -1, -1.30266e-15, 2.98023e-08, -2.69128e-08, -0.42955, -0.903043, 1.28016e-08, -0.903043, 0.42955, 28.1051, 13.5114, -13.799 )
|
|
light_color = Color( 1, 0, 0, 1 )
|
|
light_energy = 8.24
|
|
light_specular = 1.0
|
|
light_bake_mode = 2
|
|
shadow_enabled = true
|
|
shadow_bias = 0.0
|
|
shadow_contact = 2.86
|
|
shadow_reverse_cull_face = true
|
|
spot_range = 16.0
|
|
spot_angle = 56.6429
|
|
|
|
[node name="SpotLight3" type="SpotLight" parent="Lights"]
|
|
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, -18, 13.6, 0 )
|
|
shadow_enabled = true
|
|
shadow_reverse_cull_face = true
|
|
spot_range = 24.0
|
|
spot_angle = 57.198
|
|
|
|
[node name="SpotLight4" type="SpotLight" parent="Lights"]
|
|
transform = Transform( 1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 13.9999, 2.77229, -9.77516e-06 )
|
|
light_color = Color( 0.662745, 0.929412, 0.898039, 1 )
|
|
light_energy = 2.0
|
|
shadow_enabled = true
|
|
spot_range = 24.0
|
|
spot_angle = 57.198
|
|
script = ExtResource( 11 )
|
|
speed = 30
|
|
noise_amount = 0.5
|
|
|
|
[node name="SpotLight5" type="SpotLight" parent="Lights"]
|
|
transform = Transform( -1, 0, 1.19209e-07, 8.42937e-08, 0.707107, 0.707107, -8.42937e-08, 0.707107, -0.707107, 2, 13, 18 )
|
|
light_color = Color( 0.905882, 0.854902, 0.752941, 1 )
|
|
shadow_enabled = true
|
|
spot_range = 38.0
|
|
spot_angle = 63.7888
|
|
|
|
[node name="Killfloor" parent="." instance=ExtResource( 14 )]
|
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -10.0737, 0 )
|
|
visible = false
|
|
|
|
[editable path="Killfloor"]
|