Compare commits

..
12 Commits
Author SHA1 Message Date
selimaj-dev e8f686b2d3 Merge pull request 'Remove the upgrade of opaque theme colors from before 0.1.3' (#14) from drop-color-upgrade into master
Reviewed-on: #14
2026-09-30 19:49:03 +00:00
selimaj-devandclaude df5afe99e3 Remove the upgrade of opaque theme colors from before 0.1.3
Configs saved before 0.1.3 (without a menu blur) had their preset
background and primary colors made translucent on load. It's no longer
needed, so Theme drops it, along with ConfigManager.isSaved, which only
it used.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 21:47:45 +02:00
selimaj-dev 653738568a Merge pull request 'Rename the Ref methods that share a name with vanilla methods' (#13) from explicit-refs into master
Reviewed-on: #13
2026-09-30 16:03:45 +00:00
selimaj-devandclaude a6a324a61a Rename the Ref methods that share a name with vanilla methods
WindowRef.getWidth/getHeight and ItemStackRef.isEmpty/getMaxDamage
match methods of the classes they're mixed into, so the mixins can't
implement them explicitly. With Mojang's names, Window.getWidth is
also the framebuffer's width rather than the window's. They're now
getWindowWidth/getWindowHeight and isEmptyStack/getMaxItemDamage
(with getItemDamage to match).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 17:42:48 +02:00
selimaj-dev b0d75af8c4 Merge pull request 'Fix the None cloak and reorder the sidebar and title dock' (#12) from release-fixes into master
Reviewed-on: #12
2026-09-29 16:34:48 +00:00
selimaj-devandclaude c973e053aa Open Saturn's settings from the title dock and put Saturn first
The Saturn logo in the title screen's dock now opens Saturn's settings instead of the shift menu,
and it comes first: Saturn, mods, cosmetics, then Minecraft's options last. The shift menu is still
on its key in game.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 18:34:24 +02:00
selimaj-devandclaude bbf6b88ed3 Put settings second and the HUD editor last in the sidebar
The order is now mods, settings, cosmetics, HUD editor.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 18:34:24 +02:00
selimaj-devandclaude ba71a5b838 Draw no cloak for "None" instead of the missing texture
"None" is the empty cloak id, but getCurrentCloakTexture still built textures/cloaks/.png from it, so
the renderer drew Minecraft's missing texture. It now returns null for an empty id and for any id
this version has no texture for, and the renderer already skips a null texture.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 18:34:24 +02:00
selimaj-dev 6d5df3057e Merge pull request 'Add seven community emotes and re-export the twerk for emotes 0.1.1' (#11) from new-emotes into master
Reviewed-on: #11
2026-09-29 16:02:00 +00:00
selimaj-devandclaude 2fceb58024 Add seven community emotes and re-export the twerk for emotes 0.1.1
Get the Griddy, Take the L, Dab, Wave, Salute, Shrug and 67, converted from Emotecraft's binary
files with the emotes repo's tools/emotecraft/convert.py. Their authors stay in each file. Their
Emotecraft bends play as the library's curved ones.

Emotes 0.1.1 stopped flipping the torso's bend, so the twerk is re-exported with its torso bends'
signs turned round. It looks the same as before. This needs Saturn on emotes 0.1.1, which the
saturnclient change pointing here does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 17:57:00 +02:00
selimaj-dev 7e98bbcd6c Merge pull request 'Add a twerk emote and drop the front flip' (#10) from twerk-emote into master
Reviewed-on: #10
2026-09-29 14:53:20 +00:00
selimaj-devandclaude 9ede612089 Add a twerk emote and drop the front flip
The twerk was measured from a 3D preview with the new emote capture tool, then made left/right
symmetric so it sways evenly instead of leaning to one side. The front flip is removed because it
plays wrongly with the new emote library.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-29 16:52:04 +02:00
19 changed files with 3841 additions and 751 deletions
@@ -1,7 +1,11 @@
package org.saturnclient.common.ref.game;
/**
* An item stack. Its methods are implemented in ItemStackMixin, so their names must not match any of
* ItemStack's own methods.
*/
public interface ItemStackRef {
public boolean isEmpty();
public int getMaxDamage();
public int getDamage();
public boolean isEmptyStack();
public int getMaxItemDamage();
public int getItemDamage();
}
@@ -1,9 +1,15 @@
package org.saturnclient.common.ref.render;
/**
* The game window. Its methods are implemented in WindowMixin, so their names must not match any of
* Window's own methods.
*/
public interface WindowRef {
public int getWidth();
/** The window's width in screen coordinates */
public int getWindowWidth();
public int getHeight();
/** The window's height in screen coordinates */
public int getWindowHeight();
public int getFramebufferWidth();
@@ -163,14 +163,6 @@ public class ConfigManager {
}
}
/**
* Whether the config file has a value for {@code name} in this namespace,
* which tells which version last saved it.
*/
public boolean isSaved(String name) {
return getSaved(name) != null;
}
private JsonNode getSaved(String name) {
JsonNode source = cachedJson != null ? cachedJson : loadAndCache();
if (source == null || !source.isObject())
@@ -81,29 +81,6 @@ public class Theme {
config.property("Widget Radius", WIDGET_RADIUS, "Corner rounding of buttons and cards");
config.property("Font", FONT, "Font of every Saturn screen");
if (!parent.isSaved(Config.MENU_BLUR)) {
upgradeOpaqueColors();
}
}
/**
* Before 0.1.3 panels and cards were made translucent in code, and the
* background and primary colors were saved fully opaque. Saved colors that
* are an old default or preset get the translucency the colors now carry
* themselves; colors the player picked are left as they are. Runs only on
* configs from older versions, so a preset color later set opaque on
* purpose stays opaque.
*/
private static void upgradeOpaqueColors() {
for (Preset preset : PRESETS) {
if (BACKGROUND.value == (preset.background() | 0xFF000000)) {
BACKGROUND.value = preset.background();
}
if (PRIMARY.value == (preset.primary() | 0xFF000000)) {
PRIMARY.value = preset.primary();
}
}
}
/**
@@ -38,7 +38,14 @@ public class Cloaks {
availableCloaks.add(0, "");
}
/**
* The cloak's texture, or null for no cloak ("", the "None" choice) and for a cloak this version
* has no texture for, which would otherwise draw as the missing texture.
*/
public static IdentifierRef getCurrentCloakTexture(String cloakName) {
if (cloakName == null || !Arrays.asList(ALL_CLOAKS).contains(cloakName)) {
return null;
}
if (Arrays.asList(ANIMATED_CLOAKS).contains(cloakName)) {
return IdentifierRef.ofSaturn("textures/cloaks/" + cloakName + ".gif");
} else {
@@ -17,7 +17,7 @@ import org.saturnclient.ui.Utils;
*/
public class Emotes {
private static final List<String> IDS = List.of("tpose", "back_flip", "facepalm", "cry", "giga_chad",
"front_flip");
"twerk", "get_the_griddy", "take_the_l", "dab", "wave", "salute", "shrug", "67");
private static final EmoteRegistry REGISTRY = new EmoteRegistry();
@@ -75,16 +75,16 @@ public class ArmorDisplayMod extends Mod implements HudMod {
int row = 0;
if (useMainHand.value && !mainHand.isEmpty()) {
if (useMainHand.value && !mainHand.isEmptyStack()) {
row = renderSlot(scope, mainHand, row);
}
if (!helmet.isEmpty())
if (!helmet.isEmptyStack())
row = renderSlot(scope, helmet, row);
if (!chestplate.isEmpty())
if (!chestplate.isEmptyStack())
row = renderSlot(scope, chestplate, row);
if (!leggings.isEmpty())
if (!leggings.isEmptyStack())
row = renderSlot(scope, leggings, row);
if (!boots.isEmpty())
if (!boots.isEmptyStack())
row = renderSlot(scope, boots, row);
}
@@ -94,8 +94,8 @@ public class ArmorDisplayMod extends Mod implements HudMod {
private int renderSlot(RenderScope scope, ItemStackRef item, int row) {
scope.drawItem(item, 0, 15 * row);
if (item.getMaxDamage() > 0) {
int remaining = item.getMaxDamage() - item.getDamage();
if (item.getMaxItemDamage() > 0) {
int remaining = item.getMaxItemDamage() - item.getItemDamage();
scope.drawText(0.5f, String.valueOf(remaining),
17, (15 * row) + 3,
layout.font.value, layout.fgColor.value);
@@ -22,9 +22,9 @@ public class Sidebar extends Element {
// Values for the constructor's `active`
public static final int MODS = 0;
public static final int COSMETICS = 1;
public static final int HUD_EDITOR = 2;
public static final int SETTINGS = 3;
public static final int SETTINGS = 1;
public static final int COSMETICS = 2;
public static final int HUD_EDITOR = 3;
private static final int LOGO = 32;
private static final int BUTTON = 44;
@@ -35,11 +35,12 @@ public class Sidebar extends Element {
private record Item(IdentifierRef icon, Runnable onClick) {
}
// In the order of the constants above
private final Item[] items = {
new Item(Textures.ICON_MODS, () -> Providers.saturn.getClient().setScreen(new ModMenu())),
new Item(Textures.ICON_SETTINGS, () -> Providers.saturn.getClient().setScreen(new ClientSettings())),
new Item(Textures.ICON_COSMETICS, () -> Providers.saturn.getClient().setScreen(new CosmeticsMenu())),
new Item(Textures.ICON_HUD_EDITOR, () -> Providers.saturn.getClient().setScreen(new HudEditor())),
new Item(Textures.ICON_SETTINGS, () -> Providers.saturn.getClient().setScreen(new ClientSettings())),
};
private final int active;
@@ -20,9 +20,9 @@ public class ImageTexture extends Element {
if (sprite.toString().endsWith(".svg")) {
MinecraftClientRef client = Providers.saturn.getClient();
int renderWidth = (int) (width * client.getWindow().getFramebufferWidth() / client.getWindow().getWidth());
int renderWidth = (int) (width * client.getWindow().getFramebufferWidth() / client.getWindow().getWindowWidth());
int renderHeight = (int) (height * client.getWindow().getFramebufferHeight()
/ client.getWindow().getHeight());
/ client.getWindow().getWindowHeight());
IdentifierRef pngId = SvgTexture.getSvg(sprite, renderWidth * 2, renderHeight * 2);
@@ -26,8 +26,8 @@ import org.saturnclient.ui.resources.Textures;
/**
* Saturn's title screen: the logo over the game's menus in the middle, the
* player and a quit button in the top corners, and along the bottom a dock of
* Saturn's screens, the shift menu and Minecraft's options, and the version.
* player and a quit button in the top corners, and along the bottom a dock
* (Saturn's settings, its mods and cosmetics, then Minecraft's options) and the version.
*/
public class TitleMenu extends SaturnScreen {
// The logo and wordmark as the shift menu has them: the wordmark over the logo's foot
@@ -106,12 +106,12 @@ public class TitleMenu extends SaturnScreen {
.position(width - TOP_EDGE - QUIT_SIZE, TOP_EDGE)
.animation(step(new SlideFade(AnimationConfig.mainMenu, 8), STEP_QUIT)));
// Along the bottom: the dock of Saturn's screens, the shift menu and Minecraft's options, and the version
// Along the bottom: the dock, Saturn first (its settings) and Minecraft's options last, and the version
Dock dock = new Dock(List.of(
new Dock.Item(Textures.LOGO, () -> Providers.saturn.getClient().setScreen(new ClientSettings())),
new Dock.Item(Textures.ICON_MODS, () -> Providers.saturn.getClient().setScreen(new ModMenu())),
new Dock.Item(Textures.ICON_COSMETICS,
() -> Providers.saturn.getClient().setScreen(new CosmeticsMenu())),
new Dock.Item(Textures.LOGO, () -> Providers.saturn.getClient().setScreen(new ShiftMenu())),
new Dock.Item(Textures.ICON_SETTINGS,
() -> Providers.saturn.getClient().setScreen(MinecraftScreen.Options))));
draw(dock.position((width - dock.width) / 2, height - EDGE - Dock.HEIGHT)
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,193 @@
{
"version": 3,
"name": "\u0414\u044d\u0431",
"description": "\u0414\u044d\u0431\u043d\u0438 \u0441\u043e \u0432\u0441\u0435\u043c \u0432\u043a\u0443\u0441\u043e\u043c",
"author": "SPEmotes",
"emote": {
"beginTick": 0,
"endTick": 30,
"stopTick": 31,
"isLoop": false,
"returnTick": 1,
"easeBeforeKeyframe": false,
"degrees": false,
"moves": [
{
"tick": 4,
"easing": "EASEINOUTQUAD",
"rightLeg": {
"x": -1.873698,
"y": 11.100854,
"z": 0.104908,
"pitch": -0.01179,
"yaw": 0.000183,
"roll": 0.037555
}
},
{
"tick": 7,
"easing": "EASEINOUTQUAD",
"rightArm": {
"x": -5.06384,
"y": 3.129459,
"z": -0.028821,
"pitch": 1.006445,
"yaw": 0.326442,
"roll": 1.238234
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": -1.859405,
"yaw": 0.56235,
"roll": -1.6982
}
},
{
"tick": 8,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.14541,
"yaw": 0.336522,
"roll": -0.066829
},
"body": {
"x": 0.0,
"y": 0.010776,
"z": 0.0,
"pitch": -0.007742,
"yaw": -0.304674,
"roll": -0.059173
},
"rightArm": {
"bend": -1.042365
},
"leftArm": {
"bend": -1.205889
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": -0.023581,
"yaw": 0.001468,
"roll": 0.075111
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": 0.025482,
"yaw": -0.467862,
"roll": 0.006087
}
},
{
"tick": 12,
"easing": "EASEINOUTQUAD",
"leftLeg": {
"x": 1.933101,
"y": 11.441392,
"z": -0.084124,
"pitch": 0.021479,
"yaw": -0.538523,
"roll": -0.038416
}
},
{
"tick": 16,
"easing": "EASEINOUTQUAD",
"body": {
"x": 0.0,
"y": 0.010776,
"z": 0.0,
"pitch": -0.043213,
"yaw": 0.303575,
"roll": -0.059152
},
"rightArm": {
"bend": -1.396377
},
"leftArm": {
"bend": 0.0
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": -0.018974,
"yaw": 0.303724,
"roll": 0.068059
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": 0.017477,
"yaw": -0.548618,
"roll": -0.082919
}
},
{
"tick": 18,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.291391,
"yaw": 0.542094,
"roll": -0.159259
},
"rightArm": {
"x": -5.06384,
"y": 3.129459,
"z": -0.028821,
"pitch": -1.265057,
"yaw": 0.037433,
"roll": 1.364253
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": -0.438223,
"yaw": -0.045192,
"roll": -1.798213
}
},
{
"tick": 21,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.291391,
"yaw": 0.542094,
"roll": -0.159259
},
"rightArm": {
"x": -5.06384,
"y": 3.129459,
"z": -0.028821,
"pitch": -1.265057,
"yaw": 0.037433,
"roll": 1.364253
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": -0.438223,
"yaw": -0.045192,
"roll": -1.798213
}
}
]
}
}
@@ -1,697 +0,0 @@
{
"version": 1,
"valid": true,
"name": "front_flip",
"description": "Parkour!!!!1",
"author": "DKinchik",
"emote": {
"beginTick": 0,
"endTick": 17,
"stopTick": 18,
"isLoop": false,
"returnTick": 1,
"nsfw": false,
"degrees": false,
"moves": [
{
"tick": 2,
"easing": "INOUTQUAD",
"head": {
"x": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"head": {
"x": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"head": {
"y": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"head": {
"y": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"head": {
"z": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"head": {
"z": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"head": {
"pitch": -0.0
}
},
{
"tick": 5,
"easing": "INOUTQUAD",
"head": {
"pitch": 0.7020477
}
},
{
"tick": 10,
"easing": "INOUTQUAD",
"head": {
"pitch": 0.7020477
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"head": {
"pitch": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"head": {
"yaw": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"head": {
"yaw": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"head": {
"roll": 0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"head": {
"roll": 0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightLeg": {
"x": -1.9
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightLeg": {
"x": -1.9
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightLeg": {
"y": 11.169379
}
},
{
"tick": 3,
"easing": "INOUTQUAD",
"rightLeg": {
"y": 12.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightLeg": {
"y": 12.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightLeg": {
"z": -0.39214998
}
},
{
"tick": 3,
"easing": "INOUTQUAD",
"rightLeg": {
"z": 0.1
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightLeg": {
"z": 0.1
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightLeg": {
"pitch": -0.0
}
},
{
"tick": 3,
"easing": "INOUTQUAD",
"rightLeg": {
"pitch": -0.0
}
},
{
"tick": 5,
"easing": "INOUTQUAD",
"rightLeg": {
"pitch": -1.9707682
}
},
{
"tick": 10,
"easing": "INOUTQUAD",
"rightLeg": {
"pitch": -1.9707682
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightLeg": {
"pitch": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightLeg": {
"yaw": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightLeg": {
"yaw": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightLeg": {
"roll": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightLeg": {
"roll": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightLeg": {
"bend": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightArm": {
"x": -5.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightArm": {
"x": -5.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightArm": {
"y": 2.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightArm": {
"y": 2.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightArm": {
"z": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightArm": {
"z": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightArm": {
"pitch": -0.0
}
},
{
"tick": 5,
"easing": "INOUTQUAD",
"rightArm": {
"pitch": -1.3665518
}
},
{
"tick": 10,
"easing": "INOUTQUAD",
"rightArm": {
"pitch": -1.3665518
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightArm": {
"pitch": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightArm": {
"yaw": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightArm": {
"yaw": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightArm": {
"roll": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"rightArm": {
"roll": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"rightArm": {
"bend": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftArm": {
"x": 5.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftArm": {
"x": 5.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftArm": {
"y": 2.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftArm": {
"y": 2.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftArm": {
"z": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftArm": {
"z": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftArm": {
"pitch": 0.0
}
},
{
"tick": 5,
"easing": "INOUTQUAD",
"leftArm": {
"pitch": -1.0793308
}
},
{
"tick": 10,
"easing": "INOUTQUAD",
"leftArm": {
"pitch": -1.0793308
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftArm": {
"pitch": 0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftArm": {
"yaw": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftArm": {
"yaw": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftArm": {
"roll": 0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftArm": {
"roll": 0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftArm": {
"bend": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftLeg": {
"x": 1.9
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftLeg": {
"x": 1.9
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftLeg": {
"y": 10.861001
}
},
{
"tick": 3,
"easing": "INOUTQUAD",
"leftLeg": {
"y": 12.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftLeg": {
"y": 12.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftLeg": {
"z": -0.5082285
}
},
{
"tick": 3,
"easing": "INOUTQUAD",
"leftLeg": {
"z": -0.1
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftLeg": {
"z": -0.1
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftLeg": {
"pitch": -0.0
}
},
{
"tick": 3,
"easing": "INOUTQUAD",
"leftLeg": {
"pitch": -0.0
}
},
{
"tick": 5,
"easing": "INOUTQUAD",
"leftLeg": {
"pitch": -1.9850811
}
},
{
"tick": 10,
"easing": "INOUTQUAD",
"leftLeg": {
"pitch": -1.9850811
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftLeg": {
"pitch": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftLeg": {
"yaw": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftLeg": {
"yaw": -0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftLeg": {
"roll": -0.0
}
},
{
"tick": 15,
"easing": "INOUTQUAD",
"leftLeg": {
"roll": 0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"leftLeg": {
"bend": -0.0
}
},
{
"tick": 2,
"easing": "INQUAD",
"body": {
"x": 0.0
}
},
{
"tick": 16,
"easing": "INQUAD",
"body": {
"x": 0.0
}
},
{
"tick": 2,
"easing": "INQUAD",
"body": {
"y": -0.061333913
}
},
{
"tick": 7,
"easing": "OUTQUAD",
"body": {
"y": 0.48852682
}
},
{
"tick": 15,
"easing": "CONSTANT",
"body": {
"y": 0.0
}
},
{
"tick": 16,
"easing": "INQUAD",
"body": {
"y": 0.0
}
},
{
"tick": 2,
"easing": "INQUAD",
"body": {
"z": -0.0
}
},
{
"tick": 16,
"easing": "INQUAD",
"body": {
"z": -0.0
}
},
{
"tick": 2,
"easing": "INQUAD",
"body": {
"pitch": 0.0
}
},
{
"tick": 7,
"easing": "OUTQUAD",
"body": {
"pitch": -2.8362873
}
},
{
"tick": 15,
"easing": "CONSTANT",
"body": {
"pitch": -6.2831855
}
},
{
"tick": 16,
"easing": "INQUAD",
"body": {
"pitch": 0.0
}
},
{
"tick": 2,
"easing": "INQUAD",
"body": {
"yaw": 0.0
}
},
{
"tick": 16,
"easing": "INQUAD",
"body": {
"yaw": 0.0
}
},
{
"tick": 2,
"easing": "INQUAD",
"body": {
"roll": -0.0
}
},
{
"tick": 16,
"easing": "INQUAD",
"body": {
"roll": 0.0
}
},
{
"tick": 2,
"easing": "INOUTQUAD",
"body": {
"bend": -0.0
}
}
]
}
}
@@ -0,0 +1,825 @@
{
"version": 3,
"name": "Get the Griddy",
"description": "fortnite battlepass",
"author": "SeroRonin",
"emote": {
"beginTick": 0,
"endTick": 91,
"stopTick": 91,
"isLoop": true,
"returnTick": 2,
"easeBeforeKeyframe": false,
"degrees": false,
"moves": [
{
"tick": 1,
"easing": "LINEAR",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.261799,
"yaw": 0.0,
"roll": 0.0
},
"rightArm": {
"pitch": -0.872665,
"yaw": -0.436332,
"roll": 0.349066
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": -0.523599,
"yaw": 0.0,
"roll": 0.0,
"bend": 0.436332
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": -0.174533,
"yaw": 0.0,
"roll": 0.0,
"bend": 0.523599
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": -0.872674,
"yaw": 0.436332,
"roll": -0.349066
},
"body": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.077608,
"yaw": 0.0,
"roll": 0.0
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 4,
"easing": "LINEAR",
"leftLeg": {
"pitch": -0.610865
}
},
{
"tick": 5,
"easing": "LINEAR",
"body": {
"x": 0.0,
"y": 0.0375,
"z": 0.0,
"pitch": 0.033951,
"yaw": 0.0,
"roll": 0.0
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 6,
"easing": "LINEAR",
"head": {
"pitch": 0.191986
},
"leftLeg": {
"bend": 0.959931
},
"rightLeg": {
"bend": 0.523599
}
},
{
"tick": 9,
"easing": "LINEAR",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.261799,
"yaw": 0.0,
"roll": 0.0
},
"rightArm": {
"pitch": 0.523599,
"yaw": -0.436332,
"roll": 0.226893
},
"leftLeg": {
"pitch": -0.178507,
"bend": 0.523599
},
"rightLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.52359,
"yaw": 0.436332,
"roll": -0.226893
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 12,
"easing": "LINEAR",
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": -0.610865,
"yaw": 0.0,
"roll": 0.0
},
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 13,
"easing": "LINEAR",
"head": {
"pitch": 0.191986
},
"leftLeg": {
"bend": 0.523599
},
"rightLeg": {
"bend": 0.959931
}
},
{
"tick": 16,
"easing": "LINEAR",
"head": {
"pitch": 0.261799,
"yaw": 0.0,
"roll": 0.0
},
"rightArm": {
"pitch": -0.872665,
"roll": 0.349066
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": -0.523599,
"yaw": 0.0,
"roll": 0.0,
"bend": 0.436332
},
"rightLeg": {
"pitch": -0.174533,
"bend": 0.523599
},
"leftArm": {
"pitch": -0.872674,
"roll": -0.349066
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 19,
"easing": "LINEAR",
"leftLeg": {
"pitch": -0.610865
}
},
{
"tick": 20,
"easing": "LINEAR",
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 21,
"easing": "LINEAR",
"leftLeg": {
"bend": 0.959931
},
"rightLeg": {
"bend": 0.523599
}
},
{
"tick": 24,
"easing": "LINEAR",
"head": {
"pitch": -0.416877,
"yaw": -0.519655,
"roll": 0.21801
},
"rightArm": {
"pitch": 0.523599,
"roll": 0.226893
},
"leftLeg": {
"pitch": -0.178507,
"bend": 0.523599
},
"rightLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"leftArm": {
"pitch": 0.52359,
"roll": -0.226893
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 27,
"easing": "LINEAR",
"rightLeg": {
"pitch": -0.610865
},
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 28,
"easing": "LINEAR",
"head": {
"pitch": -0.457451,
"roll": 0.21801
},
"leftLeg": {
"bend": 0.523599
},
"rightLeg": {
"bend": 0.959931
}
},
{
"tick": 31,
"easing": "LINEAR",
"head": {
"pitch": -0.416877,
"roll": 0.21801
},
"rightArm": {
"pitch": -0.872665,
"roll": 0.349066
},
"leftLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"rightLeg": {
"pitch": -0.174533,
"bend": 0.523599
},
"leftArm": {
"pitch": -0.872674,
"roll": -0.349066
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 34,
"easing": "LINEAR",
"leftLeg": {
"pitch": -0.610865
}
},
{
"tick": 35,
"easing": "LINEAR",
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 36,
"easing": "LINEAR",
"head": {
"pitch": -0.457451,
"roll": 0.21801
},
"leftLeg": {
"bend": 0.959931
},
"rightLeg": {
"bend": 0.523599
}
},
{
"tick": 39,
"easing": "LINEAR",
"head": {
"pitch": -0.416877,
"roll": 0.21801
},
"rightArm": {
"pitch": 0.523599,
"roll": 0.226893
},
"leftLeg": {
"pitch": -0.178507,
"bend": 0.523599
},
"rightLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"leftArm": {
"pitch": 0.52359,
"roll": -0.226893
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 42,
"easing": "LINEAR",
"rightLeg": {
"pitch": -0.610865
},
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 43,
"easing": "LINEAR",
"head": {
"pitch": -0.457451,
"roll": 0.21801
},
"leftLeg": {
"bend": 0.523599
},
"rightLeg": {
"bend": 0.959931
}
},
{
"tick": 46,
"easing": "LINEAR",
"head": {
"pitch": -0.416877,
"yaw": -0.519655,
"roll": 0.21801
},
"rightArm": {
"pitch": -0.872665,
"roll": 0.349066,
"bend": 0.0
},
"leftLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"rightLeg": {
"pitch": -0.174533,
"bend": 0.523599
},
"leftArm": {
"pitch": -0.872674,
"roll": -0.349066,
"bend": 0.0
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 49,
"easing": "LINEAR",
"leftLeg": {
"pitch": -0.610865
}
},
{
"tick": 50,
"easing": "LINEAR",
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 51,
"easing": "LINEAR",
"leftLeg": {
"bend": 0.959931
},
"rightLeg": {
"bend": 0.523599
}
},
{
"tick": 54,
"easing": "LINEAR",
"head": {
"pitch": -0.000488,
"yaw": -0.272548,
"roll": -0.027396
},
"rightArm": {
"pitch": 0.523599,
"roll": 0.226893,
"bend": -0.872665
},
"leftLeg": {
"pitch": -0.178507,
"bend": 0.523599
},
"rightLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"leftArm": {
"pitch": 0.52359,
"roll": -0.226893,
"bend": -0.872665
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 57,
"easing": "LINEAR",
"rightLeg": {
"pitch": -0.610865
},
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 58,
"easing": "LINEAR",
"leftLeg": {
"bend": 0.523599
},
"rightLeg": {
"bend": 0.959931
}
},
{
"tick": 61,
"easing": "LINEAR",
"rightArm": {
"pitch": -0.872665,
"yaw": -0.436332,
"roll": 0.349066
},
"leftLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"rightLeg": {
"pitch": -0.174533,
"bend": 0.523599
},
"leftArm": {
"pitch": -0.872674,
"yaw": 0.436332,
"roll": -0.349066
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 64,
"easing": "LINEAR",
"leftLeg": {
"pitch": -0.610865
}
},
{
"tick": 65,
"easing": "LINEAR",
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 66,
"easing": "LINEAR",
"leftLeg": {
"bend": 0.959931
},
"rightLeg": {
"bend": 0.523599
}
},
{
"tick": 69,
"easing": "LINEAR",
"head": {
"pitch": -0.523599,
"yaw": 0.0,
"roll": 0.0
},
"rightArm": {
"pitch": -2.356194,
"yaw": 0.087266,
"roll": 0.523599
},
"leftLeg": {
"pitch": -0.178507,
"bend": 0.523599
},
"rightLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"leftArm": {
"pitch": -2.338528,
"yaw": -0.087266,
"roll": -0.523599
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 72,
"easing": "LINEAR",
"rightLeg": {
"pitch": -0.610865
},
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 73,
"easing": "LINEAR",
"leftLeg": {
"bend": 0.523599
},
"rightLeg": {
"bend": 0.959931
}
},
{
"tick": 76,
"easing": "LINEAR",
"rightArm": {
"bend": -0.959931
},
"leftLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"rightLeg": {
"pitch": -0.174533,
"bend": 0.523599
},
"leftArm": {
"bend": -0.959931
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 79,
"easing": "LINEAR",
"leftLeg": {
"pitch": -0.610865
}
},
{
"tick": 80,
"easing": "LINEAR",
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 81,
"easing": "LINEAR",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": -0.523599,
"yaw": 0.0,
"roll": 0.0
},
"rightArm": {
"pitch": -2.181662,
"yaw": 0.0,
"roll": 0.436332
},
"leftLeg": {
"bend": 0.959931
},
"rightLeg": {
"bend": 0.523599
},
"leftArm": {
"pitch": -2.185317,
"yaw": 0.0,
"roll": -0.436332
}
},
{
"tick": 84,
"easing": "LINEAR",
"leftLeg": {
"pitch": -0.178507,
"bend": 0.523599
},
"rightLeg": {
"pitch": -0.523599,
"bend": 0.436332
},
"body": {
"y": 0.0,
"pitch": 0.077608
},
"torso": {
"bend": 0.395397
}
},
{
"tick": 87,
"easing": "LINEAR",
"rightLeg": {
"pitch": -0.610865
},
"body": {
"y": 0.0375,
"pitch": 0.033951
},
"torso": {
"bend": 0.377793
}
},
{
"tick": 88,
"easing": "LINEAR",
"leftLeg": {
"bend": 0.523599
},
"rightLeg": {
"bend": 0.959931
}
},
{
"tick": 91,
"easing": "LINEAR",
"head": {
"pitch": 0.261799
},
"rightArm": {
"pitch": -0.872665,
"yaw": -0.436332,
"roll": 0.349066,
"bend": 0.0
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": -0.523599,
"yaw": 0.0,
"roll": 0.0,
"bend": 0.436332
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": -0.174533,
"yaw": 0.0,
"roll": 0.0,
"bend": 0.523599
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": -0.872674,
"yaw": 0.436332,
"roll": -0.349066,
"bend": 0.0
},
"body": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.077608,
"yaw": 0.0,
"roll": 0.0
},
"torso": {
"bend": 0.395397
}
}
]
}
}
@@ -0,0 +1,121 @@
{
"version": 3,
"name": "Salute",
"description": "Hand behind back",
"author": "Wah0o",
"emote": {
"beginTick": 0,
"endTick": 30,
"stopTick": 30,
"isLoop": true,
"returnTick": 12,
"easeBeforeKeyframe": false,
"degrees": false,
"moves": [
{
"tick": 10,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"body": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"rightArm": {
"x": -5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.484846,
"yaw": 0.0,
"roll": -0.576996
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": -2.604544,
"yaw": 0.0,
"roll": -0.400639
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
}
},
{
"tick": 30,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"body": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"rightArm": {
"x": -5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.484846,
"yaw": 0.0,
"roll": -0.576996
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": -2.604544,
"yaw": 0.0,
"roll": -0.400639
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
}
}
]
}
}
@@ -0,0 +1,90 @@
{
"version": 3,
"name": "Shrug",
"description": "don't care",
"author": "Wah0o",
"emote": {
"beginTick": 0,
"endTick": 30,
"stopTick": 31,
"isLoop": false,
"returnTick": 1,
"easeBeforeKeyframe": false,
"degrees": false,
"moves": [
{
"tick": 10,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.537013,
"roll": 0.0
}
},
{
"tick": 20,
"easing": "EASEINOUTQUAD",
"head": {
"yaw": -0.449322
},
"rightArm": {
"x": -5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
}
},
{
"tick": 25,
"easing": "EASEINOUTQUAD",
"rightArm": {
"y": 0.673667
},
"leftArm": {
"y": 0.738915
}
},
{
"tick": 30,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"rightArm": {
"x": -5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
}
}
]
}
}
@@ -0,0 +1,307 @@
{
"version": 3,
"name": "Take The L",
"description": "Savor the W",
"author": "Landro",
"emote": {
"beginTick": 0,
"endTick": 30,
"stopTick": 30,
"isLoop": true,
"returnTick": 10,
"easeBeforeKeyframe": false,
"degrees": false,
"moves": [
{
"tick": 5,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"body": {
"y": 0.25,
"roll": 0.0
},
"leftArm": {
"x": 5.76,
"y": 3.28,
"z": -0.64,
"pitch": -1.294932,
"yaw": 0.991577,
"roll": -1.205874,
"bend": -1.057819
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": 0.0,
"yaw": 0.261799,
"roll": 0.0,
"bend": 0.0
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": 0.0,
"yaw": -0.523599,
"roll": -0.785398
}
},
{
"tick": 8,
"easing": "EASEINOUTQUAD",
"leftLeg": {
"x": 2.9,
"y": 11.0,
"z": -1.1,
"yaw": -0.959931,
"roll": -1.396263,
"bend": 0.785398
}
},
{
"tick": 10,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.030844,
"yaw": 0.0,
"roll": -0.059719
},
"body": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": -0.087266
},
"rightArm": {
"x": -7.0,
"y": -2.0,
"z": -2.0,
"pitch": -1.416631,
"yaw": -0.785398,
"roll": 4.110391,
"bend": 1.308997
},
"leftArm": {
"x": 5.76,
"y": 3.28,
"z": -0.64,
"pitch": -1.294932,
"yaw": 0.991577,
"roll": -1.205874,
"bend": -1.057819
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": -0.9,
"pitch": -0.174533,
"yaw": 0.261799,
"roll": 0.174533,
"bend": 0.261799
},
"leftLeg": {
"x": 2.9,
"y": 11.0,
"z": -1.1,
"pitch": 0.0,
"yaw": -0.959931,
"roll": -1.570796,
"bend": 0.0
}
},
{
"tick": 12,
"easing": "EASEINOUTQUAD",
"leftLeg": {
"bend": 0.785398
}
},
{
"tick": 15,
"easing": "EASEINOUTQUAD",
"head": {
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"body": {
"y": 0.25,
"roll": 0.0
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": 0.0,
"yaw": 0.261799,
"roll": 0.0,
"bend": 0.0
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": 0.0,
"yaw": -0.261799,
"roll": 0.0,
"bend": 0.0
}
},
{
"tick": 18,
"easing": "EASEINOUTQUAD",
"rightLeg": {
"x": -2.9,
"y": 11.0,
"z": -0.9,
"yaw": 0.959931,
"roll": 1.396263,
"bend": 0.785398
}
},
{
"tick": 20,
"easing": "EASEINOUTQUAD",
"head": {
"pitch": 0.105365,
"yaw": 0.000794,
"roll": 0.055846
},
"body": {
"y": 0.0,
"roll": 0.087266
},
"rightArm": {
"pitch": -1.132143
},
"rightLeg": {
"x": -2.9,
"y": 11.0,
"z": -0.9,
"yaw": 0.959931,
"roll": 1.570796,
"bend": 0.0
},
"leftLeg": {
"pitch": -0.174533,
"roll": -0.174533,
"bend": 0.261799
}
},
{
"tick": 22,
"easing": "EASEINOUTQUAD",
"rightLeg": {
"bend": 0.785398
}
},
{
"tick": 25,
"easing": "EASEINOUTQUAD",
"head": {
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"body": {
"y": 0.25
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": 0.0,
"yaw": 0.261799,
"roll": 0.0,
"bend": 0.0
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": 0.0,
"yaw": -0.261799,
"roll": 0.0,
"bend": 0.0
}
},
{
"tick": 28,
"easing": "EASEINOUTQUAD",
"leftLeg": {
"x": 2.9,
"y": 11.0,
"z": -1.1,
"yaw": -0.959931,
"roll": -1.396263,
"bend": 0.785398
}
},
{
"tick": 30,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.030844,
"yaw": 0.0,
"roll": -0.059719
},
"body": {
"y": 0.0,
"roll": -0.087266
},
"rightArm": {
"x": -7.0,
"y": -2.0,
"z": -2.0,
"pitch": -1.416631,
"yaw": -0.785398,
"roll": 4.110391,
"bend": 1.308997
},
"leftArm": {
"x": 5.76,
"y": 3.28,
"z": -0.64,
"pitch": -1.294932,
"yaw": 0.991577,
"roll": -1.205874,
"bend": -1.057819
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": -0.9,
"pitch": -0.174533,
"yaw": 0.261799,
"roll": 0.174533,
"bend": 0.261799
},
"leftLeg": {
"x": 2.9,
"y": 11.0,
"z": -1.1,
"pitch": 0.0,
"yaw": -0.959931,
"roll": -1.570796,
"bend": 0.0
}
}
]
}
}
@@ -0,0 +1,685 @@
{
"version": 3,
"name": "Twerk",
"description": "Hips back, and bounce",
"author": "Saturn Client",
"emote": {
"degrees": true,
"isLoop": true,
"returnTick": 0,
"endTick": 12,
"stopTick": 13,
"moves": [
{
"tick": 0,
"easing": "LINEAR",
"body": {
"x": -0.0,
"y": 0.0637
},
"head": {
"x": 0.1873,
"y": 7.6654,
"z": -3.9561,
"pitch": 28.4994,
"yaw": 0.5013,
"roll": -0.9013
},
"torso": {
"x": 0.1873,
"y": 7.6654,
"z": -3.9561,
"pitch": 43.8857,
"yaw": -0.2748,
"roll": -0.5704,
"bend": 32.4225,
"axis": 178.4861
},
"rightArm": {
"x": -4.8056,
"y": 9.1559,
"z": -2.5937,
"pitch": 41.2104,
"yaw": 11.1599,
"roll": 11.5835,
"bend": -28.9106,
"axis": -6.4245
},
"leftArm": {
"x": 5.1932,
"y": 9.0568,
"z": -2.5457,
"pitch": 41.2134,
"yaw": -10.0744,
"roll": -11.3678,
"bend": -34.2847,
"axis": 3.7104
},
"rightLeg": {
"x": -1.6738,
"y": 16.311,
"z": 4.4622,
"pitch": -81.0086,
"yaw": 25.937,
"roll": 11.6147,
"bend": -106.5341,
"axis": 178.6748
},
"leftLeg": {
"x": 2.1262,
"y": 16.311,
"z": 4.4622,
"pitch": -80.1541,
"yaw": -23.1741,
"roll": -15.9396,
"bend": -109.5512,
"axis": 186.6826
}
},
{
"tick": 1,
"easing": "LINEAR",
"head": {
"y": 7.3213,
"z": -3.9546
},
"torso": {
"y": 7.3213,
"z": -3.9546,
"pitch": 44.2163,
"roll": -1.2208,
"bend": 31.983
},
"rightArm": {
"y": 8.8595,
"z": -2.4569,
"pitch": 40.8328,
"roll": 6.2457,
"bend": -30.0698,
"axis": -6.2466
},
"leftArm": {
"y": 8.6462,
"z": -2.6643,
"pitch": 39.718,
"roll": -11.4772,
"bend": -31.5341,
"axis": 5.9068
},
"rightLeg": {
"y": 15.9102,
"pitch": -75.926,
"yaw": 24.5861,
"roll": 13.5142,
"bend": -102.1127
},
"leftLeg": {
"y": 15.9102,
"pitch": -75.5106,
"yaw": -27.5028,
"roll": -13.7351,
"bend": -102.8428,
"axis": 189.6313
}
},
{
"tick": 2,
"easing": "LINEAR",
"head": {
"x": -0.8055,
"y": 8.1689
},
"torso": {
"x": -0.8055,
"y": 8.1689,
"bend": 38.1002
},
"rightArm": {
"x": -5.6879,
"y": 9.7845,
"axis": -3.7942
},
"leftArm": {
"x": 4.2976,
"y": 9.2523,
"pitch": 44.6401,
"yaw": -6.835,
"roll": -16.9446,
"bend": -32.4677
},
"rightLeg": {
"y": 16.2659,
"pitch": -78.5245,
"yaw": 20.2182,
"roll": 19.5894,
"bend": -107.209
},
"leftLeg": {
"y": 16.2659,
"pitch": -79.0541,
"bend": -104.5866
}
},
{
"tick": 3,
"easing": "LINEAR",
"head": {
"x": -1.5256,
"y": 9.7364,
"z": -4.854,
"pitch": 34.1426
},
"torso": {
"x": -1.5256,
"y": 9.7364,
"z": -4.854,
"pitch": 51.4994,
"roll": -5.723,
"bend": 46.2958,
"axis": 171.0835
},
"rightArm": {
"x": -6.3053,
"y": 11.4659,
"z": -3.0779,
"pitch": 49.8778,
"yaw": 10.9541,
"roll": 9.4174,
"bend": -29.3297
},
"leftArm": {
"x": 3.6347,
"y": 10.4699,
"z": -3.5025,
"pitch": 51.8029,
"roll": -24.6351,
"axis": 3.6087
},
"rightLeg": {
"z": 4.6288,
"yaw": 18.5052,
"roll": 21.802,
"bend": -116.6488,
"axis": 171.6123
},
"leftLeg": {
"z": 4.6288,
"pitch": -87.1428,
"yaw": -23.4405,
"axis": 180.9108
}
},
{
"tick": 4,
"easing": "LINEAR",
"head": {
"x": -1.8731,
"y": 10.6957,
"z": -5.0099,
"pitch": 33.2442,
"yaw": 3.9201,
"roll": -6.0227
},
"torso": {
"x": -1.8731,
"y": 10.6957,
"z": -5.0099,
"pitch": 52.4228,
"yaw": 3.8511,
"roll": -5.9949,
"bend": 49.0159,
"axis": 172.2434
},
"rightArm": {
"x": -6.5993,
"y": 12.418,
"z": -3.0931,
"pitch": 51.1349,
"yaw": 8.0105,
"axis": -8.2902
},
"leftArm": {
"x": 3.3186,
"y": 11.3757,
"z": -3.7647,
"pitch": 53.8923,
"yaw": -6.0212,
"roll": -27.197,
"bend": -39.6549,
"axis": 5.9148
},
"rightLeg": {
"x": -2.3763,
"y": 17.9026,
"pitch": -93.1557,
"bend": -122.9048,
"axis": 170.6601
},
"leftLeg": {
"x": 1.4237,
"y": 17.9026,
"pitch": -93.1369,
"bend": -121.5363
}
},
{
"tick": 5,
"easing": "LINEAR",
"head": {
"x": -1.4047,
"y": 9.9389,
"pitch": 28.9007,
"yaw": 3.2148
},
"torso": {
"x": -1.4047,
"y": 9.9389,
"yaw": 3.7305,
"bend": 43.4407
},
"rightArm": {
"x": -6.2198,
"y": 11.5114,
"pitch": 48.4737,
"yaw": 7.9932,
"bend": -38.6811
},
"leftArm": {
"x": 3.7446,
"y": 10.9738,
"z": -3.474,
"roll": -23.505,
"bend": -36.714
},
"rightLeg": {
"y": 17.761,
"pitch": -92.4411,
"roll": 20.4558,
"bend": -121.9263
},
"leftLeg": {
"y": 17.761,
"pitch": -92.379,
"yaw": -26.2774,
"roll": -17.4598,
"bend": -120.6269,
"axis": 184.7551
}
},
{
"tick": 6,
"easing": "LINEAR",
"head": {
"x": -0.5445,
"y": 8.2919,
"z": -4.1286,
"pitch": 27.4449
},
"torso": {
"x": -0.5445,
"y": 8.2919,
"z": -4.1286,
"pitch": 44.9959,
"roll": -0.1331,
"bend": 35.1937
},
"rightArm": {
"x": -5.5003,
"y": 9.7189,
"z": -2.5814,
"yaw": 10.117,
"roll": 11.6263,
"bend": -36.6136,
"axis": -2.9818
},
"leftArm": {
"x": 4.4989,
"y": 9.6953,
"z": -2.8477,
"pitch": 43.3362,
"yaw": -10.8396,
"bend": -30.325
},
"rightLeg": {
"y": 16.7832,
"z": 4.4556,
"yaw": 20.579,
"axis": 174.8949
},
"leftLeg": {
"y": 16.7832,
"z": 4.4556,
"roll": -13.3635,
"axis": 181.9013
}
},
{
"tick": 7,
"easing": "LINEAR",
"head": {
"y": 7.335,
"z": -3.8955,
"yaw": -1.2543,
"roll": 1.9551
},
"torso": {
"y": 7.335,
"z": -3.8955,
"pitch": 43.6308,
"yaw": -0.6674,
"bend": 31.2968
},
"rightArm": {
"y": 8.7024,
"z": -2.5743,
"pitch": 39.7281,
"roll": 11.0094,
"bend": -32.4336,
"axis": -5.1024
},
"leftArm": {
"y": 8.8585,
"z": -2.4579,
"pitch": 40.3248,
"roll": -8.1427,
"bend": -29.1361,
"axis": 6.7593
},
"rightLeg": {
"x": -2.0654,
"y": 16.0076,
"pitch": -76.8625,
"yaw": 25.941,
"roll": 14.4188,
"bend": -105.4043,
"axis": 171.2628
},
"leftLeg": {
"x": 1.7346,
"y": 16.0076,
"pitch": -77.6408,
"yaw": -25.7135,
"roll": -11.5799,
"bend": -103.133,
"axis": 182.0395
}
},
{
"tick": 8,
"easing": "LINEAR",
"head": {
"x": 0.5149,
"y": 7.6114,
"z": -4.1189
},
"torso": {
"x": 0.5149,
"y": 7.6114,
"z": -4.1189,
"pitch": 45.5567,
"roll": 1.9,
"bend": 34.3817,
"axis": 185.8808
},
"rightArm": {
"x": -4.5647,
"y": 8.8445,
"z": -2.8129,
"pitch": 41.452,
"yaw": 7.1089,
"roll": 13.4728,
"bend": -31.5905,
"axis": -5.4945
},
"leftArm": {
"y": 9.1765,
"z": -2.5698,
"pitch": 42.5806,
"roll": -6.1009,
"bend": -30.5432
},
"rightLeg": {
"y": 16.0062,
"pitch": -76.3427,
"yaw": 27.2082,
"roll": 13.8298,
"bend": -102.5222,
"axis": 171.6254
},
"leftLeg": {
"y": 16.0062,
"pitch": -76.2516,
"bend": -103.6369
}
},
{
"tick": 9,
"easing": "LINEAR",
"torso": {
"axis": 188.354
},
"rightArm": {
"y": 9.8245,
"axis": -3.4265
},
"leftArm": {
"yaw": -11.6764,
"roll": -8.5612,
"bend": -29.2921,
"axis": 3.7762
},
"rightLeg": {
"y": 16.6561,
"z": 4.6178,
"yaw": 23.9791,
"bend": -108.5895,
"axis": 177.6256
},
"leftLeg": {
"y": 16.6561,
"z": 4.6178,
"pitch": -82.2218,
"yaw": -18.7129,
"roll": -21.3727
}
},
{
"tick": 10,
"easing": "LINEAR",
"head": {
"x": 1.7868,
"y": 10.3947,
"z": -4.9963,
"pitch": 34.2919,
"roll": 5.9583
},
"torso": {
"x": 1.7868,
"y": 10.3947,
"z": -4.9963,
"pitch": 52.5511,
"roll": 6.3235,
"bend": 48.7324,
"axis": 188.7341
},
"rightArm": {
"x": -3.3947,
"y": 11.0427,
"z": -3.69,
"pitch": 53.7658,
"yaw": 6.158,
"roll": 26.7903,
"bend": -38.4178
},
"leftArm": {
"x": 6.5243,
"y": 12.1424,
"z": -3.1327,
"pitch": 51.0522,
"bend": -30.9765,
"axis": 7.1451
},
"rightLeg": {
"x": -1.4452,
"y": 17.5819,
"pitch": -90.7807,
"bend": -118.2986,
"axis": 178.4542
},
"leftLeg": {
"x": 2.3548,
"y": 17.5819,
"pitch": -90.4714,
"roll": -21.4522,
"bend": -120.5366,
"axis": 189.2421
}
},
{
"tick": 11,
"easing": "LINEAR",
"head": {
"x": 1.7369,
"y": 10.5273,
"z": -4.8864,
"yaw": -3.8864,
"roll": 5.3801
},
"torso": {
"x": 1.7369,
"y": 10.5273,
"z": -4.8864,
"pitch": 51.13,
"yaw": -4.0928,
"bend": 47.0625
},
"rightArm": {
"x": -3.4451,
"y": 11.352,
"z": -3.6905,
"pitch": 52.2992,
"yaw": 6.6309,
"roll": 26.0007,
"bend": -39.1249,
"axis": -6.422
},
"leftArm": {
"x": 6.4911,
"y": 12.1855,
"pitch": 50.212,
"yaw": -7.4219,
"bend": -36.9681,
"axis": 7.7245
},
"rightLeg": {
"y": 17.9759,
"pitch": -93.724,
"yaw": 26.1749,
"roll": 17.9629,
"bend": -122.4062,
"axis": 175.2086
},
"leftLeg": {
"y": 17.9759,
"pitch": -93.8978,
"bend": -123.3927,
"axis": 188.3051
}
},
{
"tick": 12,
"easing": "LINEAR",
"head": {
"pitch": 27.4876
},
"rightArm": {
"y": 10.3597,
"roll": 19.9926
},
"leftArm": {
"bend": -38.4293,
"axis": 3.7703
},
"rightLeg": {
"y": 17.3175,
"pitch": -89.3376,
"bend": -116.6299
},
"leftLeg": {
"y": 17.3175,
"pitch": -89.0719,
"yaw": -19.2542,
"roll": -19.5116,
"bend": -118.7259,
"axis": 185.0963
}
},
{
"tick": 13,
"easing": "LINEAR",
"body": {
"x": -0.0,
"y": 0.0637
},
"head": {
"x": 0.1873,
"y": 7.6654,
"z": -3.9561,
"pitch": 28.4994,
"yaw": 0.5013,
"roll": -0.9013
},
"torso": {
"x": 0.1873,
"y": 7.6654,
"z": -3.9561,
"pitch": 43.8857,
"yaw": -0.2748,
"roll": -0.5704,
"bend": 32.4225,
"axis": 178.4861
},
"rightArm": {
"x": -4.8056,
"y": 9.1559,
"z": -2.5937,
"pitch": 41.2104,
"yaw": 11.1599,
"roll": 11.5835,
"bend": -28.9106,
"axis": -6.4245
},
"leftArm": {
"x": 5.1932,
"y": 9.0568,
"z": -2.5457,
"pitch": 41.2134,
"yaw": -10.0744,
"roll": -11.3678,
"bend": -34.2847,
"axis": 3.7104
},
"rightLeg": {
"x": -1.6738,
"y": 16.311,
"z": 4.4622,
"pitch": -81.0086,
"yaw": 25.937,
"roll": 11.6147,
"bend": -106.5341,
"axis": 178.6748
},
"leftLeg": {
"x": 2.1262,
"y": 16.311,
"z": 4.4622,
"pitch": -80.1541,
"yaw": -23.1741,
"roll": -15.9396,
"bend": -109.5512,
"axis": 186.6826
}
}
]
}
}
@@ -0,0 +1,353 @@
{
"version": 3,
"name": "smooth wave",
"description": "my first animation",
"author": "operatordoge739",
"emote": {
"beginTick": 0,
"endTick": 80,
"stopTick": 81,
"isLoop": false,
"returnTick": 1,
"easeBeforeKeyframe": false,
"degrees": false,
"moves": [
{
"tick": 8,
"easing": "EASEINOUTQUAD",
"body": {
"pitch": -0.040079,
"yaw": -0.062839,
"roll": 0.013404
}
},
{
"tick": 16,
"easing": "EASEINOUTQUAD",
"head": {
"pitch": 0.079561,
"yaw": 0.00633,
"roll": 0.104675
},
"body": {
"pitch": 0.015338,
"yaw": -0.101444,
"roll": 0.071169
},
"rightArm": {
"x": -5.642361,
"y": 3.445788,
"z": -0.219398,
"pitch": -2.739643,
"yaw": 1.23244,
"roll": 0.274965
},
"leftArm": {
"x": 5.348845,
"y": 2.06144,
"z": 0.456518,
"pitch": -0.071698,
"yaw": -0.032049,
"roll": -0.245309
},
"rightLeg": {
"x": -2.024828,
"y": 12.367789,
"z": 0.062098,
"pitch": 0.005119,
"yaw": 0.188187,
"roll": 0.013892
},
"leftLeg": {
"pitch": -0.015376,
"yaw": -0.018557,
"roll": -0.147605
}
},
{
"tick": 23,
"easing": "EASEINOUTQUAD",
"body": {
"pitch": 0.015075,
"yaw": -0.096037,
"roll": 0.011298
},
"rightArm": {
"x": -5.569975,
"y": 3.783614,
"z": -0.392365,
"pitch": -2.998378,
"yaw": 0.910442,
"roll": -0.644675
},
"rightLeg": {
"x": -2.022849,
"y": 12.008524,
"z": 0.109452,
"pitch": 0.007948,
"yaw": 0.194292,
"roll": 0.061405
},
"leftLeg": {
"x": 1.828612,
"y": 11.783937,
"z": -0.067588
}
},
{
"tick": 25,
"easing": "EASEINOUTQUAD",
"head": {
"pitch": 0.03656,
"yaw": -0.056306,
"roll": -0.010938
}
},
{
"tick": 26,
"easing": "EASEINOUTQUAD",
"leftArm": {
"x": 5.232569,
"y": 2.037472,
"z": 0.40348,
"pitch": -0.120718,
"yaw": -0.007399,
"roll": -0.1239
}
},
{
"tick": 30,
"easing": "EASEINOUTQUAD",
"body": {
"pitch": 0.019292,
"yaw": -0.103782,
"roll": 0.055881
},
"rightArm": {
"pitch": -2.902291,
"yaw": 1.150272,
"roll": -0.061632
}
},
{
"tick": 31,
"easing": "EASEINOUTQUAD",
"rightLeg": {
"x": -1.991897,
"y": 12.157447,
"z": 0.059089,
"pitch": 0.005119,
"yaw": 0.188187,
"roll": 0.013892
},
"leftLeg": {
"pitch": -0.015376,
"yaw": -0.018557,
"roll": -0.147605
}
},
{
"tick": 32,
"easing": "EASEINOUTQUAD",
"head": {
"pitch": 0.075163,
"yaw": -0.055531,
"roll": -0.039248
}
},
{
"tick": 36,
"easing": "EASEINOUTQUAD",
"leftArm": {
"x": 5.232738,
"y": 2.536962,
"z": 0.337457,
"pitch": -0.123332,
"yaw": -0.017768,
"roll": -0.198156
}
},
{
"tick": 37,
"easing": "EASEINOUTQUAD",
"rightArm": {
"pitch": -2.802795,
"yaw": 1.020531,
"roll": -0.376307
}
},
{
"tick": 39,
"easing": "EASEINOUTQUAD",
"body": {
"pitch": 0.01081,
"yaw": -0.089193,
"roll": 0.004038
}
},
{
"tick": 41,
"easing": "EASEINOUTQUAD",
"head": {
"pitch": 0.10722,
"yaw": -0.023033,
"roll": 0.072739
}
},
{
"tick": 44,
"easing": "EASEINOUTQUAD",
"leftLeg": {
"x": 2.093371,
"y": 12.180333,
"z": -0.403448,
"pitch": 0.017084,
"yaw": -0.010917,
"roll": -0.023916
}
},
{
"tick": 46,
"easing": "EASEINOUTQUAD",
"leftArm": {
"x": 5.094209,
"y": 2.963737,
"z": 0.290066,
"pitch": -0.130177,
"yaw": 0.00407,
"roll": -0.014502
}
},
{
"tick": 49,
"easing": "EASEINOUTQUAD",
"body": {
"pitch": -0.035429,
"yaw": -0.084483,
"roll": 0.015859
}
},
{
"tick": 56,
"easing": "EASEINOUTQUAD",
"head": {
"x": 0.0,
"y": 0.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
}
},
{
"tick": 57,
"easing": "EASEINOUTQUAD",
"body": {
"pitch": 0.015473,
"yaw": -0.095783,
"roll": 0.000252
}
},
{
"tick": 59,
"easing": "EASEINOUTQUAD",
"leftArm": {
"x": 5.211452,
"y": 2.287216,
"z": 0.189115,
"pitch": 0.007903,
"yaw": -0.010692,
"roll": -0.024953
}
},
{
"tick": 60,
"easing": "EASEINOUTQUAD",
"rightArm": {
"x": -5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.093257,
"yaw": 0.058088,
"roll": 0.082813
}
},
{
"tick": 68,
"easing": "EASEINOUTQUAD",
"rightArm": {
"x": -5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
},
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": 0.000513,
"yaw": 0.10914,
"roll": -0.004835
},
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": 0.000177,
"yaw": -0.167171,
"roll": -0.002612
}
},
{
"tick": 72,
"easing": "EASEINOUTQUAD",
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.053822,
"yaw": -0.009281,
"roll": -0.012456
}
},
{
"tick": 77,
"easing": "EASEINOUTQUAD",
"leftLeg": {
"x": 1.9,
"y": 12.0,
"z": -0.1,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
}
},
{
"tick": 78,
"easing": "EASEINOUTQUAD",
"leftArm": {
"x": 5.0,
"y": 2.0,
"z": 0.0,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
}
},
{
"tick": 80,
"easing": "EASEINOUTQUAD",
"rightLeg": {
"x": -1.9,
"y": 12.0,
"z": 0.1,
"pitch": 0.0,
"yaw": 0.0,
"roll": 0.0
}
}
]
}
}