xrjamfeb2025/scenes/ambient_particles.gd

21 lines
600 B
GDScript

extends GPUParticles3D
var _reparent_timer: Timer
# Called when the node enters the scene tree for the first time.
func _ready() -> void:
# Create and start timer
_reparent_timer = Timer.new()
_reparent_timer.wait_time = 1.0
_reparent_timer.timeout.connect(_try_reparent_to_camera)
add_child(_reparent_timer)
_reparent_timer.start()
# Try initial reparent
_try_reparent_to_camera()
func _try_reparent_to_camera() -> void:
var camera = get_viewport().get_camera_3d()
if camera and get_parent() != camera:
# Reparent to camera
get_parent().remove_child(self)
camera.add_child(self)