feat(lighting): flicker proporcional al radi amb overrides per emissor
This commit is contained in:
1 parent
3a42c7958a
commit
2272d3a37a
13 files changed
+298
-150
No files matched your search
@@ -39,14 +39,18 @@ gradient_additive:
|
||||
|
||||
# Modulació del radi quan una entitat declara `flicker: true` al seu
|
||||
# bloc `light:`. El radi efectiu per frame és:
|
||||
# r_eff = r_base + A1·sin(2π·f1·t + φ1) + A2·sin(2π·f2·t + φ2)
|
||||
# on (φ1, φ2) es deriven de la posició de l'emissor per a que cada
|
||||
# r_eff = r_base + (r_amp1·r_base)·sin(2π·f1·t + φ1) + (r_amp2·r_base)·sin(2π·f2·t + φ2)
|
||||
# on (φ1, φ2) es deriven de la seed de l'emissor per a que cada
|
||||
# antorxa balancegi en una fase diferent (sense estat per emissor).
|
||||
# Combinant dues sinusoides amb freqüències incommensurables s'obté
|
||||
# un patró "fluid" que el ull llegeix com a foc; pujar `noise_*`
|
||||
# aporta més inquietud, baixar-ho fa la flama més serena.
|
||||
# Les amplituds són **ràtios** sobre el radi base: així el feel del
|
||||
# flicker és independent del radi (una torxa de 24 px oscil·la el
|
||||
# mateix % que una de 40 px). Combinant dues sinusoides amb freqüències
|
||||
# incommensurables s'obté un patró "fluid" que el ull llegeix com a
|
||||
# foc; pujar `noise_*` aporta més inquietud, baixar-ho fa la flama
|
||||
# més serena. Aquests són els defaults globals; cada tipus d'entitat
|
||||
# (o cada spawn / sala) pot sobreescriure'ls al seu `light.flicker_params:`.
|
||||
flicker:
|
||||
wave_amplitude_px: 2
|
||||
wave_amplitude_ratio: 0.05 # 5% del radi (per a radi 40 → ±2 px, feel actual)
|
||||
wave_frequency_hz: 3.0
|
||||
noise_amplitude_px: 1
|
||||
noise_amplitude_ratio: 0.025 # 2.5% (per a radi 40 → ±1 px, feel actual)
|
||||
noise_frequency_hz: 7.0
|
||||
Reference in new issue
Block a user