From c4a28a31bb89d46d0dbf2cf7ac73a3139a6a1d5b Mon Sep 17 00:00:00 2001 From: betalars Date: Tue, 3 Jun 2025 01:46:46 +0200 Subject: [PATCH] converting WIP card fire assets to proper resources --- src/dev-util/candle-prototype.tscn | 218 +----------------- src/logic-scenes/card_burner/candle.material | Bin 0 -> 471 bytes .../card_burner/candle_particle.gdshader | 10 + .../card_burner/candle_particle.gdshader.uid | 1 + .../card_burner/card_fire.gdshader | 54 +++++ .../card_burner/card_fire.gdshader.uid | 1 + .../card_burner/card_fire.material | Bin 0 -> 594 bytes .../card_burner/card_sut.gdshader | 51 ++++ .../card_burner/card_sut.gdshader.uid | 1 + .../card_burner/card_sut.material | Bin 0 -> 588 bytes .../card_burner/cursor_candle.tscn | 49 ++++ 11 files changed, 174 insertions(+), 211 deletions(-) create mode 100644 src/logic-scenes/card_burner/candle.material create mode 100644 src/logic-scenes/card_burner/candle_particle.gdshader create mode 100644 src/logic-scenes/card_burner/candle_particle.gdshader.uid create mode 100644 src/logic-scenes/card_burner/card_fire.gdshader create mode 100644 src/logic-scenes/card_burner/card_fire.gdshader.uid create mode 100644 src/logic-scenes/card_burner/card_fire.material create mode 100644 src/logic-scenes/card_burner/card_sut.gdshader create mode 100644 src/logic-scenes/card_burner/card_sut.gdshader.uid create mode 100644 src/logic-scenes/card_burner/card_sut.material create mode 100644 src/logic-scenes/card_burner/cursor_candle.tscn diff --git a/src/dev-util/candle-prototype.tscn b/src/dev-util/candle-prototype.tscn index 8da4c19..5db4da6 100644 --- a/src/dev-util/candle-prototype.tscn +++ b/src/dev-util/candle-prototype.tscn @@ -1,79 +1,10 @@ -[gd_scene load_steps=25 format=3 uid="uid://de1jhrkfs5qc6"] +[gd_scene load_steps=11 format=3 uid="uid://de1jhrkfs5qc6"] -[ext_resource type="Texture2D" uid="uid://ds1n0xhxqlp4b" path="res://base-environments/youth_room/shaders/universe_noise.png" id="1_uu85p"] +[ext_resource type="Material" uid="uid://clfshh25jwfm1" path="res://logic-scenes/card_burner/card_fire.material" id="1_5xkf6"] [ext_resource type="PackedScene" uid="uid://dy5rd437h5hsw" path="res://logic-scenes/board/card.tscn" id="2_wi77g"] [ext_resource type="SpriteFrames" uid="uid://j7e7me3hl6xt" path="res://logic-scenes/board/card-textures/card-sprites.tres" id="3_2ph0d"] - -[sub_resource type="Shader" id="Shader_f606e"] -code = "shader_type canvas_item; -render_mode blend_add; - -uniform float fire_progression = 0; -uniform sampler2D flame_noise: repeat_enable; -uniform sampler2D flame_gradoent; - -vec3 RNGV3(vec3 p) { - vec3 a = fract(sin(vec3(p.x, p.y, p.z)) * vec3(111.11,333.33,444.44)); - a += dot(a, a+33.51); - return fract(vec3(a.x*a.y, a.y*a.z, a.z*a.x)); //outputs a random vec2 between 0 and 1 -} - -vec4 voronoy(vec3 loc, float scale){ - loc = loc*scale; - vec4 output = vec4(0., 0., 0., 10.); - for(float y=-1.; y<=1.; y++){ - for(float x=-1.; x<=1.; x++){ - for(float z=-1.; z<=1.; z++){ - vec3 offs = vec3(x,y,z); - vec3 n = RNGV3(floor(loc)+offs)*2.0-1.0; - vec3 p = offs+sin(n) * .5; - float d = length((fract(loc)-0.5)-p); - if(d void: $AnimatedSprite2D/Sprite2D.material.set_shader_parameter(\"fire_progression\", flame_progression) " -[sub_resource type="Shader" id="Shader_uu85p"] -code = "shader_type canvas_item; -render_mode blend_mix; - -uniform float fire_progression = 0; -uniform sampler2D flame_noise: repeat_enable; -uniform sampler2D ash_gradoent: repeat_disable; - -vec3 RNGV3(vec3 p) { - vec3 a = fract(sin(vec3(p.x, p.y, p.z)) * vec3(111.11,333.33,444.44)); - a += dot(a, a+33.51); - return fract(vec3(a.x*a.y, a.y*a.z, a.z*a.x)); //outputs a random vec2 between 0 and 1 -} - -vec4 voronoy(vec3 loc, float scale){ - loc = loc*scale; - vec4 output = vec4(0., 0., 0., 10.); - for(float y=-1.; y<=1.; y++){ - for(float x=-1.; x<=1.; x++){ - for(float z=-1.; z<=1.; z++){ - vec3 offs = vec3(x,y,z); - vec3 n = RNGV3(floor(loc)+offs)*2.0-1.0; - vec3 p = offs+sin(n) * .5; - float d = length((fract(loc)-0.5)-p); - if(dd3w)*+ejxSR!}3@0lB094eYh(1$^@rcyW^BmfjovcbFtCfQ827;xiTMDrxRIwyPaE$ zH*zo@rjtn_fdQN8xBz6VkW_9!NUC3})eDOi!_jKxSo|j-ss5`bV!#DUQYbnlkBt_3 zE$22wT?aoj`gR$mMpRb1wWfI)_N0jsRv@ zXsD$`07C#!01ug0ng-NMe8ZvThyAHhKr zB)|x=B1gr4&*h7~^?`b+CyM!>;C}!Be=u4sTVq-IPr?X&{|9_wKfa$0pUT0s#`6C` zhNFmV!2#mp*2Gk3?@XLoqwQjDC#o6KG+O6glRM7LOMLAF)-xN;nIRdOD}9dQv(!3E=)E5WMTw_#_J&$1liYBND3(KtE10Y3Me!Y>k zKM{b8C*H5d_ewH^5xIiDj|2itbqH3IY65!)=MT?((+VS=pYRa!E&pSUv{E_F(ojx0 zDSKy+ya~>Ur-&OW|mgl5a)kzEV>|LzKr80ssI2 literal 0 HcmV?d00001 diff --git a/src/logic-scenes/card_burner/card_sut.gdshader b/src/logic-scenes/card_burner/card_sut.gdshader new file mode 100644 index 0000000..b36c5e7 --- /dev/null +++ b/src/logic-scenes/card_burner/card_sut.gdshader @@ -0,0 +1,51 @@ +shader_type canvas_item; +render_mode blend_mix; + +uniform float fire_progression = 0; +uniform sampler2D flame_noise: repeat_enable; +uniform sampler2D ash_gradoent: repeat_disable; + +vec3 RNGV3(vec3 p) { + vec3 a = fract(sin(vec3(p.x, p.y, p.z)) * vec3(111.11,333.33,444.44)); + a += dot(a, a+33.51); + return fract(vec3(a.x*a.y, a.y*a.z, a.z*a.x)); //outputs a random vec2 between 0 and 1 +} + +vec4 voronoy(vec3 loc, float scale){ + loc = loc*scale; + vec4 output = vec4(0., 0., 0., 10.); + for(float y=-1.; y<=1.; y++){ + for(float x=-1.; x<=1.; x++){ + for(float z=-1.; z<=1.; z++){ + vec3 offs = vec3(x,y,z); + vec3 n = RNGV3(floor(loc)+offs)*2.0-1.0; + vec3 p = offs+sin(n) * .5; + float d = length((fract(loc)-0.5)-p); + if(dDd+w- za1M+O$&U;!Q2f^%y0_VG!{+2H(0>B|0f_to>=ZotX>55pnBY+#b8e-JwcJNVo1K?i zhqVUhc8TR`w@a65C5P})|3|)))snNes+X44(;Lw--{iLXPx8jzO8h^-IsbwGnyf_+ zxB?TC;#I^@c=P4OEaK==-DY*Bp@=)?6?NZB%#&p2;yDHhxmlA)4;pO5bW(g=E2avi zGv17wxwL7W6!D4lDuq#`!Vy4!h&C%1T0kuzo6ihPjLnA}5dIg?jQkvv{~(_bI&fH+ z@dAX01`7_K3LRuVCH~F{6YbR4VPeI>jgkkSH`DRRkZDgS#Q7Qg7h%z;xPEtP-J{SJ z{O9o$szpp_EK#KLL#XknLQEkk5t)gbiNINmu@Q$s^oNfqb- literal 0 HcmV?d00001 diff --git a/src/logic-scenes/card_burner/cursor_candle.tscn b/src/logic-scenes/card_burner/cursor_candle.tscn new file mode 100644 index 0000000..b35e2b5 --- /dev/null +++ b/src/logic-scenes/card_burner/cursor_candle.tscn @@ -0,0 +1,49 @@ +[gd_scene load_steps=6 format=3 uid="uid://uc6urpgv7n1y"] + +[ext_resource type="Material" uid="uid://ppu1xnd8b7td" path="res://logic-scenes/card_burner/candle.material" id="1_61aak"] + +[sub_resource type="Gradient" id="Gradient_wi77g"] +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1) + +[sub_resource type="GradientTexture2D" id="GradientTexture2D_2ph0d"] +gradient = SubResource("Gradient_wi77g") +height = 80 + +[sub_resource type="Gradient" id="Gradient_2ph0d"] +interpolation_mode = 2 +interpolation_color_space = 1 +offsets = PackedFloat32Array(0, 0.254593, 0.902887, 1) +colors = PackedColorArray(0.6, 0.443137, 0, 1, 1, 0.917647, 0.388235, 1, 0.513726, 0.772549, 0.862745, 1, 0.443137, 0.635294, 1, 1) + +[sub_resource type="GDScript" id="GDScript_cfpbc"] +script/source = "extends CPUParticles2D + +var noise: = FastNoiseLite.new() +var noise_position:= 0.0 +var noise_offset:= Vector2.ZERO + +func _process(delta: float) -> void: + var diff: Vector2 = position - noise_offset - get_viewport().get_mouse_position() + noise_position += delta * 100 + noise_offset = Vector2(noise.get_noise_1d(noise_position), noise.get_noise_1d(-noise_position))*30.0 + position = get_viewport().get_mouse_position() + noise_offset + rotation = lerp(rotation, clamp(-PI/3, diff.x *.05, PI/3), delta*20.0) + + lifetime = lerp(lifetime, .25 * (1.0/(1.0+diff.length()*.1) - noise_offset.length()*.02), 0.2) +" + +[node name="CursorCandle" type="CPUParticles2D"] +material = ExtResource("1_61aak") +amount = 256 +texture = SubResource("GradientTexture2D_2ph0d") +lifetime = 0.25 +emission_shape = 1 +emission_sphere_radius = 5.0 +particle_flag_align_y = true +direction = Vector2(0, -1) +spread = 0.0 +gravity = Vector2(0, 800) +initial_velocity_min = 500.0 +initial_velocity_max = 600.0 +color_ramp = SubResource("Gradient_2ph0d") +script = SubResource("GDScript_cfpbc")