Transform F-Curve
transform_fcurveScale and retime real animation keys with pivot, time/value scaling, and offsets. Manual tangents scale correctly, while automatic tangents recalculate; invalid collisions or out-of-range results are rejected before writing.
Instructions
Retime/scale selected or all REAL keys. Manual tangents scale with the keys; AUTO remains automatic and is recalculated by Cinema 4D. New time = pivot + (old time - pivot) * scale + offset; value uses the analogous formula. Supports subframes, rejects collisions with all keys and out-of-range results before writing. Read the curve again afterward because sorted key indices can change. No time reversal or cross-track bake.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fps | No | Time base, default document FPS. | |
| path | No | Full DescID as [[id,dtype,creator],...], from list_user_data desc_id or list_tracks path. For a vector append a REAL x/y/z DescLevel. Exclusive with param_id/component/dtype. | |
| handle | Yes | Entity with an existing REAL value track. | |
| param_id | No | Legacy top-level parameter id; exclusive with path. | |
| component | No | Legacy vector component with param_id; HPB rotation maps to x/y/z. Omit with path. | |
| time_scale | No | Positive time scale, default 1. Time reversal is not supported. | |
| key_indices | No | Snapshot indices to transform; omit to transform all keys (at most 1000). | |
| pivot_frame | No | Time scaling pivot, default 0. | |
| value_pivot | No | Value scaling pivot, default 0. | |
| value_scale | No | Value scale, default 1. Zero and negative values are allowed. | |
| value_offset | No | Value shift after scaling, default 0. | |
| document_name | Yes | Exact active document name. A mismatch is rejected; this tool never switches documents. | |
| time_offset_frames | No | Time shift after scaling, default 0. |