Class
ValueCurve
A sorted list of time-value pairs that define a curve. Used to animate any type of value.
An instance representing a 1D value curve encoded via a sorted list of
ValueCurveKeys. The shape of the interpolation curve
between two keys is determined by the ValueCurveKey.Interpolation
type.
Not all value types (for example, strings and other non-numerical types) may
perform Linear or
Cubic interpolation. These types will revert
to Constant interpolation if necessary.
Properties 2#
Methods 8#
| GetKeyAtIndex | Returns a copy of a key at a given index. |
| GetKeyIndicesAtTime | Returns the index of the last and first key of a period of time. |
| GetKeys | Returns a copy of all the keys in the ValueCurve as a Luau array of
ValueCurveKeys. |
| GetValueAtTime | Samples the value curve at a given time passed as argument. |
| InsertKey | Adds the key passed as an argument to this curve. If a key at the same time is found, it will be replaced. |
| InsertKeyValue | Creates a key for the given value and inserts it at the given time. If a key at the same time is found, it will be replaced. |
| RemoveKeyAtIndex | Removes a given number of keys starting from a given index. |
| SetKeys | Resets this curve's keys using the ValueCurveKey array passed
as an argument. |
GetKeyAtIndex(index: int): ValueCurveKey#
Returns a copy of a key at a given index.
| Name | Type | Default | Description |
|---|---|---|---|
index | int | The index in the existing set of keys held by this ValueCurve. |
Returns
ValueCurveKey— A copy of theValueCurveKeystored at the givenindex.
GetKeyIndicesAtTime(time: float): Array#
The first item in the returned array is the index of the last key with
time less than or equal to time (or the lesser of either 1 or the
curve length if no key was found). The second item in the returned array
is the index of the first key with time greater than or equal to time
(or the curve length if no key was found satisfying the inequality).
| Name | Type | Default | Description |
|---|---|---|---|
time | float | A time during the animation. Inputs will be clamped between 0 and
the time of the last key held by this ValueCurve. |
Returns
Array— An array of two indices bracketingtime: the index of the last key at or beforetime, and the index of the first key at or aftertime.
GetKeys(): Array#
Returns a copy of all the keys in the ValueCurve as a Luau array
of ValueCurveKeys.
Returns
Array— Array ofValueCurveKeys.
GetValueAtTime(time: float): Variant?#
Samples the value curve at a given time passed as argument.
| Name | Type | Default | Description |
|---|---|---|---|
time | float | Time at which to sample the curve. |
Returns
Variant?— Value of the curve at the requestedtime.
InsertKey(key: ValueCurveKey): Array#
Adds the key passed as an argument to this curve. If a key at the same
time is found, it will be replaced. In the returned array, the first value
is true if a key was added or false if a previous key was replaced;
the second value is the index at which the marker was added.
If there are not yet any keys, then the key may be added. If keys exist,
the type of the value must match those of existing keys; otherwise a
message is printed and {false, -1} is returned.
| Name | Type | Default | Description |
|---|---|---|---|
key | ValueCurveKey | ValueCurveKey to insert. |
Returns
Array— (see description)
InsertKeyValue(time: float, value: Variant, Interpolation: KeyInterpolationMode): Array#
Creates a ValueCurveKey from the given arguments and inserts it
in this curve. If a key at the same time is found, it will be replaced. In
the returned array, the first value is true if a key was added or
false if a previous key was replaced; the second value is the index at
which the marker was added.
If there are not yet any keys, then the key may be added. If keys exist,
the type of the value must match those of existing keys; otherwise a
message is printed and {false, -1} is returned.
| Name | Type | Default | Description |
|---|---|---|---|
time | float | Time at which to insert the new ValueCurveKey. - type:
number | |
value | Variant | Value of the inserted ValueCurveKey. - type: any | |
Interpolation | KeyInterpolationMode | Interpolation mode of the inserted ValueCurveKey. - type:
KeyInterpolationMode |
Returns
Array— (see description)
RemoveKeyAtIndex(startingIndex: int, count: int = 1): int#
Removes a given number (count) of keys starting from the startingIndex
index and returns the number of keys that were removed.
| Name | Type | Default | Description |
|---|---|---|---|
startingIndex | int | Starting index from which to remove keys. | |
count | int | 1 | Number of keys to remove. |
Returns
int— Number of keys removed.
SetKeys(keys: Array): int#
Resets this curve's keys using the ValueCurveKey array passed
as an argument. Keys in the keys array are sorted in ascending time
order before insertion, and keys at duplicated times are removed in a
stable manner.
Returns the number of keys actually inserted. Keys previously stored in this curve are removed before the keys passed as arguments are added.
The keys must all contain values of the same type. And that type must
match any existing keys. Otherwise a message is printed, the keys are not
added, and 0 is returned.
| Name | Type | Default | Description |
|---|---|---|---|
keys | Array | Array of ValueCurveKeys. |
Returns
int— Number of keys inserted.
Inherited members#
Inherited from Instance 58
Properties (10)
Archivable, archivable, Capabilities, IsInSandbox, Name, Parent, PredictionMode, RobloxLocked, Sandboxed, UniqueId
Methods (39)
AddTag, children, ClearAllChildren, Clone, clone, Destroy, destroy, FindFirstAncestor, FindFirstAncestorOfClass, FindFirstAncestorWhichIsA, FindFirstChild, findFirstChild, FindFirstChildOfClass, FindFirstChildWhichIsA, FindFirstDescendant, GetActor, GetAttribute, GetAttributeChangedSignal, GetAttributes, GetChildren, getChildren, GetDebugId, GetDescendants, GetFullName, GetStyled, GetStyledPropertyChangedSignal, GetTags, HasTag, IsAncestorOf, IsDescendantOf, isDescendantOf, IsPropertyModified, QueryDescendants, Remove, remove, RemoveTag, ResetPropertyToDefault, SetAttribute, WaitForChild