From 5f5a7ca9911f45af371d16cf9c2a45867cff7c73 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Wed, 26 Nov 2025 19:35:11 +0200 Subject: Make transitions gameboy like --- palette_shader.gd | 5 ++--- top.tscn | 60 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 2 files changed, 58 insertions(+), 7 deletions(-) diff --git a/palette_shader.gd b/palette_shader.gd index e4b9865..4329d0a 100644 --- a/palette_shader.gd +++ b/palette_shader.gd @@ -1,8 +1,7 @@ class_name PaletteShader extends CanvasLayer -# Set by TransitionPlayer animation -var brightness: float = 0.3 +@export_range(-1, 1) var brightness: float = 0.0 -func _process(_delta: float) -> void: +func notify_brightness_changed(): $ColorRect.material.set_shader_parameter("brightness", brightness) diff --git a/top.tscn b/top.tscn index 8350343..8d42cbc 100644 --- a/top.tscn +++ b/top.tscn @@ -49,7 +49,33 @@ tracks/1/keys = { "times": PackedFloat32Array(0, 2), "transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [-1.0, 0.30000000000000004] +"values": [-1.0, 0.19999999999999996] +} +tracks/2/type = "method" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("PaletteShader") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { +"times": PackedFloat32Array(0, 0.5, 1, 1.5, 2), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"values": [{ +"args": [], +"method": &"notify_brightness_changed" +}, { +"args": [], +"method": &"notify_brightness_changed" +}, { +"args": [], +"method": &"notify_brightness_changed" +}, { +"args": [], +"method": &"notify_brightness_changed" +}, { +"args": [], +"method": &"notify_brightness_changed" +}] } [sub_resource type="Animation" id="Animation_2exal"] @@ -69,17 +95,43 @@ tracks/0/keys = { "method": &"_transition_start" }] } -tracks/1/type = "value" +tracks/1/type = "method" tracks/1/imported = false tracks/1/enabled = true -tracks/1/path = NodePath("PaletteShader:brightness") +tracks/1/path = NodePath("PaletteShader") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { +"times": PackedFloat32Array(0, 0.5, 1, 1.5, 2), +"transitions": PackedFloat32Array(1, 1, 1, 1, 1), +"values": [{ +"args": [], +"method": &"notify_brightness_changed" +}, { +"args": [], +"method": &"notify_brightness_changed" +}, { +"args": [], +"method": &"notify_brightness_changed" +}, { +"args": [], +"method": &"notify_brightness_changed" +}, { +"args": [], +"method": &"notify_brightness_changed" +}] +} +tracks/2/type = "value" +tracks/2/imported = false +tracks/2/enabled = true +tracks/2/path = NodePath("PaletteShader:brightness") +tracks/2/interp = 1 +tracks/2/loop_wrap = true +tracks/2/keys = { "times": PackedFloat32Array(0, 2), "transitions": PackedFloat32Array(1, 1), "update": 0, -"values": [0.30000000000000004, -1.0] +"values": [0.19999999999999996, -1.0] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_2exal"] -- cgit v1.3