sound design
This commit is contained in:
parent
a63c8e03e9
commit
ba02781ce0
BIN
blends/levels/meat_creek_cage.png (Stored with Git LFS)
BIN
blends/levels/meat_creek_cage.png (Stored with Git LFS)
Binary file not shown.
BIN
blends/levels/side_tunnel_1.blend (Stored with Git LFS)
BIN
blends/levels/side_tunnel_1.blend (Stored with Git LFS)
Binary file not shown.
|
@ -1,3 +1,3 @@
|
||||||
source_md5="a4b045d4090a0a01a253a33da0505cb1"
|
source_md5="0fd4b06bb4f9ac715836d05cb4e85e7b"
|
||||||
dest_md5="aa0e8b90fb5b116e0726f81803c8a616"
|
dest_md5="0dddb11d864bd4c870b083fc31fbd6d8"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -1,3 +1,3 @@
|
||||||
source_md5="ace676fe7e4f24bdbf032aa00230af74"
|
source_md5="ace676fe7e4f24bdbf032aa00230af74"
|
||||||
dest_md5="6221cf041bb9d666bad1929ab6455e8e"
|
dest_md5="bd6a0176607b4ecebcd50991f6da0776"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -1,3 +1,3 @@
|
||||||
source_md5="1d4ca3067ebf1c9e78e1186dc7d2bdf9"
|
source_md5="1d4ca3067ebf1c9e78e1186dc7d2bdf9"
|
||||||
dest_md5="a36af739bfbe7506149dbdeb9222249b"
|
dest_md5="1d50108642ea2e4507a85242c0e7695c"
|
||||||
|
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,3 @@
|
||||||
|
source_md5="e833f38119016447d89eb1e9ba10b257"
|
||||||
|
dest_md5="b025fd110fbecc608a1db2fe72d0985e"
|
||||||
|
|
Binary file not shown.
|
@ -11,5 +11,5 @@ dest_files=[ "res://.import/high_whale.ogg-48d354f55ee014cb0a5286b1f3370c6c.oggs
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
loop=true
|
loop=false
|
||||||
loop_offset=0
|
loop_offset=0
|
||||||
|
|
|
@ -11,5 +11,5 @@ dest_files=[ "res://.import/low_whale_one.ogg-a0d08574bcb169191faa5efc68b2178c.o
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
loop=true
|
loop=false
|
||||||
loop_offset=0
|
loop_offset=0
|
||||||
|
|
BIN
godot/assets/meat_creek/MeatCreekCage.material (Stored with Git LFS)
BIN
godot/assets/meat_creek/MeatCreekCage.material (Stored with Git LFS)
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,34 @@
|
||||||
|
extends AudioStreamPlayer
|
||||||
|
|
||||||
|
export var base_volume: float = -7.0
|
||||||
|
export var base_pitch: float = 1.0
|
||||||
|
export var submerged_volume: float = 10.0
|
||||||
|
export var submerged_pitch: float = 0.75
|
||||||
|
export var pit_volume: float = 0
|
||||||
|
export var pit_pitch: float = 0.25
|
||||||
|
|
||||||
|
func _ready():
|
||||||
|
var _ignore = GlobalEventBus.connect("player_entered_meat_sink", self, "enter_water")
|
||||||
|
_ignore = GlobalEventBus.connect("player_exited_meat_sink", self, "exit_water")
|
||||||
|
volume_db = base_volume
|
||||||
|
|
||||||
|
var water = 0
|
||||||
|
|
||||||
|
func enter_water():
|
||||||
|
water += 1
|
||||||
|
|
||||||
|
func exit_water():
|
||||||
|
water -= 1
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
|
var target_volume = base_volume
|
||||||
|
var target_pitch = base_pitch
|
||||||
|
if water:
|
||||||
|
target_volume = submerged_volume
|
||||||
|
target_pitch = submerged_pitch
|
||||||
|
if Util.player.camera_position().y <= -18:
|
||||||
|
target_volume = pit_volume
|
||||||
|
target_pitch = pit_pitch
|
||||||
|
volume_db = Util.clamped_lerp(volume_db, target_volume, delta*5, 0.01)
|
||||||
|
pitch_scale = Util.clamped_lerp(pitch_scale, target_pitch, delta*5, 0.01)
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
extends AudioStreamPlayer
|
||||||
|
|
||||||
|
export var min_wait: float
|
||||||
|
export var max_wait: float
|
||||||
|
|
||||||
|
func start_timer():
|
||||||
|
var wait = rand_range(min_wait, max_wait)
|
||||||
|
$Timer.start(wait)
|
||||||
|
|
||||||
|
func _on_Timer_timeout():
|
||||||
|
play()
|
||||||
|
|
||||||
|
func _on_sound_finished():
|
||||||
|
start_timer()
|
||||||
|
|
||||||
|
var needs_bootstrap = true
|
||||||
|
|
||||||
|
func _process(_delta):
|
||||||
|
if needs_bootstrap and Util.player.camera_position().y < -18:
|
||||||
|
needs_bootstrap = false
|
||||||
|
start_timer()
|
BIN
godot/assets/meat_creek/creek_cage.glb (Stored with Git LFS)
BIN
godot/assets/meat_creek/creek_cage.glb (Stored with Git LFS)
Binary file not shown.
File diff suppressed because one or more lines are too long
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=15 format=2]
|
[gd_scene load_steps=21 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://assets/meat_creek/side_tunnel_1.glb" type="PackedScene" id=1]
|
[ext_resource path="res://assets/meat_creek/side_tunnel_1.glb" type="PackedScene" id=1]
|
||||||
[ext_resource path="res://player/player.tscn" type="PackedScene" id=2]
|
[ext_resource path="res://player/player.tscn" type="PackedScene" id=2]
|
||||||
|
@ -10,8 +10,14 @@
|
||||||
[ext_resource path="res://assets/meat_creek/StaticBody.tscn" type="PackedScene" id=8]
|
[ext_resource path="res://assets/meat_creek/StaticBody.tscn" type="PackedScene" id=8]
|
||||||
[ext_resource path="res://assets/meat_creek/creek_cage.tscn" type="PackedScene" id=9]
|
[ext_resource path="res://assets/meat_creek/creek_cage.tscn" type="PackedScene" id=9]
|
||||||
[ext_resource path="res://assets/models/meat_creek_elevator.tscn" type="PackedScene" id=10]
|
[ext_resource path="res://assets/models/meat_creek_elevator.tscn" type="PackedScene" id=10]
|
||||||
[ext_resource path="res://assets/audio/walkie_talkie/buzz_static.ogg" type="AudioStream" id=11]
|
[ext_resource path="res://assets/audio/walkie_talkie/high_whale.ogg" type="AudioStream" id=11]
|
||||||
[ext_resource path="res://assets/models/walkie_talkie/signal_generator.tscn" type="PackedScene" id=12]
|
[ext_resource path="res://assets/models/walkie_talkie/signal_generator.tscn" type="PackedScene" id=12]
|
||||||
|
[ext_resource path="res://assets/meat_creek/upper_shelf.glb" type="PackedScene" id=13]
|
||||||
|
[ext_resource path="res://assets/audio/walkie_talkie/white_noise_static.ogg" type="AudioStream" id=14]
|
||||||
|
[ext_resource path="res://assets/meat_creek/WaterSound.gd" type="Script" id=15]
|
||||||
|
[ext_resource path="res://assets/audio/walkie_talkie/buzz_static.ogg" type="AudioStream" id=16]
|
||||||
|
[ext_resource path="res://assets/audio/walkie_talkie/low_whale_one.ogg" type="AudioStream" id=17]
|
||||||
|
[ext_resource path="res://assets/meat_creek/WhaleSounds.gd" type="Script" id=18]
|
||||||
|
|
||||||
[sub_resource type="PanoramaSky" id=2]
|
[sub_resource type="PanoramaSky" id=2]
|
||||||
panorama = ExtResource( 4 )
|
panorama = ExtResource( 4 )
|
||||||
|
@ -55,7 +61,7 @@ transform = Transform( 0.0716538, 0, 0.99743, 0, 1, 0, -0.99743, 0, 0.0716538, -
|
||||||
environment = SubResource( 3 )
|
environment = SubResource( 3 )
|
||||||
|
|
||||||
[node name="SinkBlock" parent="." index="4" instance=ExtResource( 5 )]
|
[node name="SinkBlock" parent="." index="4" instance=ExtResource( 5 )]
|
||||||
transform = Transform( 80, 0, 0, 0, 1.22944, 0, 0, 0, 80, 0, 0.00184107, -43.3626 )
|
transform = Transform( 80, 0, 0, 0, 6.74679, 0, 0, 0, 80, 0, -5.81972, -43.3626 )
|
||||||
|
|
||||||
[node name="platforms" type="Spatial" parent="." index="5"]
|
[node name="platforms" type="Spatial" parent="." index="5"]
|
||||||
|
|
||||||
|
@ -124,10 +130,42 @@ transform = Transform( 0.65383, 0, 0.756641, 0, 1, 0, -0.756641, 0, 0.65383, 18.
|
||||||
[node name="creek_cage" parent="." index="7" instance=ExtResource( 9 )]
|
[node name="creek_cage" parent="." index="7" instance=ExtResource( 9 )]
|
||||||
|
|
||||||
[node name="elevator" parent="." index="8" instance=ExtResource( 10 )]
|
[node name="elevator" parent="." index="8" instance=ExtResource( 10 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0735546, -35.4611, -41.1766 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0735546, -123.027, -41.1766 )
|
||||||
|
|
||||||
[node name="SignalGenerator" parent="." index="9" instance=ExtResource( 12 )]
|
[node name="SignalGenerator" parent="." index="9" instance=ExtResource( 12 )]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.489914, -35.0689, -41.5684 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.489914, -122.635, -41.5684 )
|
||||||
stream = ExtResource( 11 )
|
stream = ExtResource( 16 )
|
||||||
max_db = 6.0
|
max_db = 6.0
|
||||||
max_distance = 200.0
|
max_distance = 200.0
|
||||||
|
|
||||||
|
[node name="upper_shelf" parent="." index="10" instance=ExtResource( 13 )]
|
||||||
|
|
||||||
|
[node name="AmbientSounds" type="Node" parent="." index="11"]
|
||||||
|
|
||||||
|
[node name="WaterSound" type="AudioStreamPlayer" parent="AmbientSounds" index="0"]
|
||||||
|
stream = ExtResource( 14 )
|
||||||
|
autoplay = true
|
||||||
|
script = ExtResource( 15 )
|
||||||
|
|
||||||
|
[node name="BottomWhale1" type="AudioStreamPlayer" parent="AmbientSounds" index="1"]
|
||||||
|
stream = ExtResource( 17 )
|
||||||
|
script = ExtResource( 18 )
|
||||||
|
min_wait = 10.0
|
||||||
|
max_wait = 30.0
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="AmbientSounds/BottomWhale1" index="0"]
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[node name="BottomWhale2" type="AudioStreamPlayer" parent="AmbientSounds" index="2"]
|
||||||
|
stream = ExtResource( 11 )
|
||||||
|
script = ExtResource( 18 )
|
||||||
|
min_wait = 10.0
|
||||||
|
max_wait = 30.0
|
||||||
|
|
||||||
|
[node name="Timer" type="Timer" parent="AmbientSounds/BottomWhale2" index="0"]
|
||||||
|
one_shot = true
|
||||||
|
|
||||||
|
[connection signal="finished" from="AmbientSounds/BottomWhale1" to="AmbientSounds/BottomWhale1" method="_on_sound_finished"]
|
||||||
|
[connection signal="timeout" from="AmbientSounds/BottomWhale1/Timer" to="AmbientSounds/BottomWhale1" method="_on_Timer_timeout"]
|
||||||
|
[connection signal="finished" from="AmbientSounds/BottomWhale2" to="AmbientSounds/BottomWhale2" method="_on_sound_finished"]
|
||||||
|
[connection signal="timeout" from="AmbientSounds/BottomWhale2/Timer" to="AmbientSounds/BottomWhale2" method="_on_Timer_timeout"]
|
||||||
|
|
Binary file not shown.
File diff suppressed because it is too large
Load Diff
|
@ -303,5 +303,6 @@ volume_db = -2.0
|
||||||
|
|
||||||
[node name="Click" type="AudioStreamPlayer" parent="."]
|
[node name="Click" type="AudioStreamPlayer" parent="."]
|
||||||
stream = ExtResource( 11 )
|
stream = ExtResource( 11 )
|
||||||
|
volume_db = -20.0
|
||||||
|
|
||||||
[connection signal="timeout" from="Animations/walkie_talkie/Body/ScreenFlicker" to="." method="_on_ScreenFlicker_timeout"]
|
[connection signal="timeout" from="Animations/walkie_talkie/Body/ScreenFlicker" to="." method="_on_ScreenFlicker_timeout"]
|
||||||
|
|
|
@ -1,15 +1,67 @@
|
||||||
[gd_scene load_steps=5 format=2]
|
[gd_scene load_steps=8 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://effects/tiled_sink_material.material" type="Material" id=1]
|
[ext_resource path="res://effects/sink_block_wavy_meat_part2.tres" type="Material" id=1]
|
||||||
[ext_resource path="res://effects/SinkBlock.gd" type="Script" id=2]
|
[ext_resource path="res://effects/SinkBlock.gd" type="Script" id=2]
|
||||||
|
[ext_resource path="res://effects/sink_block_tiled_texture.png" type="Texture" id=3]
|
||||||
|
|
||||||
[sub_resource type="CubeMesh" id=3]
|
[sub_resource type="CubeMesh" id=3]
|
||||||
|
|
||||||
|
[sub_resource type="Shader" id=5]
|
||||||
|
code = "// NOTE: Shader automatically converted from Godot Engine 3.5.1.stable's SpatialMaterial.
|
||||||
|
|
||||||
|
shader_type spatial;
|
||||||
|
render_mode async_visible,blend_mix,depth_draw_opaque,cull_back,diffuse_burley,specular_schlick_ggx;
|
||||||
|
uniform vec4 albedo : hint_color;
|
||||||
|
uniform sampler2D texture_albedo : hint_albedo;
|
||||||
|
uniform float specular;
|
||||||
|
uniform float metallic;
|
||||||
|
uniform float roughness : hint_range(0,1);
|
||||||
|
uniform float point_size : hint_range(0,128);
|
||||||
|
uniform vec3 uv1_scale;
|
||||||
|
uniform vec3 uv1_offset;
|
||||||
|
uniform vec3 uv2_scale;
|
||||||
|
uniform vec3 uv2_offset;
|
||||||
|
|
||||||
|
|
||||||
|
void vertex() {
|
||||||
|
float offset = TIME / 100.0;
|
||||||
|
UV=UV*uv1_scale.xy+vec2(offset, offset);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
vec2 base_uv = UV;
|
||||||
|
vec4 albedo_tex = texture(texture_albedo,base_uv);
|
||||||
|
albedo_tex *= COLOR;
|
||||||
|
ALBEDO = albedo.rgb * albedo_tex.rgb;
|
||||||
|
METALLIC = metallic;
|
||||||
|
ROUGHNESS = roughness;
|
||||||
|
SPECULAR = specular;
|
||||||
|
}
|
||||||
|
"
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id=7]
|
||||||
|
resource_name = "tiled_sink_material"
|
||||||
|
next_pass = ExtResource( 1 )
|
||||||
|
shader = SubResource( 5 )
|
||||||
|
shader_param/albedo = Color( 1, 1, 1, 1 )
|
||||||
|
shader_param/specular = 0.5
|
||||||
|
shader_param/metallic = 0.0
|
||||||
|
shader_param/roughness = 0.5
|
||||||
|
shader_param/point_size = 1.0
|
||||||
|
shader_param/uv1_scale = Vector3( 10, 10, 1 )
|
||||||
|
shader_param/uv1_offset = Vector3( 0, -99, 0 )
|
||||||
|
shader_param/uv2_scale = Vector3( 1, 1, 1 )
|
||||||
|
shader_param/uv2_offset = Vector3( 0, 0, 0 )
|
||||||
|
shader_param/texture_albedo = ExtResource( 3 )
|
||||||
|
|
||||||
[sub_resource type="BoxShape" id=4]
|
[sub_resource type="BoxShape" id=4]
|
||||||
|
|
||||||
[node name="SinkBlock" type="MeshInstance"]
|
[node name="SinkBlock" type="MeshInstance"]
|
||||||
mesh = SubResource( 3 )
|
mesh = SubResource( 3 )
|
||||||
material/0 = ExtResource( 1 )
|
material/0 = SubResource( 7 )
|
||||||
script = ExtResource( 2 )
|
script = ExtResource( 2 )
|
||||||
|
|
||||||
[node name="SinkRegion" type="Area" parent="."]
|
[node name="SinkRegion" type="Area" parent="."]
|
||||||
|
|
|
@ -7,7 +7,7 @@ var measure = 0.0
|
||||||
|
|
||||||
func jump():
|
func jump():
|
||||||
var phys = $"../OnFootPhysics"
|
var phys = $"../OnFootPhysics"
|
||||||
var on_floor = $"../OnFootPhysics/Floor".is_on_floor
|
var on_floor = $"../OnFootPhysics/Floor".is_on_floor or $"../OnFootPhysics".is_on_floor()
|
||||||
var jump_intent = $"../MovementInput".jump_intent
|
var jump_intent = $"../MovementInput".jump_intent
|
||||||
|
|
||||||
if jump_intent and not on_floor and not played_takeoff:
|
if jump_intent and not on_floor and not played_takeoff:
|
||||||
|
@ -15,15 +15,14 @@ func jump():
|
||||||
played_takeoff = true
|
played_takeoff = true
|
||||||
|
|
||||||
if phys.just_landed:
|
if phys.just_landed:
|
||||||
$Jump.stop()
|
|
||||||
played_takeoff = false
|
played_takeoff = false
|
||||||
if phys.just_landed_medium and not $CameraAnimation.is_playing():
|
if phys.just_landed_medium and not $CameraAnimation.is_playing():
|
||||||
$CameraAnimation.play("jump_landing")
|
$CameraAnimation.play("jump_landing")
|
||||||
var landing_playing = $JumpLanding.playing or $JumpLandingHardCrunch.playing or $JumpLandingHardOuch.playing
|
var landing_playing = $JumpLanding.playing or $JumpLandingHardCrunch.playing or $JumpLandingHardOuch.playing
|
||||||
if not landing_playing:
|
if not landing_playing:
|
||||||
if not phys.just_landed_terminally:
|
if not phys.just_landed_terminally and phys.just_landed_medium:
|
||||||
$JumpLanding.play()
|
$JumpLanding.play()
|
||||||
else:
|
elif phys.just_landed_terminally:
|
||||||
$JumpLandingHardCrunch.play()
|
$JumpLandingHardCrunch.play()
|
||||||
$JumpLandingHardOuch.play()
|
$JumpLandingHardOuch.play()
|
||||||
|
|
||||||
|
@ -35,11 +34,10 @@ func jump():
|
||||||
|
|
||||||
|
|
||||||
func footsteps():
|
func footsteps():
|
||||||
var on_floor = $"../OnFootPhysics/Floor".is_on_floor
|
var on_floor = $"../OnFootPhysics/Floor".is_on_floor or $"../OnFootPhysics".is_on_floor()
|
||||||
var velocity = $"../MovementInput".input_xz
|
var velocity = $"../MovementInput".input_xz
|
||||||
|
|
||||||
if not on_floor or velocity.length() == 0:
|
if not on_floor or velocity.length() == 0:
|
||||||
$Footsteps.stop()
|
|
||||||
return
|
return
|
||||||
if $Footsteps/Timer.time_left > 0.0:
|
if $Footsteps/Timer.time_left > 0.0:
|
||||||
return
|
return
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://effects/sink_block_tiled_texture.png" type="Texture" id=1]
|
||||||
|
|
||||||
|
[sub_resource type="Shader" id=12]
|
||||||
|
code = "shader_type spatial;
|
||||||
|
render_mode unshaded, cull_front;
|
||||||
|
|
||||||
|
uniform sampler2D texture_albedo : hint_albedo;
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
vec2 uv = SCREEN_UV;
|
||||||
|
uv.x += sin((TIME + SCREEN_UV.y) * 5.0)/5.0;
|
||||||
|
ALBEDO = texture(texture_albedo, uv).rgb;
|
||||||
|
}
|
||||||
|
"
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
shader = SubResource( 12 )
|
||||||
|
shader_param/texture_albedo = ExtResource( 1 )
|
|
@ -0,0 +1,20 @@
|
||||||
|
[gd_resource type="ShaderMaterial" load_steps=3 format=2]
|
||||||
|
|
||||||
|
[ext_resource path="res://effects/sink_block_tiled_texture.png" type="Texture" id=1]
|
||||||
|
|
||||||
|
[sub_resource type="Shader" id=12]
|
||||||
|
code = "shader_type spatial;
|
||||||
|
render_mode unshaded, cull_front;
|
||||||
|
|
||||||
|
uniform sampler2D texture_albedo : hint_albedo;
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
vec2 uv = SCREEN_UV;
|
||||||
|
uv.x += sin((TIME + SCREEN_UV.y) * 5.0)/5.0;
|
||||||
|
ALBEDO = texture(texture_albedo, uv).rgb;
|
||||||
|
}
|
||||||
|
"
|
||||||
|
|
||||||
|
[resource]
|
||||||
|
shader = SubResource( 12 )
|
||||||
|
shader_param/texture_albedo = ExtResource( 1 )
|
BIN
godot/effects/tiled_sink_material.material (Stored with Git LFS)
BIN
godot/effects/tiled_sink_material.material (Stored with Git LFS)
Binary file not shown.
|
@ -92,7 +92,7 @@ func process_velocity(delta: float):
|
||||||
|
|
||||||
|
|
||||||
func process_falling():
|
func process_falling():
|
||||||
if not $Floor.is_on_floor:
|
if not $Floor.is_on_floor and not is_on_floor():
|
||||||
is_falling = true
|
is_falling = true
|
||||||
just_landed = false
|
just_landed = false
|
||||||
just_landed_medium = false
|
just_landed_medium = false
|
||||||
|
@ -118,5 +118,5 @@ func decrease_velocity_factor(by: Vector3):
|
||||||
|
|
||||||
func _physics_process(delta):
|
func _physics_process(delta):
|
||||||
process_velocity(delta)
|
process_velocity(delta)
|
||||||
velocity = move_and_slide(velocity, Vector3.UP, true, 4, 0.785398)
|
velocity = move_and_slide(velocity, Vector3.UP, true, 4, 1.3217304764)
|
||||||
process_falling()
|
process_falling()
|
||||||
|
|
|
@ -5,13 +5,27 @@ extends CanvasLayer
|
||||||
|
|
||||||
onready var OnFootPhysics = get_node("../OnFootPhysics")
|
onready var OnFootPhysics = get_node("../OnFootPhysics")
|
||||||
var will_fall_hard = false
|
var will_fall_hard = false
|
||||||
|
var in_water: int = 0
|
||||||
|
|
||||||
func _ready():
|
func _ready():
|
||||||
$HurtScreen.modulate.a = 0.0
|
$HurtScreen.modulate.a = 0.0
|
||||||
|
var _ignore = GlobalEventBus.connect("player_entered_meat_sink", self, "enter_water")
|
||||||
|
_ignore = GlobalEventBus.connect("player_exited_meat_sink", self, "exit_water")
|
||||||
|
|
||||||
func _process(_delta):
|
func enter_water():
|
||||||
|
print(2)
|
||||||
|
in_water += 1
|
||||||
|
|
||||||
|
func exit_water():
|
||||||
|
in_water -= 1
|
||||||
|
|
||||||
|
func _process(delta):
|
||||||
if OnFootPhysics.is_falling_velocity_terminal():
|
if OnFootPhysics.is_falling_velocity_terminal():
|
||||||
will_fall_hard = true
|
will_fall_hard = true
|
||||||
if will_fall_hard and OnFootPhysics.is_on_floor():
|
if will_fall_hard and OnFootPhysics.is_on_floor():
|
||||||
will_fall_hard = false
|
will_fall_hard = false
|
||||||
$HurtScreen/HurtScreenOpacityAnimation.play("opacity")
|
$HurtScreen/HurtScreenOpacityAnimation.play("opacity")
|
||||||
|
if in_water:
|
||||||
|
$WaterScreen.color.a = Util.clamped_lerp($WaterScreen.color.a, 0.55, delta, 0.05)
|
||||||
|
else:
|
||||||
|
$WaterScreen.color.a = Util.clamped_lerp($WaterScreen.color.a, 0.0, delta*5, 0.05)
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
[gd_scene load_steps=30 format=2]
|
[gd_scene load_steps=33 format=2]
|
||||||
|
|
||||||
[ext_resource path="res://player/CameraController.gd" type="Script" id=1]
|
[ext_resource path="res://player/CameraController.gd" type="Script" id=1]
|
||||||
[ext_resource path="res://player/OnFootPhysics.gd" type="Script" id=2]
|
[ext_resource path="res://player/OnFootPhysics.gd" type="Script" id=2]
|
||||||
|
@ -21,6 +21,7 @@
|
||||||
[ext_resource path="res://effects/player/MovementSoundsAnimations.gd" type="Script" id=19]
|
[ext_resource path="res://effects/player/MovementSoundsAnimations.gd" type="Script" id=19]
|
||||||
[ext_resource path="res://screens/PauseScreen.tscn" type="PackedScene" id=20]
|
[ext_resource path="res://screens/PauseScreen.tscn" type="PackedScene" id=20]
|
||||||
[ext_resource path="res://player/ObjectiveTracker.gd" type="Script" id=21]
|
[ext_resource path="res://player/ObjectiveTracker.gd" type="Script" id=21]
|
||||||
|
[ext_resource path="res://effects/sink_block_tiled_texture.png" type="Texture" id=22]
|
||||||
|
|
||||||
[sub_resource type="Animation" id=8]
|
[sub_resource type="Animation" id=8]
|
||||||
length = 0.001
|
length = 0.001
|
||||||
|
@ -150,6 +151,22 @@ tracks/0/keys = {
|
||||||
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
|
"values": [ Color( 1, 1, 1, 0 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 1 ), Color( 1, 1, 1, 0 ) ]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[sub_resource type="Shader" id=12]
|
||||||
|
code = "shader_type canvas_item;
|
||||||
|
|
||||||
|
uniform sampler2D texture_albedo : hint_albedo;
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
vec2 uv = SCREEN_UV;
|
||||||
|
uv.x += sin((TIME + SCREEN_UV.y) * 5.0)/5.0;
|
||||||
|
COLOR.rgb = texture(texture_albedo, uv).rgb;
|
||||||
|
}
|
||||||
|
"
|
||||||
|
|
||||||
|
[sub_resource type="ShaderMaterial" id=13]
|
||||||
|
shader = SubResource( 12 )
|
||||||
|
shader_param/texture_albedo = ExtResource( 22 )
|
||||||
|
|
||||||
[node name="Player" type="Spatial"]
|
[node name="Player" type="Spatial"]
|
||||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.750395, 0 )
|
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.750395, 0 )
|
||||||
script = ExtResource( 3 )
|
script = ExtResource( 3 )
|
||||||
|
@ -215,7 +232,7 @@ script = ExtResource( 19 )
|
||||||
|
|
||||||
[node name="Footsteps" type="AudioStreamPlayer" parent="MovementSoundsAnimations"]
|
[node name="Footsteps" type="AudioStreamPlayer" parent="MovementSoundsAnimations"]
|
||||||
stream = ExtResource( 17 )
|
stream = ExtResource( 17 )
|
||||||
volume_db = -1.0
|
volume_db = -15.0
|
||||||
|
|
||||||
[node name="Timer" type="Timer" parent="MovementSoundsAnimations/Footsteps"]
|
[node name="Timer" type="Timer" parent="MovementSoundsAnimations/Footsteps"]
|
||||||
one_shot = true
|
one_shot = true
|
||||||
|
@ -255,6 +272,12 @@ anims/opacity = SubResource( 7 )
|
||||||
|
|
||||||
[node name="PauseScreen" parent="Overlay" instance=ExtResource( 20 )]
|
[node name="PauseScreen" parent="Overlay" instance=ExtResource( 20 )]
|
||||||
|
|
||||||
|
[node name="WaterScreen" type="ColorRect" parent="Overlay"]
|
||||||
|
material = SubResource( 13 )
|
||||||
|
anchor_right = 1.0
|
||||||
|
anchor_bottom = 1.0
|
||||||
|
color = Color( 1, 1, 1, 0 )
|
||||||
|
|
||||||
[node name="ObjectiveTracker" type="Node" parent="."]
|
[node name="ObjectiveTracker" type="Node" parent="."]
|
||||||
script = ExtResource( 21 )
|
script = ExtResource( 21 )
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue