Overworld Gate object added, visual assetts added, test animation added

This commit is contained in:
Pal
2025-12-03 23:54:20 -08:00
parent 34742d568e
commit 1ee3e97f85
48 changed files with 1109 additions and 272 deletions

View File

@@ -0,0 +1,19 @@
shader_type canvas_item;
uniform float time:hint_range(0.0, 1.57, 0.001) = 1.0;
uniform vec2 custom_resolution = vec2(100,100);
float rand(vec2 co){
return fract(sin(dot(co.xy ,vec2(12.9898,96.233))) * 43758.5453);
}
void fragment()
{
vec2 within_texture_pixel=vec2(floor(UV * custom_resolution));
vec4 color= texture(TEXTURE,UV);
if(sin(time) > rand(within_texture_pixel))
COLOR = color;
else
COLOR = vec4(0.0,0.0,0.0,0.0);
}

View File

@@ -0,0 +1 @@
uid://bbagt253uq4mq

View File

@@ -0,0 +1,38 @@
shader_type canvas_item;
render_mode world_vertex_coords;
group_uniforms Squiggle;
/**
* Noise texture scale
* By default, the noise texture's size in world coordinates is set by its resolution
*/
uniform vec2 scale = vec2(1.0);
uniform float strength = 1.0;
/**
* Number of squiggle frames per second
*/
uniform float fps = 6.0;
uniform sampler2D noise : filter_linear, repeat_enable;
group_uniforms;
varying vec4 modulate;
varying vec2 noise_uv;
void vertex() {
modulate = COLOR;
// Use world coordinates for scale-independent squiggles, offset by position to keep pattern attached to object
noise_uv = (VERTEX - MODEL_MATRIX[3].xy) / (vec2(textureSize(noise, 0)) * scale);
}
// Use irrational constants for unique squiggles every frame
#define offset_multiplier vec2(PI, E)
void fragment() {
vec2 noise_offset = vec2(floor(TIME * fps)) * offset_multiplier;
float noise_sample = texture(noise, noise_uv + noise_offset).r * 4.0 * PI;
vec2 direction = vec2(cos(noise_sample), sin(noise_sample));
vec2 squiggle_uv = UV + direction * strength * 0.005;
COLOR = texture(TEXTURE, squiggle_uv) * modulate;
}

View File

@@ -0,0 +1 @@
uid://c7vqfctycv1eg

View File

@@ -0,0 +1,11 @@
[gd_resource type="VisualShader" format=3 uid="uid://ce7t1f7ywglsb"]
[resource]
code = "shader_type canvas_item;
render_mode blend_mix;
"
mode = 1
flags/light_only = false

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b66pc64qac8g7"
path="res://.godot/imported/manualmessed.png-071e01a678f588204ea954a5ded169d5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/vfx/manualmessed.png"
dest_files=["res://.godot/imported/manualmessed.png-071e01a678f588204ea954a5ded169d5.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://wy3dim216kqx"
path="res://.godot/imported/testpro.png-eb7f36e4299c216e5faff4e26f714759.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/vfx/testpro.png"
dest_files=["res://.godot/imported/testpro.png-eb7f36e4299c216e5faff4e26f714759.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0