Skip to content

Instantly share code, notes, and snippets.

@lucasvanmol
Last active November 10, 2020 13:36
Show Gist options
  • Select an option

  • Save lucasvanmol/d8fc13c74f43d24b9e77a210e3874d07 to your computer and use it in GitHub Desktop.

Select an option

Save lucasvanmol/d8fc13c74f43d24b9e77a210e3874d07 to your computer and use it in GitHub Desktop.
Godot script describing the motion of a damped oscillator
extends Sprite
var displacement := 0.0
var velocity := 0.0
export (float) var spring_constant := 150.0
export (float) var damp_constant := 5.0
func _process(delta):
var force = -spring_constant * displacement + damp_constant * velocity
velocity -= force * delta
displacement -= velocity * delta
material.set_shader_param("STRENGTH", displacement)
if Input.is_action_just_pressed("ui_accept"):
velocity = 20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment