stick-the-quick/props/speedpad_constructed.gd

27 lines
602 B
GDScript

class_name SpeedpadConstructed extends Speedpad
@export var model: MeshInstance3D
@onready var _sk: int = model.find_blend_shape_by_name(&'whoosh')
var _up := false
var _sk_val: float:
get():
return model.get_blend_shape_value(_sk)
set(value):
model.set_blend_shape_value(_sk, value)
func _on_body_entered(body: PhysicsBody3D) -> void:
super(body)
if body is RigidBody3D:
_up = true
func _process(delta: float) -> void:
if _up:
_sk_val = lerp(_sk_val, 1.0, 1.0 - 0.00001**delta)
if abs(_sk_val - 1.0) < 0.001:
_up = false
else:
_sk_val = lerp(_sk_val, 0.0, 1.0 - 0.1**delta)