{"name":"BIS_fnc_timeline_simulateCurves","title":"BIS fnc timeline simulateCurves","type":"function","url":"https://community.bistudio.com/wiki/BIS_fnc_timeline_simulateCurves","revid":379575,"updated":"2026-10-31T14:03:49Z","groups":["Timeline"],"status":"ok","games":{"arma3":"1.76"},"since":"arma3 1.76","arma3_since":"1.76","description":"Moves the objects animated by a timeline to the given point of the timeline. For every curve of the timeline (see BIS_fnc_timeline_getSimulatedCurves) the function:\n\n- modifies *alpha* according to the timeline's interpolation mode (see BIS_fnc_timeline_setInterpMode): linear, cubic, ease in/out, hermite, berp, bounce or quintic\n- evaluates the curve at the resulting alpha and moves all its simulated objects (BIS_fnc_richCurve_getSimulatedObjects) there with setPosASL\n- rotates the objects with setVectorDirAndUp according to the curve's orientation mode (see BIS_fnc_richCurve_setOrientationMode): orientation stored in the keys, looking at the curve's look-at position, or following the direction of movement; the rotation is smoothed over *deltaTime*\n- sets the field of view of simulated cameras (objects of kind \"Camera_F\") with BIS_fnc_camera_setFOV\n\nIn the Eden Editor, it also refreshes the curve's 3D drawing (BIS_fnc_richCurve_edenTick) and, if 3D icons are visible, draws an icon at the current position. Outside of Eden, once the curve reaches a key, the code stored in the key's \"Event\" variable is executed and the key's \"reached\" scripted event handler is called; each key does so only once (until the timeline loops).\n\nThe function is used internally by BIS_fnc_timeline_tick, which calls it every frame while the timeline is playing and not paused.","syntaxes":[{"syntax":"[timeline, alpha, deltaTime] call BIS_fnc_timeline_simulateCurves","params":[{"name":"timeline","type":"Object","description":"the timeline","type_expr":"Object"},{"name":"alpha","type":"Number","optional":true,"default":"0","description":"current position of the timeline, normalised to the range 0..1","type_expr":"Number","text":"alpha: Number - (Optional, default 0) current position of the timeline, normalised to the range 0..1"},{"name":"deltaTime","type":"Number","optional":true,"default":"0","description":"time since the last frame, in seconds; used to smooth the orientation","type_expr":"Number","text":"deltaTime: Number - (Optional, default 0) time since the last frame, in seconds; used to smooth the orientation"}],"returns":{"type":"Nothing","type_expr":"Nothing"}}],"examples":[{"code":["[myTimeline, 0.5, 0] call BIS_fnc_timeline_simulateCurves; // moves the timeline's objects to the middle of the timeline"]}],"see_also":["BIS_fnc_timeline_tick","BIS_fnc_timeline_play","BIS_fnc_timeline_getSimulatedCurves","BIS_fnc_timeline_setInterpMode","BIS_fnc_richCurve_setOrientationMode"]}