Show raw api
{
"functions": [
{
"name": "new",
"desc": "",
"params": [
{
"name": "keyframeSequence",
"desc": "",
"lua_type": "KeyframeSequence"
},
{
"name": "hasherNodeMap",
"desc": "Full path to the deepest used Pose.",
"lua_type": "PoseHasherNodeMap"
},
{
"name": "rootCFrame",
"desc": "Defaults to CFrame.new()",
"lua_type": "CFrame?"
}
],
"returns": [
{
"desc": "",
"lua_type": "RobloxAnimationCFrameTrack"
}
],
"function_type": "static",
"tags": [
"Constructor"
],
"source": {
"line": 94,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "createHasherMap",
"desc": "Creates PositionDataHashers needed to create a RobloxAnimationCFrameTrack",
"params": [
{
"name": "keyframeSequence",
"desc": "",
"lua_type": "KeyframeSequence"
},
{
"name": "hashInterval",
"desc": "Default = 1",
"lua_type": "number?"
}
],
"returns": [
{
"desc": "",
"lua_type": "Result<PositionDataHasher<PoseKeyframe>, string>"
}
],
"function_type": "static",
"source": {
"line": 137,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "create",
"desc": "Creates a RobloxAnimationCFrameTrack.\nExtracts the KeyframeData and creates the necessary hashers for a RobloxAnimationCFrameTrack.",
"params": [
{
"name": "keyframeSequence",
"desc": "",
"lua_type": "KeyframeSequence"
},
{
"name": "hashInterval",
"desc": "",
"lua_type": "number?"
},
{
"name": "rootCFrame",
"desc": "",
"lua_type": "CFrame?"
}
],
"returns": [
{
"desc": "",
"lua_type": "Result<RobloxAnimationCFrameTrack, string>"
}
],
"function_type": "static",
"source": {
"line": 262,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "fromInstance",
"desc": "Creates a RobloxAnimationCFrameTrack from an Instance\n\n### Children\n```ts\n{\n\tKeyframeSequence: KeyframeSequence | ObjectValue<KeyframeSequence>,\n\tHashInterval: NumberValue?,\n\tRootCFrame: CFrameInstance?,\n}\n```",
"params": [
{
"name": "instance",
"desc": "",
"lua_type": "Instance"
}
],
"returns": [
{
"desc": "",
"lua_type": "Result<RobloxAnimationCFrameTrack, string>"
}
],
"function_type": "static",
"source": {
"line": 293,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "getCFrame",
"desc": "Returns a CFrame at the given position\nSince most of the implementation is meant for rigs, this just returns the `rootCFrame`",
"params": [
{
"name": "_position",
"desc": "This is the Time position",
"lua_type": "number"
}
],
"returns": [
{
"desc": "",
"lua_type": "CFrame"
}
],
"function_type": "method",
"source": {
"line": 337,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "getJointData",
"desc": "Returns the positions of the joints for the animation at the given time.",
"params": [
{
"name": "position",
"desc": "This is the Time position",
"lua_type": "number"
}
],
"returns": [
{
"desc": "",
"lua_type": "JointDataMap"
}
],
"function_type": "method",
"source": {
"line": 357,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
}
],
"properties": [
{
"name": "rootCFrame",
"desc": "World-space CFrame used for determining the \"start\" or \"root\" position.",
"lua_type": "CFrame",
"source": {
"line": 69,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "keyframeSequence",
"desc": "",
"lua_type": "KeyframeSequence",
"source": {
"line": 72,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "hashers",
"desc": "",
"lua_type": "{PositionDataHasher<PoseKeyframe>}",
"source": {
"line": 75,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "length",
"desc": "Determined by the greatest Time property of KeyframeSequence's Keyframes.",
"lua_type": "number",
"source": {
"line": 79,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "isCircuited",
"desc": "Determined by `KeyframeSequence.Looped`",
"lua_type": "boolean",
"source": {
"line": 83,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
}
],
"types": [
{
"name": "PoseKeyframe",
"desc": "",
"fields": [
{
"name": "cframe",
"lua_type": "CFrame",
"desc": ""
},
{
"name": "easingStyle",
"lua_type": "Enum.EasingStyle",
"desc": ""
},
{
"name": "easingDirection",
"lua_type": "Enum.EasingDirection",
"desc": ""
},
{
"name": "position",
"lua_type": "number",
"desc": "time position"
}
],
"source": {
"line": 38,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "PoseHasherNode",
"desc": "",
"fields": [
{
"name": "hasher",
"lua_type": "PositionDataHasher<PoseKeyframe>",
"desc": ""
},
{
"name": "subNodes",
"lua_type": "{[string]: PoseHasherNode}",
"desc": ""
}
],
"source": {
"line": 49,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "PoseHasherNodeMap",
"desc": "",
"lua_type": "{[string]: PoseHasherNode}",
"source": {
"line": 56,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "PoseKeyframeNode",
"desc": "",
"fields": [
{
"name": "keyframeMap",
"lua_type": "{[Keyframe]: Pose}",
"desc": ""
},
{
"name": "subPoses",
"lua_type": "{[string]: PoseKeyframeNode}",
"desc": ""
}
],
"source": {
"line": 124,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "PoseKeyframeNodeMap",
"desc": "",
"lua_type": "{[string]: PoseKeyframeNode}",
"source": {
"line": 131,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "JointData",
"desc": "",
"fields": [
{
"name": "cframe",
"lua_type": "CFrame",
"desc": ""
},
{
"name": "subJoints",
"lua_type": "{[string]: JointData}",
"desc": ""
}
],
"source": {
"line": 345,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
},
{
"name": "JointDataMap",
"desc": "",
"lua_type": "{[string]: JointData}",
"source": {
"line": 352,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
}
],
"name": "RobloxAnimationCFrameTrack",
"desc": "#### Extends [CFrameTrack]\n\nImplementation of Roblox Animation ([KeyframeSequence](https://create.roblox.com/docs/reference/engine/classes/KeyframeSequence)) to be played by rtrf.",
"source": {
"line": 65,
"path": "src/shared/cframeTrack/RobloxAnimation.lua"
}
}