@@ -5,63 +5,57 @@ summary: |
55 Stores animation data in the form of curves for each individual channel to
66 animate.
77description : |
8- CurveAnimation is a subtype of `Class.AnimationClip` consumed by Roblox's
9- animation system. It stores animation data for each animated channel in a Rig
10- as a separate, individual curve. For example, CurveAnimation stores the
11- Position channel for an articulated joint as `Class.Vector3Curve`, and it
12- might store the Rotation channel as an `Class.EulerRotationCurve` or a
8+ ` CurveAnimation` is a subtype of `Class.AnimationClip` consumed by Roblox's
9+ animation system. It stores animation data for each animated channel in a rig
10+ as a separate, individual curve. For example, ` CurveAnimation` stores the
11+ position channel for an articulated joint as a `Class.Vector3Curve`, and it
12+ might store the rotation channel as a `Class.EulerRotationCurve` or
1313 `Class.RotationCurve`.
1414
15- ## CurveAnimation structure
15+ #### Structure
1616
17- CurveAnimation stores curves in a hierarchical manner, matching the hierarchy
17+ ` CurveAnimation` stores curves in a hierarchical manner, matching the hierarchy
1818 of the structure of `Class.Motor6D|Motor6Ds` or `Class.Bone|Bones` in the
19- animated model. Under each CurveAnimation instance lies a hierarchy of
19+ animated model. Under each ` CurveAnimation` instance lies a hierarchy of
2020 `Class.Folder` instances representing animated joints in the model. Under each
2121 such folder instance, several possible instances may exist. An instance named
22- ' Position' of type `Class.Vector3Curve` can drive the local translation of the
23- `Class.Motor6D` or `Class.Bone` on the animated model. Similarly, an instance
24- named ' Rotation', of type either `Class.EulerRotationCurve` or
22+ ` Position` of type `Class.Vector3Curve` can drive the local translation of the
23+ `Class.Motor6D` or `Class.Bone` on the animated model, while an instance
24+ named ` Rotation` of type `Class.EulerRotationCurve` or
2525 `Class.RotationCurve` can drive the local rotation of the `Class.Motor6D` or
2626 `Class.Bone` on the animated model.
2727
28- ## Partial matching of hierarchy
28+ #### Partial matching of hierarchy
2929
30- You can match partial hierarchies to a model when playing a CurveAnimation in
30+ You can match partial hierarchies to a model when playing a ` CurveAnimation` in
3131 Roblox's animation system. This means that not all joints need to be present
32- in the hierarchy for the joints that are present to apply properly.
33- Furthermore, you can match hierarchies in a ' relative' manner. For example, a
34- CurveAnimation's first `Class.Folder` instance root can be `UpperTorso`, and
32+ in the hierarchy for the existing joints to apply properly.
33+ Furthermore, you can match hierarchies in a " relative" manner. For example,
34+ the first child `Class.Folder` instance root can be `UpperTorso` and
3535 the animation system matches that to any existing sub-hierarchies in the
3636 model.
3737
38- ## Animating miscellaneous channels
38+ #### Animating miscellaneous channels
3939
40- Curve Animations can also animate other numerical values in a model. For
40+ `CurveAnimation` can also animate other numerical values in a model. For
4141 example, you can animate FACS controls for facial animations by creating a
42- folder under the CurveAnimation instance named after an existing
42+ `Class.Folder` under the ` CurveAnimation` instance named after an existing
4343 `Class.FaceControls` instance in the model. Then, to animate individual facial
4444 controllers, you can store individual `Class.FloatCurve` instances named after
4545 the animated `Class.FaceControls` property.
4646
47- ## Using CurveAnimation when making animations
47+ #### Usage when making animations
4848
49- As for other AnimationClip types (such as `Class.KeyframeSequence`), you must
50- upload CurveAnimations to Roblox first before playing them. To do that, right
51- click on the CurveAnimation and click 'Save to Roblox'. Alternatively, use
52- `Class.Plugin:SaveSelectedToRoblox()` to bring up the animation upload window.
49+ As with other `Class.AnimationClip` types such as `Class.KeyframeSequence`,
50+ you must first upload `CurveAnimation` instances to Roblox before playing them.
51+ If you want to preview an animation before uploading it to Roblox,
52+ you can generate a temporary ID using
53+ `Class.AnimationClipProvider:RegisterAnimationClip()`; this generates a hash
54+ ID that you can use for localized animation testing.
5355
54- If you want to preview an Animation before uploading it to the Roblox site,
55- you can generate a temporary id using
56- `AnimationClipProviderProvider:RegisterAnimationClip`. This generates a hash
57- id that you can use for localized animation testing.
58-
59- ## Obtaining CurveAnimations
60-
61- As for other `Class.AnimationClip` types (such as `Class.KeyframeSequence`),
62- if you want to download the CurveAnimation corresponding to an existing
63- uploaded Animation using Luau scripts, use
64- AnimationClipProvider:AnimationClipAsync.
56+ If you want to download the `CurveAnimation` corresponding to an existing
57+ uploaded animation using Luau scripts, use
58+ `Class.AnimationClipProvider:GetAnimationClipAsync()`.
6559code_samples : []
6660inherits :
6761 - AnimationClip
0 commit comments