3.13
What do POSITION values ACTUALLY mean?
4m 21sπ Key Points
A deeper explanation of what Position values really mean in animation and hierarchy contexts.
π TutorialAvailable
Summary
This lesson clarifies how position values in Rive are relative to the parent's origin. It explains a common pitfall where grouping already-animated objects changes their parent's origin, causing the animation to "break" because keyframes still refer to the old positional offsets.
Step by Step
-
00:13
Understanding the IssueAnimating an object's position and then grouping it can cause the object to jump to a new location in Animate Mode.
-
00:45
Position LogicRealize that position values represent the distance between a layer's origin and its parent's origin, not the artboard's origin (unless the artboard is the direct parent).
-
01:53
Parental ShiftObserve how grouping a layer changes its parent from the artboard to a group; Rive automatically updates Design Mode values to 0,0, but existing keyframes in Animate Mode remain at their original values.
-
02:53
The Keyframe ConflictNotice that in Animate Mode, the object moves to the original keyframe offset relative to the new group origin, leading to the offset error.
-
03:34
The Empty Group SolutionInstead of using Command+G on layers, create an empty group (G), set its position to 0,0 (matching the previous parent's origin), and then drag layers inside.
-
04:09
Best PracticePlan your hierarchy and groups in Design Mode before you start setting positional keyframes to avoid these issues.
Notes About Current Rive
- Relative Coordinate System: Always remember that coordinates are never "absolute" in Rive; they are always relative to the direct container.
- Command+G Behavior: When you wrap objects in a group, Rive centers the group's origin on the objects, which is what changes the child layers' local position values.
- Empty Groups: Using an empty group at 0,0 is a powerful way to add a layer of organization without disrupting existing animation coordinates.
π Notes
Markdown supported
0 chars
