From 3271059a973159b0b987002c198bdb06f089501b Mon Sep 17 00:00:00 2001 From: null Date: Fri, 26 Dec 2025 11:08:33 -0600 Subject: [PATCH] Added rotating light --- game/scenes/Levels/level.gd | 22 ++++++++++++++++++++++ game/scenes/Levels/level.gd.uid | 1 + game/scenes/Levels/level.tscn | 19 +++++++++++++++++-- 3 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 game/scenes/Levels/level.gd create mode 100644 game/scenes/Levels/level.gd.uid diff --git a/game/scenes/Levels/level.gd b/game/scenes/Levels/level.gd new file mode 100644 index 0000000..369d438 --- /dev/null +++ b/game/scenes/Levels/level.gd @@ -0,0 +1,22 @@ +extends Node3D + +@export var day_length := 120.0 # seconds for full rotation +@export var start_light_angle := -90.0 +var end_light_angle = start_light_angle + 360.0 +var start_radians = start_light_angle * PI / 180 +var time := 0.0 + +@onready var sun := $DirectionalLight3D + +func _process(delta): + time = fmod((time + delta), day_length) + var t = time / day_length + + # Rotate sun around X axis + var angle = lerp(start_light_angle, end_light_angle, t) # sunrise → sunset → night → sunrise + sun.rotation_degrees.x = angle + + # Adjust intensity + var curSin = -sin((t * TAU) + start_radians) + var energy = clamp((curSin * 1.0) + 0.2, 0.0, 1.2) + sun.light_energy = energy diff --git a/game/scenes/Levels/level.gd.uid b/game/scenes/Levels/level.gd.uid new file mode 100644 index 0000000..2ac5d25 --- /dev/null +++ b/game/scenes/Levels/level.gd.uid @@ -0,0 +1 @@ +uid://brgmxhhhtakja diff --git a/game/scenes/Levels/level.tscn b/game/scenes/Levels/level.tscn index f4e511c..4272279 100644 --- a/game/scenes/Levels/level.tscn +++ b/game/scenes/Levels/level.tscn @@ -1,8 +1,9 @@ -[gd_scene load_steps=13 format=3 uid="uid://dchj6g2i8ebph"] +[gd_scene load_steps=17 format=3 uid="uid://dchj6g2i8ebph"] +[ext_resource type="Script" uid="uid://brgmxhhhtakja" path="res://scenes/Levels/level.gd" id="1_a4mo8"] [ext_resource type="PackedScene" uid="uid://bb6hj6l23043x" path="res://assets/models/human.blend" id="1_eg4yq"] [ext_resource type="Script" uid="uid://bpxggc8nr6tf6" path="res://scenes/player.gd" id="1_muv8p"] -[ext_resource type="PackedScene" uid="uid://bcwmsmb3jum7j" path="res://scenes/block.tscn" id="2_tc7dm"] +[ext_resource type="PackedScene" uid="uid://c5of6aaxop1hl" path="res://scenes/block.tscn" id="2_tc7dm"] [ext_resource type="Script" uid="uid://b7fopt7sx74g8" path="res://scenes/Levels/menu.gd" id="3_tc7dm"] [ext_resource type="PackedScene" path="res://scenes/Characters/repo_bot.tscn" id="4_repo"] @@ -24,7 +25,18 @@ size = Vector3(1080, 2, 1080) [sub_resource type="BoxMesh" id="BoxMesh_w7c3h"] size = Vector3(1080, 2, 1080) +[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_fi66n"] + +[sub_resource type="Sky" id="Sky_a4mo8"] +sky_material = SubResource("ProceduralSkyMaterial_fi66n") + +[sub_resource type="Environment" id="Environment_a4mo8"] +background_mode = 2 +sky = SubResource("Sky_a4mo8") +ambient_light_source = 3 + [node name="Node3D" type="Node3D"] +script = ExtResource("1_a4mo8") [node name="human" parent="." instance=ExtResource("1_eg4yq")] @@ -122,6 +134,9 @@ text = "Main Menu" layout_mode = 2 text = "Quit" +[node name="WorldEnvironment" type="WorldEnvironment" parent="."] +environment = SubResource("Environment_a4mo8") + [connection signal="pressed" from="Menu/Control/VBoxContainer/ContinueButton" to="Menu" method="_on_continue_button_pressed"] [connection signal="pressed" from="Menu/Control/VBoxContainer/MainMenuButton" to="Menu" method="_on_main_menu_button_pressed"] [connection signal="pressed" from="Menu/Control/VBoxContainer/QuitButton" to="Menu" method="_on_quit_button_pressed"]