public void Update(float dt) { vec3 target = scene.GetEntities(EntityGroups.Player)[0].Position; target.y = HoverHeight; springs[2].Target = target; foreach (var spring in springs) { spring.Update(dt); } var list = curve.ControlPoints; list.Clear(); list.AddRange(springs.Select(s => s.Position)); var points = curve.ComputePoints(Bones - 1); var bones = skeleton.Bones; for (int i = 0; i < points.Length; i++) { bones[i].Position = points[i]; } }