diff options
author | tpart <tpart120@proton.me> | 2024-07-27 14:26:35 +0200 |
---|---|---|
committer | tpart <tpart120@proton.me> | 2024-07-27 14:26:35 +0200 |
commit | 87b37251db365fd717902521e0fef23a574ffc54 (patch) | |
tree | cfba720f146d6b3f1df80031de8febe17f44e76f | |
parent | 1d3d67cf6889c9a4eba5117e3b71ff3baaeaa54e (diff) | |
download | hurrycurry-87b37251db365fd717902521e0fef23a574ffc54.tar hurrycurry-87b37251db365fd717902521e0fef23a574ffc54.tar.bz2 hurrycurry-87b37251db365fd717902521e0fef23a574ffc54.tar.zst |
Add light support for environment types
-rw-r--r-- | client/map/auto_setup/light_setup.gd | 11 | ||||
-rw-r--r-- | client/map/environment/environment.gd | 8 | ||||
-rw-r--r-- | client/map/environment/environment.tscn | 7 |
3 files changed, 24 insertions, 2 deletions
diff --git a/client/map/auto_setup/light_setup.gd b/client/map/auto_setup/light_setup.gd index 7fb50c14..f583b6a5 100644 --- a/client/map/auto_setup/light_setup.gd +++ b/client/map/auto_setup/light_setup.gd @@ -22,3 +22,14 @@ func _ready(): func apply_settings(): shadow_enabled = Global.get_setting("shadows") + +func set_sky(sky_name: String): + match sky_name: + "day": + light_color = Color.WHITE + light_energy = 1. + "night": + light_color = Color("427a9a") + light_energy = 0.4 + _: + push_error("Can not set up light: Unsupported sky name \"%s\"" % sky_name) diff --git a/client/map/environment/environment.gd b/client/map/environment/environment.gd index 4f866ac8..9cf6f03e 100644 --- a/client/map/environment/environment.gd +++ b/client/map/environment/environment.gd @@ -4,10 +4,11 @@ extends Node3D @onready var wind: GPUParticles3D = $Wind @onready var world_environment: EnvironmentSetup = $WorldEnvironment +@onready var light: LightSetup = $DirectionalLight3D func update(active: Array): if active.has("night"): - world_environment.set_sky("night") + set_sky("night") wind.emitting = active.has("wind") var a: ParticleProcessMaterial = wind.process_material @@ -18,3 +19,8 @@ func update(active: Array): # TODO ramp rain.emitting = active.has("rain") rain.amount = 500 if active.has("rain") else 0 + +func set_sky(sky_name: String): + world_environment.set_sky(sky_name) + light.set_sky(sky_name) + diff --git a/client/map/environment/environment.tscn b/client/map/environment/environment.tscn index 6cdb7afd..f7ffc521 100644 --- a/client/map/environment/environment.tscn +++ b/client/map/environment/environment.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=12 format=3 uid="uid://nroo08m5og0"] +[gd_scene load_steps=13 format=3 uid="uid://nroo08m5og0"] [ext_resource type="Script" path="res://map/environment/environment.gd" id="1_qy481"] [ext_resource type="PackedScene" uid="uid://cb4ic3ssk4r8r" path="res://map/environment/world_environment.tscn" id="2_68o16"] @@ -58,6 +58,8 @@ material = SubResource("StandardMaterial3D_ig8qu") radius = 0.03 height = 0.06 +[sub_resource type="BoxMesh" id="BoxMesh_5ia38"] + [node name="Environment" type="Node3D"] script = ExtResource("1_qy481") @@ -80,3 +82,6 @@ draw_pass_1 = SubResource("SphereMesh_4trvf") transform = Transform3D(-0.413104, 0.834517, -0.364591, 0, 0.400349, 0.916363, 0.910684, 0.378553, -0.165386, 0, 0, 0) shadow_enabled = true script = ExtResource("3_53gk2") + +[node name="MeshInstance3D" type="MeshInstance3D" parent="."] +mesh = SubResource("BoxMesh_5ia38") |