22 lines
624 B
GDScript3
22 lines
624 B
GDScript3
![]() |
extends OmniLight3D
|
||
|
|
||
|
@export var flickerStrength: float = 0.1
|
||
|
@export var moveStrength: float = 0.01
|
||
|
@export var flickerSpeed: float = 0.15
|
||
|
|
||
|
var ogBrightness: float
|
||
|
var ogPos: Vector3
|
||
|
var tween: Tween
|
||
|
|
||
|
func _ready() -> void:
|
||
|
ogBrightness = light_energy
|
||
|
ogPos = position
|
||
|
|
||
|
|
||
|
|
||
|
func flicker() -> void:
|
||
|
light_energy = ogBrightness + randf_range(-flickerStrength, flickerStrength)
|
||
|
if (tween): tween.kill()
|
||
|
tween = create_tween()
|
||
|
tween.tween_property(self, "position", ogPos + Vector3(randf_range(-moveStrength, moveStrength), randf_range(-moveStrength, moveStrength), randf_range(-moveStrength, moveStrength)), flickerSpeed)
|