Add daynight scene to museum beome gen + add camera pivot to daynight

This commit is contained in:
2026-04-20 10:03:44 +02:00
parent b77a6263aa
commit 667e277806
9 changed files with 244 additions and 14 deletions

View File

@@ -5,6 +5,7 @@ extends Node3D
@export_group("Camera")
@export var camera: Camera3D
@export var camera_pivot: Node3D
@export_group("Particles")
@export var particles_wind: GPUParticles3D
@@ -59,6 +60,7 @@ func _ready() -> void:
environment,
environment_config,
camera,
camera_pivot,
thunder_sounds,
rain_sounds
)

View File

@@ -19,6 +19,7 @@ var sun: DirectionalLight3D
var environment: WorldEnvironment
var environment_config: EnvironmentConfig
var camera: Camera3D
var camera_pivot: Node3D
var day_time: float = 0.0
@@ -48,7 +49,7 @@ func _init(wind: GPUParticles3D, snow: GPUParticles3D,
fireflies: GPUParticles3D, rain: GPUParticles3D, ray: PackedScene,
dust: ColorRect, blurr: ColorRect, envshadows: MeshInstance3D,
thesun: DirectionalLight3D, theenvironment: WorldEnvironment, environmentconfig: EnvironmentConfig,
thecamera: Camera3D, thundersounds: Array[AudioStream], rainsounds: Array[AudioStream]) -> void:
thecamera: Camera3D, thecamerapivot: Node3D, thundersounds: Array[AudioStream], rainsounds: Array[AudioStream]) -> void:
particles_wind = wind
particles_snow = snow
particles_fireflies = fireflies
@@ -61,6 +62,7 @@ func _init(wind: GPUParticles3D, snow: GPUParticles3D,
environment = theenvironment
environment_config = environmentconfig
camera = thecamera
camera_pivot = thecamerapivot
thunder_sounds = thundersounds
rain_sounds = rainsounds
@@ -78,6 +80,10 @@ func _init(wind: GPUParticles3D, snow: GPUParticles3D,
toggle_dust(environment_config.enable_dust)
toggle_blur(environment_config.enable_blur)
#set camera pivot if available
if camera_pivot:
camera_pivot.get_node("pivot").camera_changed.connect(_set_camera)
func _ready() -> void:
@@ -228,7 +234,9 @@ func _process(delta: float) -> void:
if environment_config.material_fog:
environment_config.material_fog.set_shader_parameter("night_intensity", night_val)
environment_config.material_fog.set_shader_parameter("sun_color", final_tint)
func _set_camera(curr_camera: Camera3D):
camera = curr_camera
func _follow_camera() -> void:
if not camera or not is_instance_valid(camera):