Merge branch 'master' into controller-support
commit
a8b0670503
Binary file not shown.
|
@ -0,0 +1,19 @@
|
|||
[remap]
|
||||
|
||||
importer="mp3"
|
||||
type="AudioStreamMP3"
|
||||
uid="uid://cuu0kcsmlchgu"
|
||||
path="res://.godot/imported/lake-waves.mp3-5b6f2a2274aba65cf71981123a3654d0.mp3str"
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Assets/Sounds/lake-waves.mp3"
|
||||
dest_files=["res://.godot/imported/lake-waves.mp3-5b6f2a2274aba65cf71981123a3654d0.mp3str"]
|
||||
|
||||
[params]
|
||||
|
||||
loop=false
|
||||
loop_offset=0
|
||||
bpm=0
|
||||
beat_count=0
|
||||
bar_beats=4
|
|
@ -26,6 +26,8 @@ public sealed partial class Player : Character
|
|||
}
|
||||
}
|
||||
|
||||
private TargetTracer _targetTracer;
|
||||
|
||||
[Export]
|
||||
public PlayerCamera Camera { get; set; }
|
||||
|
||||
|
@ -41,6 +43,8 @@ public sealed partial class Player : Character
|
|||
{
|
||||
InteractionRay = GetNode<InteractionRay>("Direction2D/InteractionRay");
|
||||
|
||||
_targetTracer = GetNode<TargetTracer>("%TargetTracer");
|
||||
|
||||
base._Ready();
|
||||
|
||||
Inventory.UsedItem += (Items.Item item) =>
|
||||
|
@ -61,6 +65,8 @@ public sealed partial class Player : Character
|
|||
public override void _Process(double delta)
|
||||
{
|
||||
base._Process(delta);
|
||||
|
||||
_targetTracer.Rotation = DesiredTarget.Angle();
|
||||
}
|
||||
|
||||
public override void _Input(InputEvent @event)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=66 format=3 uid="uid://b2254pup8k161"]
|
||||
[gd_scene load_steps=67 format=3 uid="uid://b2254pup8k161"]
|
||||
|
||||
[ext_resource type="Script" path="res://Characters/Player.cs" id="1_flygr"]
|
||||
[ext_resource type="Shader" path="res://Shaders/Flash.gdshader" id="2_ngsgt"]
|
||||
|
@ -31,6 +31,7 @@
|
|||
[ext_resource type="Texture2D" uid="uid://d1ukste16yq6v" path="res://Assets/Sprites/Particles/player-light.png" id="15_3hahh"]
|
||||
[ext_resource type="Script" path="res://Utils/DamageTime.cs" id="15_4xl06"]
|
||||
[ext_resource type="PackedScene" uid="uid://g7wfcubs6bdd" path="res://Items/Weapons/Railgun.tscn" id="21_n8w32"]
|
||||
[ext_resource type="PackedScene" uid="uid://ce0ph4wk0ylra" path="res://UI/TargetTracer.tscn" id="22_hxi53"]
|
||||
[ext_resource type="PackedScene" uid="uid://5y1acxl4j4n7" path="res://Items/Weapons/Pugio.tscn" id="22_mqpn7"]
|
||||
[ext_resource type="PackedScene" uid="uid://d1d4vg7we5rjr" path="res://Items/Weapons/Shotgun.tscn" id="22_rmciq"]
|
||||
|
||||
|
@ -452,6 +453,10 @@ stream = ExtResource("13_bxguv")
|
|||
[node name="HurtSound" type="AudioStreamPlayer2D" parent="Effects"]
|
||||
stream = ExtResource("12_vvem5")
|
||||
|
||||
[node name="TargetTracer" parent="Effects" instance=ExtResource("22_hxi53")]
|
||||
unique_name_in_owner = true
|
||||
position = Vector2(0, -4)
|
||||
|
||||
[node name="Camera2D" parent="." instance=ExtResource("4_ym125")]
|
||||
zoom = Vector2(4, 4)
|
||||
position_smoothing_speed = 8.0
|
||||
|
@ -513,6 +518,9 @@ UseTime = 0.2
|
|||
|
||||
[node name="DocLance" parent="Inventory" instance=ExtResource("14_bj0lo")]
|
||||
|
||||
[node name="RemoteTransform2D2" type="RemoteTransform2D" parent="Inventory"]
|
||||
position = Vector2(0, 4)
|
||||
|
||||
[node name="Hurtbox" parent="." node_paths=PackedStringArray("InvincibilityTimer") instance=ExtResource("9_avyu4")]
|
||||
visible = false
|
||||
InvincibilityTimer = NodePath("Timer")
|
||||
|
@ -527,7 +535,6 @@ shape = SubResource("RectangleShape2D_cjk6b")
|
|||
one_shot = true
|
||||
|
||||
[node name="AudioListener2D" type="AudioListener2D" parent="."]
|
||||
visible = false
|
||||
current = true
|
||||
|
||||
[node name="Direction2D" type="Marker2D" parent="."]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
[gd_scene load_steps=67 format=3 uid="uid://dr3bcvql7burk"]
|
||||
[gd_scene load_steps=72 format=3 uid="uid://dr3bcvql7burk"]
|
||||
|
||||
[ext_resource type="PackedScene" uid="uid://clwv2owvk6abe" path="res://Scenes/BaseMap.tscn" id="1_ci4ij"]
|
||||
[ext_resource type="TileSet" uid="uid://l61kbx31ug4p" path="res://Scenes/Maps/ArenaTileset.tres" id="2_m6h7j"]
|
||||
|
@ -18,6 +18,7 @@
|
|||
[ext_resource type="Texture2D" uid="uid://ds0xg848g3jid" path="res://Assets/Sprites/Props/tree-dark-5.png" id="12_md5xh"]
|
||||
[ext_resource type="Texture2D" uid="uid://8rbstele3ckq" path="res://Assets/Sprites/Props/tree-dark-4.png" id="13_j84wc"]
|
||||
[ext_resource type="Texture2D" uid="uid://wuvwd5corw3f" path="res://Assets/Sprites/Props/arena-stairs.png" id="14_i2ht5"]
|
||||
[ext_resource type="Shader" path="res://Shaders/WindSwayUnshaded.gdshader" id="15_pmjmi"]
|
||||
[ext_resource type="Shader" path="res://Shaders/Water.gdshader" id="15_vlb8v"]
|
||||
[ext_resource type="Texture2D" uid="uid://dngclnqt7pe3k" path="res://Assets/Sprites/Particles/NoiseSmall.tres" id="17_j6kc0"]
|
||||
[ext_resource type="Texture2D" uid="uid://dejwdw7or8c" path="res://Assets/Sprites/Particles/NoiseLarge.tres" id="18_1c1fg"]
|
||||
|
@ -28,6 +29,7 @@
|
|||
[ext_resource type="Material" uid="uid://b64pfv5ocwegv" path="res://Assets/Sprites/Particles/ArenaLeaves.tres" id="23_4ibaf"]
|
||||
[ext_resource type="PackedScene" uid="uid://dhl071rj5wyvx" path="res://Entities/Campfire.tscn" id="23_mykt8"]
|
||||
[ext_resource type="Texture2D" uid="uid://d2vhmsc65ichv" path="res://Assets/Sprites/Particles/leaf-white.png" id="23_qkkt0"]
|
||||
[ext_resource type="AudioStream" uid="uid://cuu0kcsmlchgu" path="res://Assets/Sounds/lake-waves.mp3" id="26_2g1h3"]
|
||||
[ext_resource type="PackedScene" uid="uid://cdj50hb84aujp" path="res://Characters/DocLegionary.tscn" id="27_84gw4"]
|
||||
[ext_resource type="Shader" path="res://Shaders/Flash.gdshader" id="28_b3suq"]
|
||||
[ext_resource type="PackedScene" uid="uid://dhamcei7tfta8" path="res://Characters/DocCenturion.tscn" id="30_qfl2k"]
|
||||
|
@ -137,9 +139,36 @@ shader_parameter/seed = 3.0
|
|||
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_47ohj"]
|
||||
light_mode = 1
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_so677"]
|
||||
shader = ExtResource("15_pmjmi")
|
||||
shader_parameter/speed = 1.0
|
||||
shader_parameter/minStrength = 0.05
|
||||
shader_parameter/maxStrength = 0.01
|
||||
shader_parameter/strengthScale = 100.0
|
||||
shader_parameter/interval = 3.5
|
||||
shader_parameter/detail = 1.0
|
||||
shader_parameter/distortion = null
|
||||
shader_parameter/heightOffset = null
|
||||
shader_parameter/offset = 0.0
|
||||
|
||||
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_wt525"]
|
||||
light_mode = 1
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_b00lw"]
|
||||
shader = ExtResource("15_pmjmi")
|
||||
shader_parameter/speed = 1.0
|
||||
shader_parameter/minStrength = 0.05
|
||||
shader_parameter/maxStrength = 0.02
|
||||
shader_parameter/strengthScale = 100.0
|
||||
shader_parameter/interval = 2.0
|
||||
shader_parameter/detail = 1.0
|
||||
shader_parameter/distortion = 1.0
|
||||
shader_parameter/heightOffset = null
|
||||
shader_parameter/offset = 0.0
|
||||
|
||||
[sub_resource type="CanvasItemMaterial" id="CanvasItemMaterial_txrwk"]
|
||||
light_mode = 1
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6r42m"]
|
||||
shader = ExtResource("15_vlb8v")
|
||||
shader_parameter/alpha = 0.75
|
||||
|
@ -166,91 +195,91 @@ size = Vector2(64, 97)
|
|||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_5pcme"]
|
||||
size = Vector2(18, 6)
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mg83a"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rmd68"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_elrp0"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_mfl5e"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_7olcb"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_5dit0"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_d2b1c"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_s1isy"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3qqeq"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_57t45"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_u0yfp"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2s5o2"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_lxojq"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hgfsn"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_6i24g"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8o8wb"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_o80y1"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_nnd4x"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_bc5nr"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_muryx"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_wcyyo"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_2qvkn"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_gnvby"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_o7meu"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
shader_parameter/intensity = 0.0
|
||||
shader_parameter/alpha_modulate = 1.0
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_8o4l7"]
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_52xin"]
|
||||
resource_local_to_scene = true
|
||||
shader = ExtResource("28_b3suq")
|
||||
shader_parameter/color = Vector4(1, 1, 1, 1)
|
||||
|
@ -522,10 +551,11 @@ offset = Vector2(32, -32)
|
|||
|
||||
[node name="Static@Node2D2" type="Node2D" parent="Props" index="18"]
|
||||
z_index = 2
|
||||
material = SubResource("ShaderMaterial_so677")
|
||||
position = Vector2(696, 559)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Props/Static@Node2D2" index="0"]
|
||||
material = SubResource("CanvasItemMaterial_wt525")
|
||||
use_parent_material = true
|
||||
position = Vector2(40, 24)
|
||||
texture = ExtResource("10_sx2hw")
|
||||
offset = Vector2(-48, -64)
|
||||
|
@ -539,17 +569,17 @@ offset = Vector2(-48, -64)
|
|||
|
||||
[node name="StaticNode2D2" type="Node2D" parent="Props" index="19"]
|
||||
z_index = 1
|
||||
material = SubResource("ShaderMaterial_b00lw")
|
||||
position = Vector2(705, 447)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Props/StaticNode2D2" index="0"]
|
||||
material = SubResource("CanvasItemMaterial_wt525")
|
||||
use_parent_material = true
|
||||
position = Vector2(40, 24)
|
||||
texture = ExtResource("12_md5xh")
|
||||
offset = Vector2(-48, -64)
|
||||
|
||||
[node name="Sprite2D2" type="Sprite2D" parent="Props/StaticNode2D2" index="1"]
|
||||
z_index = -4
|
||||
material = SubResource("CanvasItemMaterial_wt525")
|
||||
position = Vector2(40, 24)
|
||||
texture = ExtResource("12_md5xh")
|
||||
offset = Vector2(-48, -64)
|
||||
|
@ -559,7 +589,7 @@ z_index = 3
|
|||
position = Vector2(710, 603)
|
||||
|
||||
[node name="Sprite2D" type="Sprite2D" parent="Props/Static@Node2D3" index="0"]
|
||||
material = SubResource("CanvasItemMaterial_wt525")
|
||||
material = SubResource("CanvasItemMaterial_txrwk")
|
||||
position = Vector2(64, 56)
|
||||
texture = ExtResource("11_wjfe8")
|
||||
offset = Vector2(-48, -64)
|
||||
|
@ -682,6 +712,15 @@ explosiveness = 0.2
|
|||
randomness = 0.5
|
||||
fixed_fps = 12
|
||||
|
||||
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="Props" index="27"]
|
||||
position = Vector2(576, 504)
|
||||
stream = ExtResource("26_2g1h3")
|
||||
volume_db = -4.0
|
||||
autoplay = true
|
||||
max_distance = 140.0
|
||||
attenuation = 0.5
|
||||
bus = &"Ambient"
|
||||
|
||||
[node name="ArenaEntrance" parent="Entities" index="0" instance=ExtResource("20_tcd0x")]
|
||||
z_index = -1
|
||||
position = Vector2(576, 416)
|
||||
|
@ -716,55 +755,55 @@ position = Vector2(256, -9)
|
|||
position = Vector2(80, 373)
|
||||
|
||||
[node name="Centurion" parent="Entities" index="8" instance=ExtResource("30_qfl2k")]
|
||||
material = SubResource("ShaderMaterial_mg83a")
|
||||
material = SubResource("ShaderMaterial_rmd68")
|
||||
position = Vector2(-360, 31)
|
||||
|
||||
[node name="Centurion2" parent="Entities" index="9" instance=ExtResource("30_qfl2k")]
|
||||
material = SubResource("ShaderMaterial_elrp0")
|
||||
material = SubResource("ShaderMaterial_mfl5e")
|
||||
position = Vector2(-224, 131)
|
||||
|
||||
[node name="Centurion3" parent="Entities" index="10" instance=ExtResource("30_qfl2k")]
|
||||
material = SubResource("ShaderMaterial_7olcb")
|
||||
material = SubResource("ShaderMaterial_5dit0")
|
||||
position = Vector2(-280, 411)
|
||||
|
||||
[node name="Centurion4" parent="Entities" index="11" instance=ExtResource("30_qfl2k")]
|
||||
material = SubResource("ShaderMaterial_d2b1c")
|
||||
material = SubResource("ShaderMaterial_s1isy")
|
||||
position = Vector2(-232, 728)
|
||||
|
||||
[node name="Legionary" parent="Entities" index="12" instance=ExtResource("27_84gw4")]
|
||||
material = SubResource("ShaderMaterial_3qqeq")
|
||||
material = SubResource("ShaderMaterial_57t45")
|
||||
position = Vector2(-214, 72)
|
||||
|
||||
[node name="Legionary2" parent="Entities" index="13" instance=ExtResource("27_84gw4")]
|
||||
material = SubResource("ShaderMaterial_u0yfp")
|
||||
material = SubResource("ShaderMaterial_2s5o2")
|
||||
position = Vector2(-496, 15)
|
||||
|
||||
[node name="Legionary3" parent="Entities" index="14" instance=ExtResource("27_84gw4")]
|
||||
material = SubResource("ShaderMaterial_lxojq")
|
||||
material = SubResource("ShaderMaterial_hgfsn")
|
||||
position = Vector2(-384, 118)
|
||||
|
||||
[node name="Legionary4" parent="Entities" index="15" instance=ExtResource("27_84gw4")]
|
||||
material = SubResource("ShaderMaterial_6i24g")
|
||||
material = SubResource("ShaderMaterial_8o8wb")
|
||||
position = Vector2(-300, 384)
|
||||
|
||||
[node name="Legionary5" parent="Entities" index="16" instance=ExtResource("27_84gw4")]
|
||||
material = SubResource("ShaderMaterial_o80y1")
|
||||
material = SubResource("ShaderMaterial_nnd4x")
|
||||
position = Vector2(-152, 728)
|
||||
|
||||
[node name="Legionary6" parent="Entities" index="17" instance=ExtResource("27_84gw4")]
|
||||
material = SubResource("ShaderMaterial_bc5nr")
|
||||
material = SubResource("ShaderMaterial_muryx")
|
||||
position = Vector2(-258, 455)
|
||||
|
||||
[node name="Legionary7" parent="Entities" index="18" instance=ExtResource("27_84gw4")]
|
||||
material = SubResource("ShaderMaterial_wcyyo")
|
||||
material = SubResource("ShaderMaterial_2qvkn")
|
||||
position = Vector2(-556, 402)
|
||||
|
||||
[node name="Legionary8" parent="Entities" index="19" instance=ExtResource("27_84gw4")]
|
||||
material = SubResource("ShaderMaterial_gnvby")
|
||||
material = SubResource("ShaderMaterial_o7meu")
|
||||
position = Vector2(-404, 505)
|
||||
|
||||
[node name="Cultist" parent="Entities" index="20" instance=ExtResource("30_xj4yo")]
|
||||
material = SubResource("ShaderMaterial_8o4l7")
|
||||
material = SubResource("ShaderMaterial_52xin")
|
||||
position = Vector2(191, 567)
|
||||
|
||||
[node name="CameraBounds" parent="Areas" index="0" instance=ExtResource("33_e4gty")]
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
shader_type canvas_item;
|
||||
|
||||
uniform float speed = 16;
|
||||
uniform vec2 direction = vec2(1, 0);
|
||||
|
||||
void fragment() {
|
||||
COLOR = texture(TEXTURE, UV - direction * TIME * speed);
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
// original wind shader from https://github.com/Maujoe/godot-simple-wind-shader-2d/tree/master/assets/maujoe.simple_wind_shader_2d
|
||||
// original script modified by HungryProton so that the assets are moving differently : https://pastebin.com/VL3AfV8D
|
||||
//
|
||||
// speed - The speed of the wind movement.
|
||||
// minStrength - The minimal strength of the wind movement.
|
||||
// maxStrength - The maximal strength of the wind movement.
|
||||
// strengthScale - Scalefactor for the wind strength.
|
||||
// interval - The time between minimal and maximal strength changes.
|
||||
// detail - The detail (number of waves) of the wind movement.
|
||||
// distortion - The strength of geometry distortion.
|
||||
// heightOffset - The height where the wind begins to move. By default 0.0.
|
||||
|
||||
shader_type canvas_item;
|
||||
render_mode blend_mix;
|
||||
|
||||
// Wind settings.
|
||||
uniform float speed = 1.0;
|
||||
uniform float minStrength : hint_range(0.0, 1.0) = 0.05;
|
||||
uniform float maxStrength : hint_range(0.0, 1.0) = 0.01;
|
||||
uniform float strengthScale = 100.0;
|
||||
uniform float interval = 3.5;
|
||||
uniform float detail = 1.0;
|
||||
uniform float distortion : hint_range(0.0, 1.0);
|
||||
uniform float heightOffset : hint_range(0.0, 1.0);
|
||||
|
||||
// With the offset value, you can if you want different moves for each asset. Just put a random value (1, 2, 3) in the editor. Don't forget to mark the material as unique if you use this
|
||||
uniform float offset = 0;
|
||||
|
||||
|
||||
float getWind(vec2 vertex, vec2 uv, float time){
|
||||
float diff = pow(maxStrength - minStrength, 2.0);
|
||||
float strength = clamp(minStrength + diff + sin(time / interval) * diff, minStrength, maxStrength) * strengthScale;
|
||||
float wind = (sin(time) + cos(time * detail)) * strength * max(0.0, (1.0-uv.y) - heightOffset);
|
||||
|
||||
return wind;
|
||||
}
|
||||
|
||||
void vertex() {
|
||||
vec4 pos = MODEL_MATRIX * vec4(0.0, 0.0, 0.0, 1.0);
|
||||
float time = TIME * speed + offset;
|
||||
//float time = TIME * speed + pos.x * pos.y ; not working when moving...
|
||||
VERTEX.x += getWind(VERTEX.xy, UV, time);
|
||||
}
|
|
@ -0,0 +1,43 @@
|
|||
// original wind shader from https://github.com/Maujoe/godot-simple-wind-shader-2d/tree/master/assets/maujoe.simple_wind_shader_2d
|
||||
// original script modified by HungryProton so that the assets are moving differently : https://pastebin.com/VL3AfV8D
|
||||
//
|
||||
// speed - The speed of the wind movement.
|
||||
// minStrength - The minimal strength of the wind movement.
|
||||
// maxStrength - The maximal strength of the wind movement.
|
||||
// strengthScale - Scalefactor for the wind strength.
|
||||
// interval - The time between minimal and maximal strength changes.
|
||||
// detail - The detail (number of waves) of the wind movement.
|
||||
// distortion - The strength of geometry distortion.
|
||||
// heightOffset - The height where the wind begins to move. By default 0.0.
|
||||
|
||||
shader_type canvas_item;
|
||||
render_mode unshaded;
|
||||
|
||||
// Wind settings.
|
||||
uniform float speed = 1.0;
|
||||
uniform float minStrength : hint_range(0.0, 1.0) = 0.05;
|
||||
uniform float maxStrength : hint_range(0.0, 1.0) = 0.01;
|
||||
uniform float strengthScale = 100.0;
|
||||
uniform float interval = 3.5;
|
||||
uniform float detail = 1.0;
|
||||
uniform float distortion : hint_range(0.0, 1.0);
|
||||
uniform float heightOffset : hint_range(0.0, 1.0);
|
||||
|
||||
// With the offset value, you can if you want different moves for each asset. Just put a random value (1, 2, 3) in the editor. Don't forget to mark the material as unique if you use this
|
||||
uniform float offset = 0;
|
||||
|
||||
|
||||
float getWind(vec2 vertex, vec2 uv, float time){
|
||||
float diff = pow(maxStrength - minStrength, 2.0);
|
||||
float strength = clamp(minStrength + diff + sin(time / interval) * diff, minStrength, maxStrength) * strengthScale;
|
||||
float wind = (sin(time) + cos(time * detail)) * strength * max(0.0, (1.0-uv.y) - heightOffset);
|
||||
|
||||
return wind;
|
||||
}
|
||||
|
||||
void vertex() {
|
||||
vec4 pos = MODEL_MATRIX * vec4(0.0, 0.0, 0.0, 1.0);
|
||||
float time = TIME * speed + offset;
|
||||
//float time = TIME * speed + pos.x * pos.y ; not working when moving...
|
||||
VERTEX.x += getWind(VERTEX.xy, UV, time);
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
using Godot;
|
||||
|
||||
public partial class TargetTracer : Node2D
|
||||
{
|
||||
private Line2D _line;
|
||||
|
||||
private float Intensity
|
||||
{
|
||||
get => SelfModulate.A;
|
||||
set
|
||||
{
|
||||
SelfModulate = new Color(SelfModulate, value);
|
||||
}
|
||||
}
|
||||
|
||||
public override void _Ready()
|
||||
{
|
||||
_line = GetNode<Line2D>("Line2D");
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
[gd_scene load_steps=6 format=3 uid="uid://ce0ph4wk0ylra"]
|
||||
|
||||
[ext_resource type="Shader" path="res://Shaders/Scrolling.gdshader" id="1_1y0lt"]
|
||||
[ext_resource type="Script" path="res://UI/TargetTracer.cs" id="1_mtnfa"]
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_hcccp"]
|
||||
shader = ExtResource("1_1y0lt")
|
||||
shader_parameter/speed = 1.0
|
||||
shader_parameter/direction = Vector2(1, 0)
|
||||
|
||||
[sub_resource type="Gradient" id="Gradient_0wna6"]
|
||||
interpolation_mode = 1
|
||||
offsets = PackedFloat32Array(0, 0.867133)
|
||||
colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 0)
|
||||
|
||||
[sub_resource type="GradientTexture2D" id="GradientTexture2D_icdwl"]
|
||||
gradient = SubResource("Gradient_0wna6")
|
||||
width = 2
|
||||
height = 1
|
||||
|
||||
[node name="TargetTracer" type="Node2D"]
|
||||
script = ExtResource("1_mtnfa")
|
||||
|
||||
[node name="Line2D" type="Line2D" parent="."]
|
||||
z_index = 31
|
||||
texture_repeat = 2
|
||||
material = SubResource("ShaderMaterial_hcccp")
|
||||
scale = Vector2(1, 0.5)
|
||||
points = PackedVector2Array(0, 0, 32, 0)
|
||||
width = 2.0
|
||||
texture = SubResource("GradientTexture2D_icdwl")
|
||||
texture_mode = 1
|
Loading…
Reference in New Issue