Skip to main content

Spring Simulator

  • Simulates a Spring reaching a goal
local springSimulationState = springSimulator.SimulationStateBuilder.new()
:withCFrameTrack(TRACK)
:withClampPositionToTrackLength(true)
:withCurrentPosition(keyframeRecorder:getLastPosition())
:withModelDirection(MODEL_DIRECTION)
:withAngularFrequency(1)
:withDampingRatio(1)
:withGoal(STOP_POSITION)
:withMaxSpeed(keyframeRecorder:getLast().trackSpeed)
:build()
:unwrap()

local springRecorder = springSimulator.simulate(springSimulationState, PHYSICS_STATE)