Added rotating light
This commit is contained in:
parent
9a56091e8e
commit
3271059a97
22
game/scenes/Levels/level.gd
Normal file
22
game/scenes/Levels/level.gd
Normal file
@ -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
|
||||
1
game/scenes/Levels/level.gd.uid
Normal file
1
game/scenes/Levels/level.gd.uid
Normal file
@ -0,0 +1 @@
|
||||
uid://brgmxhhhtakja
|
||||
@ -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"]
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user