PcoWSkbVqDnWTu_dm2ix
Collapse Sidebar

FloatCurve

Show deprecated

FloatCurve

Show deprecated

An instance representing a 1D float curve encoded via a sorted list of DataType/FloatCurveKey|FloatCurveKeys.

datatype/FloatCurveKey|FloatCurveKeys are value-time points that represent the changes in value over time. The changes of a single value over time are represented by a curve. Animators can edit keys to modify a curve. The shape of the curve is dictated by the Enum/KeyInterpolationMode chosen at each key.

Properties

int

Length

[ReadOnly] [NotReplicated]

Number of keys in the float curve.

Inherited from Instance: Show Hide

bool

Archivable

Determines if an Instance can be cloned using /Instance/Clone or saved to file.

string

ClassName

[ReadOnly] [NotReplicated]

A read-only string representing the class this Instance belongs to

int

DataCost

[Hidden] [ReadOnly] [NotReplicated] [Deprecated]

The cost of saving the instance using data persistence.

string

Name

A non-unique identifier of the Instance

Instance

Parent

[NotReplicated]

Determines the hierarchical parent of the Instance

bool

RobloxLocked

[Hidden]

A deprecated property that used to protect CoreGui objects

int64

SourceAssetId

[Hidden] [NotReplicated]
bool

archivable

[Hidden] [NotReplicated] [Deprecated]
string

className

[ReadOnly] [NotReplicated] [Deprecated]

Functions

FloatCurveKey

GetKeyAtIndex ( int index )

Returns a copy of a key at a given index.

Array

GetKeyIndicesAtTime ( float time )

Returns key indices before and after time.

Array

GetKeys ( )

Returns a copy of all the keys in the FloatCurve as a Lua array of FloatCurveKey

float

GetValueAtTime ( float time )

Samples the float curve at a given time passed as argument.

Array

InsertKey ( FloatCurveKey key )

Adds the key passed as argument to this curve.

int

RemoveKeyAtIndex ( int startingIndex , int count )

Removes a given number of Keys starting from a given index. Returns the number of keys that were removed.

int

SetKeys ( Array keys )

Resets this curve’s keys using the FloatCurveKey array passed as argument.

Inherited from Instance: Show Hide

void

ClearAllChildren ( )

This function destroys all of an Instance’s children.

Instance

Clone ( )

Create a copy of an object and all its descendants, ignoring objects that are not Instance/Archivable|Archivable

void

Destroy ( )

Sets the Instance/Parent property to nil, locks the Instance/Parent property, disconnects all connections and calls Destroy on all children.

Instance

FindFirstAncestor ( string name )

Returns the first ancestor of the Instance whose Instance/Name is equal to the given name.

Instance

FindFirstAncestorOfClass ( string className )

Returns the first ancestor of the Instance whose Instance/ClassName is equal to the given className.

Instance

FindFirstAncestorWhichIsA ( string className )

Returns the first ancestor of the Instance for whom Instance/IsA returns true for the given className.

Instance

FindFirstChild ( string name , bool recursive )

Returns the first child of the Instance found with the given name.

Instance

FindFirstChildOfClass ( string className )

Returns the first child of the Instance whose Instance/ClassName|ClassName is equal to the given className.

Instance

FindFirstChildWhichIsA ( string className , bool recursive )

Returns the first child of the Instance for whom Instance/IsA returns true for the given className.

Instance

FindFirstDescendant ( string name )

Returns the first descendant found with the given FullName (or partial FullName).

Actor

GetActor ( )

Returns the Actor associated with the Instance, usually the first Actor ancestor

Variant

GetAttribute ( string attribute )

Returns the attribute which has been assigned to the given name

RBXScriptSignal

GetAttributeChangedSignal ( string attribute )

Returns an event that fires when the given attribute changes

Dictionary

GetAttributes ( )

Returns a dictionary of string → variant pairs for each of the Instance|Instance’s attributes

Objects

