Files
Princesse-Lactose-Godot/shaders/transition_shader.tscn
Thomas Lavocat 5678bd8c55 niveau/transitions: shader de transition
Entre les niveaux et à la mort il y a maintenant un fondu au noir qui se
met en place pour éviter d'avoir la gerbe sur les mouvements de caméra.
la physique est en pause pendant la transition.
2023-05-11 08:53:46 +02:00

91 lines
2.5 KiB
Plaintext

[gd_scene load_steps=8 format=3 uid="uid://17macg0q4k8l"]
[ext_resource type="Shader" path="res://shaders/transition_shader.gdshader" id="1_kyfmm"]
[ext_resource type="Texture2D" uid="uid://b5mne7k2hxq4m" path="res://shaders/masks/curtain.png" id="2_pg1r4"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_g48os"]
shader = ExtResource("1_kyfmm")
shader_parameter/cutoff = 0.0
shader_parameter/smooth_size = 0.1
shader_parameter/mask = ExtResource("2_pg1r4")
[sub_resource type="GDScript" id="GDScript_rrd13"]
script/source = "class_name FadeShader extends ColorRect
signal fade_in_done()
signal fade_out_done()
@onready var player := $\"AnimationPlayer\" as AnimationPlayer
func fade_in():
player.play(&\"fade_in\")
func fade_out():
player.play(&\"fade_out\")
func _on_animation_player_animation_finished(anim_name: StringName) -> void:
if anim_name == \"fade_in\":
fade_in_done.emit()
elif anim_name == \"fade_out\":
fade_out_done.emit()
"
[sub_resource type="Animation" id="Animation_yg4ht"]
resource_name = "fade_in"
length = 0.5
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:material:shader_parameter/cutoff")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0.2, 0.4),
"transitions": PackedFloat32Array(1, 0.450625),
"update": 0,
"values": [0.0, 1.0]
}
[sub_resource type="Animation" id="Animation_mavdc"]
resource_name = "fade_out"
length = 0.25
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:material:shader_parameter/cutoff")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.2),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [1.0, 0.0]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_kedvi"]
_data = {
"fade_in": SubResource("Animation_yg4ht"),
"fade_out": SubResource("Animation_mavdc")
}
[node name="TransitionShader" type="ColorRect"]
material = SubResource("ShaderMaterial_g48os")
anchors_preset = 15
anchor_right = 1.0
anchor_bottom = 1.0
offset_right = -1680.0
offset_bottom = -945.0
grow_horizontal = 2
grow_vertical = 2
size_flags_horizontal = 3
size_flags_vertical = 3
color = Color(0, 0, 0, 1)
script = SubResource("GDScript_rrd13")
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_kedvi")
}
[connection signal="animation_finished" from="AnimationPlayer" to="." method="_on_animation_player_animation_finished"]