27 lines
602 B
GDScript
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)
|