GetChildren ( )

Returns an array containing all of the Instance’s children.

string

GetDebugId ( int scopeLength )

[NotBrowsable]

Returns a coded string of the Instances DebugId used internally by Roblox.

Array

GetDescendants ( )

[CustomLuaState]

Returns an array containing all of the descendants of the instance

string

GetFullName ( )

Returns a string describing the Instance’s ancestry.

RBXScriptSignal

GetPropertyChangedSignal ( string property )

Get an event that fires when a given property of an object changes.

bool

IsA ( string className )

[CustomLuaState]

Returns true if an Instance’s class matches or inherits from a given class

bool

IsAncestorOf ( Instance descendant )

Returns true if an Instance is an ancestor of the given descendant.

bool

IsDescendantOf ( Instance ancestor )

Returns true if an Instance is a descendant of the given ancestor.

void

Remove ( )

[Deprecated]

Sets the object’s Parent to nil, and does the same for all its descendants.

void

SetAttribute ( string attribute , Variant value )

Sets the attribute with the given name to the given value

Instance

WaitForChild ( string childName , double timeOut )

[CustomLuaState] [CanYield]

Returns the child of the Instance with the given name. If the child does not exist, it will yield the current thread until it does.

Objects

children ( )

[Deprecated]

Returns an array of the object’s children.

Instance

clone ( )

[Deprecated]
void

destroy ( )

[Deprecated]
Instance

findFirstChild ( string name , bool recursive )

[Deprecated]
Objects

getChildren ( )

[Deprecated]
bool

isA ( string className )

[Deprecated] [CustomLuaState]
bool

isDescendantOf ( Instance ancestor )

[Deprecated]
void

remove ( )

[Deprecated]

Events

Inherited from Instance: Show Hide

RBXScriptSignal

AncestryChanged ( Instance child , Instance parent )

Fires when the Instance/Parent property of the object or one of its ancestors is changed.

RBXScriptSignal

AttributeChanged ( string attribute )

Fires whenever an attribute is changed on the Instance

RBXScriptSignal

Changed ( string property )

Fired immediately after a property of an object changes.

RBXScriptSignal

ChildAdded ( Instance child )

Fires when an object is parented to this Instance.

RBXScriptSignal

ChildRemoved ( Instance child )

Fires when a child is removed from this Instance.

RBXScriptSignal

DescendantAdded ( Instance descendant )

Fires when a descendant is added to the Instance

RBXScriptSignal

DescendantRemoving ( Instance descendant )

Fires immediately before a descendant of the Instance is removed.

RBXScriptSignal

Destroying ( )

RBXScriptSignal

childAdded ( Instance child )

[Deprecated]

Code Samples


local function createFloatCurve()
	local curve = Instance.new("FloatCurve")
	
	local key = FloatCurveKey.new(0, 1) -- creates a key at time 0 and with value 1
	curve:InsertKey(key);
	
	local newKeys = {FloatCurveKey.new(1, 4), FloatCurveKey.new(2, 1)}
	curve:SetKeys(newKeys);
	
	local allKeys = curve:GetKeys();-- copies all keys in this curve into a lua array.
	allKeys[1].Value = 2 -- mutates the value of the first key
	curve:SetKeys(allKeys);--commits the changes to the curve.
	
	--Note: InsertKey or SetKeys will run auto tangents for those keys that have auto tangent set to true.
	print(allKeys)
	return curve
end
 
local function modifyFloatKeys(curve)
	--returns the indices of the keys before and after the sample time = 0.5
	local indices = curve:GetKeyIndicesAtTime(1.5)
	
	print(indices[1]) -- left Index, prints 1
	print(indices[2]) -- right Index, prints 2
	
	-- changing tangents of the curve segment between the first and second keys
	local keys = curve:GetKeys();
	
	keys[indices[1]].RightTangent = 3
	keys[indices[2]].LeftTangent = 3
	
	curve:SetKeys(keys)
end