Overview
Obsidian is a Bento Bones attachment, and as such, its movement and shape are controlled by animations.
These animations can be divided into three categories: Control, Core and Creator.
- Control animations control positioning and adjustments such as vertical and horizontal angles, thickness, ball angles, and throbbing effects. Here’s the list with corresponding API parameter names:
v— vertical angle.h— horizontal angle.th— thickness.v_b— vertical angle of the balls.z_b— Z-axis adjustment for the balls.thr— throbbing (one-time actions).- positioning (not available in public API).
- Core animations drive the character and look of Obsidian. They define four stages of hardness, curvature, breathing, and built-in motion animations.
- Creator animations come from third-party creators using custom HUDs or furniture to animate Obsidian in custom ways.
Creator animations
Creator animations should only target the bones used by the Core animations.
There are two basic rules to follow:
-
Animate only the designated bones marked Core & Creator in the table below. Verify that your animation does not prevent the user from adjusting their device with the HUD.
-
Rely on rotations for 99% of cases.
Location keyframes (marked with 🛑 in the table below) should not be used — except in extremely rare cases where deforming Obsidian’s shape is not possible without keying the locations. This is essential for preserving Obsidian’s intended shape and length.
Creator animations priority
Export your animation with Priority 6.
If not all bones designated for Creator animations are included, the missing bones will be animated by built-in Core animations — individually for Rotation and Location.
Consider AVsitter Plugin if you need to play a Creator overlay animation or to save and restore "angles".
Bones architecture
The table below outlines which bones in the Obsidian architecture correspond to each of these animation categories and their specific functions. Rotation and Location purposes are split into two columns:
| Bone | Rotation | Location |
|---|---|---|
| (Shaft Group) | ||
Groin | — | — |
Tail 1 | v 0.25-0.75 (+90°-(-90°)) | Master Positioning(*) |
Tail 2 | h 0.25-0.75 (+90°-(-90°)) | Throb(♦) (thr) |
Tail 3 | Core & Creator | Core & Creator🛑 |
Tail 4 | Core & Creator | Core & Creator🛑 |
Tail 5 | Core & Creator | Core & Creator🛑 |
Tail 6 | th(§) — P6 | — (♦) |
| (Balls Group) | ||
HLRoot | (zeroed out inside v_b) — P6 🟨 (since v108) | Master Positioning(*) |
HL1R | v_b 0.3-0.7 (+72°-(-72°)) — P6 🟨 (since v108) | z_b — P6 🟨 |
HL2R | Core & Creator | Core & Creator🛑 Participates in Throb(♦) ( thr) |
HL3R | Core & Creator | Core & Creator🛑 |
HL4R | Core & Creator | Core & Creator🛑 Participates in Throb(♦) ( thr) |
(*)Master Positioning — Two bones —
Tail 1andHLRoot— are combined into a single, looped animation for each position.
(♦)Throb — Three bones —
Tail 2,HL2RandHL4R— are combined into non-loop throbbing animations. Only location is used.
- Versions before
v109used to animateTail 6location as part of the throb. This has been removed to ensure attachments onTail Tipdon’t move when throb happens.
(§)
Tail 6(th): Beforev107:0,1(0°,+180°). Fromv107:0-1(0°-(-180°)) (range).
Core animations that define the “look” of Obsidian are split between Shaft and Balls bone groups. When making Creator animations, you as an animator will most likely create one animation for both bone groups.
Priority
| Animation/Bones | Priority |
|---|---|
v_b animates HL1R and zeros out HLRoot | P6 🟨 (since v108) |
th | P6 |
z_b | P6 🟨 (since v109) |
| Rest of Control and Core animations | P5 |
API to pause Core animations
Core animations can be paused by constraining them with the %m_vibe=0 API command. With this constraint in place, Creator animations can be played with any priority. Whenever m_vibe is set to 0, a special stop Priority 5 non-loop animation is played once to zero out all the bones used in Core animations.
Stats
Number of Control animations in Obsidian:
201— Vertical angle (v).201— Horizontal angle (h).21— Thickness (th).71— Vertical angle of the balls (v_b).21— Vertical adjustment of the balls (z_b).1257— Positioning.
Obsidian