mirror of
https://github.com/rojo-rbx/rojo.git
synced 2026-10-23 14:01:37 +00:00
71 lines
3.2 KiB
YAML
71 lines
3.2 KiB
YAML
# This file is automatically generated. Please don't edit it manually.
|
|
# To submit a bug report on the content, see
|
|
# https://devforum.roblox.com/c/bug-reports/documentation-issues/72
|
|
|
|
name: CurveAnimation
|
|
type: class
|
|
memory_category: Instances
|
|
summary: |
|
|
Stores animation data in the form of curves for each individual channel to
|
|
animate.
|
|
description: |
|
|
`CurveAnimation` is a subtype of `Class.AnimationClip` consumed by Roblox's
|
|
animation system. It stores animation data for each animated channel in a rig
|
|
as a separate, individual curve. For example, `CurveAnimation` stores the
|
|
position channel for an articulated joint as a `Class.Vector3Curve`, and it
|
|
might store the rotation channel as a `Class.EulerRotationCurve` or
|
|
`Class.RotationCurve`.
|
|
|
|
#### Structure
|
|
|
|
`CurveAnimation` stores curves in a hierarchical manner, matching the
|
|
hierarchy of the structure of `Class.Motor6D|Motor6Ds` or `Class.Bone|Bones`
|
|
in the animated model. Under each `CurveAnimation` instance lies a hierarchy
|
|
of `Class.Folder` instances representing animated joints in the model. Under
|
|
each such folder instance, several possible instances may exist. An instance
|
|
named `Position` of type `Class.Vector3Curve` can drive the local translation
|
|
of the `Class.Motor6D` or `Class.Bone` on the animated model, while an
|
|
instance named `Rotation` of type `Class.EulerRotationCurve` or
|
|
`Class.RotationCurve` can drive the local rotation of the `Class.Motor6D` or
|
|
`Class.Bone` on the animated model.
|
|
|
|
#### Partial matching of hierarchy
|
|
|
|
You can match partial hierarchies to a model when playing a `CurveAnimation`
|
|
in Roblox's animation system. This means that not all joints need to be
|
|
present in the hierarchy for the existing joints to apply properly.
|
|
Furthermore, you can match hierarchies in a "relative" manner. For example,
|
|
the first child `Class.Folder` instance root can be `UpperTorso` and the
|
|
animation system matches that to any existing sub-hierarchies in the model.
|
|
|
|
#### Animating miscellaneous channels
|
|
|
|
`CurveAnimation` can also animate other numerical values in a model. For
|
|
example, you can animate FACS controls for facial animations by creating a
|
|
`Class.Folder` under the `CurveAnimation` instance named after an existing
|
|
`Class.FaceControls` instance in the model. Then, to animate individual facial
|
|
controllers, you can store individual `Class.FloatCurve` instances named after
|
|
the animated `Class.FaceControls` property.
|
|
|
|
#### Usage when making animations
|
|
|
|
As with other `Class.AnimationClip` types such as `Class.KeyframeSequence`,
|
|
you must first upload `CurveAnimation` instances to Roblox before playing
|
|
them. If you want to preview an animation before uploading it to Roblox, you
|
|
can generate a temporary ID using
|
|
`Class.AnimationClipProvider:RegisterAnimationClip()`; this generates a hash
|
|
ID that you can use for localized animation testing.
|
|
|
|
If you want to download the `CurveAnimation` corresponding to an existing
|
|
uploaded animation using Luau scripts, use
|
|
`Class.AnimationClipProvider:GetAnimationClipAsync()`.
|
|
code_samples: []
|
|
inherits:
|
|
- AnimationClip
|
|
descendants: []
|
|
tags: []
|
|
deprecation_message: ''
|
|
properties: []
|
|
methods: []
|
|
events: []
|
|
callbacks: []
|