You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
678 B
GDScript

extends Decal
class_name ParticleDecal
@export var lifetime: float = 1
@export var gradient: Gradient
@export var scale_curve: Curve
@export var particle_rotate: int
var lifetime_now: float
func on_process(delta: float) -> void:
lifetime_now += delta
var rate: float = lifetime_now / lifetime
if rate > 1:
return
#色带
if gradient:
modulate = gradient.sample(rate)
else:
modulate.a = 1 - rate
#缩放曲线
if scale_curve:
var scale_sample: float = scale_curve.sample(rate)
scale = Vector3(scale_sample, 1, scale_sample)
#旋转
rotation_degrees.y = particle_rotate * rate
return