From 4876dba946c7f0096f44646c60b62f5134a4c15b Mon Sep 17 00:00:00 2001 From: eCode Date: Sat, 3 Jun 2023 13:05:21 -0300 Subject: [PATCH] feat: add support for pixijs --- .gitignore | 1 + spine-ts/build.sh | 1 + spine-ts/package-lock.json | 239 +- spine-ts/package.json | 19 +- spine-ts/spine-pixi/README.md | 3 + .../example/assets/spineboy-pro.json | 8707 +++++++++++++++++ .../example/assets/spineboy-pro.skel | Bin 0 -> 67563 bytes .../spine-pixi/example/assets/spineboy.atlas | 101 + .../spine-pixi/example/assets/spineboy.png | Bin 0 -> 244844 bytes spine-ts/spine-pixi/example/index.html | 136 + spine-ts/spine-pixi/package.json | 43 + spine-ts/spine-pixi/src/DarkSlotMesh.ts | 88 + spine-ts/spine-pixi/src/SlotMesh.ts | 89 + spine-ts/spine-pixi/src/Spine.ts | 407 + spine-ts/spine-pixi/src/SpineDebugRenderer.ts | 543 + spine-ts/spine-pixi/src/SpineTexture.ts | 109 + spine-ts/spine-pixi/src/assets/atlasLoader.ts | 93 + .../spine-pixi/src/assets/skeletonLoader.ts | 45 + .../src/darkTintMesh/DarkTintBatchGeom.ts | 32 + .../src/darkTintMesh/DarkTintGeom.ts | 23 + .../src/darkTintMesh/DarkTintMaterial.ts | 175 + .../src/darkTintMesh/DarkTintMesh.ts | 62 + .../src/darkTintMesh/DarkTintRenderer.ts | 90 + spine-ts/spine-pixi/src/index.ts | 18 + spine-ts/spine-pixi/src/require-shim.ts | 43 + spine-ts/spine-pixi/tsconfig.json | 24 + spine-ts/tsconfig.json | 3 + 27 files changed, 11087 insertions(+), 7 deletions(-) create mode 100644 spine-ts/spine-pixi/README.md create mode 100644 spine-ts/spine-pixi/example/assets/spineboy-pro.json create mode 100644 spine-ts/spine-pixi/example/assets/spineboy-pro.skel create mode 100644 spine-ts/spine-pixi/example/assets/spineboy.atlas create mode 100644 spine-ts/spine-pixi/example/assets/spineboy.png create mode 100644 spine-ts/spine-pixi/example/index.html create mode 100644 spine-ts/spine-pixi/package.json create mode 100644 spine-ts/spine-pixi/src/DarkSlotMesh.ts create mode 100644 spine-ts/spine-pixi/src/SlotMesh.ts create mode 100644 spine-ts/spine-pixi/src/Spine.ts create mode 100644 spine-ts/spine-pixi/src/SpineDebugRenderer.ts create mode 100644 spine-ts/spine-pixi/src/SpineTexture.ts create mode 100644 spine-ts/spine-pixi/src/assets/atlasLoader.ts create mode 100644 spine-ts/spine-pixi/src/assets/skeletonLoader.ts create mode 100644 spine-ts/spine-pixi/src/darkTintMesh/DarkTintBatchGeom.ts create mode 100644 spine-ts/spine-pixi/src/darkTintMesh/DarkTintGeom.ts create mode 100644 spine-ts/spine-pixi/src/darkTintMesh/DarkTintMaterial.ts create mode 100644 spine-ts/spine-pixi/src/darkTintMesh/DarkTintMesh.ts create mode 100644 spine-ts/spine-pixi/src/darkTintMesh/DarkTintRenderer.ts create mode 100644 spine-ts/spine-pixi/src/index.ts create mode 100644 spine-ts/spine-pixi/src/require-shim.ts create mode 100644 spine-ts/spine-pixi/tsconfig.json diff --git a/.gitignore b/.gitignore index da20c7e5c3..3ddffea7b9 100644 --- a/.gitignore +++ b/.gitignore @@ -145,6 +145,7 @@ spine-ts/spine-canvas/dist spine-ts/spine-webgl/dist spine-ts/spine-player/dist spine-ts/spine-threejs/dist +spine-ts/spine-pixi/dist spine-libgdx/gradle spine-libgdx/gradlew spine-libgdx/gradlew.bat diff --git a/spine-ts/build.sh b/spine-ts/build.sh index c25718a6c7..df5d594dcb 100755 --- a/spine-ts/build.sh +++ b/spine-ts/build.sh @@ -20,6 +20,7 @@ then spine-webgl/dist/iife/* \ spine-player/dist/iife/* \ spine-threejs/dist/iife/* \ + spine-pixi/dist/iife/* \ spine-player/css/spine-player.css curl -f -F "file=@spine-ts.zip" "$TS_UPDATE_URL$BRANCH" else diff --git a/spine-ts/package-lock.json b/spine-ts/package-lock.json index e30c5aef02..def11bd9b3 100644 --- a/spine-ts/package-lock.json +++ b/spine-ts/package-lock.json @@ -14,6 +14,7 @@ "spine-phaser", "spine-player", "spine-threejs", + "spine-pixi", "spine-webgl" ], "devDependencies": { @@ -393,6 +394,10 @@ "resolved": "spine-phaser", "link": true }, + "node_modules/@esotericsoftware/spine-pixi": { + "resolved": "spine-pixi", + "link": true + }, "node_modules/@esotericsoftware/spine-player": { "resolved": "spine-player", "link": true @@ -405,11 +410,182 @@ "resolved": "spine-webgl", "link": true }, + "node_modules/@pixi/assets": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/assets/-/assets-7.2.4.tgz", + "integrity": "sha512-7199re3wvMAlVqXLaCyAr8IkJSXqkeVAxcYyB2rBu4Id5m2hhlGX1dQsdMBiCXLwu6/LLVqDvJggSNVQBzL6ZQ==", + "peer": true, + "dependencies": { + "@types/css-font-loading-module": "^0.0.7" + }, + "peerDependencies": { + "@pixi/core": "7.2.4", + "@pixi/utils": "7.2.4" + } + }, + "node_modules/@pixi/color": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/color/-/color-7.2.4.tgz", + "integrity": "sha512-B/+9JRcXe2uE8wQfsueFRPZVayF2VEMRB7XGeRAsWCryOX19nmWhv0Nt3nOU2rvzI0niz9XgugJXsB6vVmDFSg==", + "peer": true, + "dependencies": { + "colord": "^2.9.3" + } + }, + "node_modules/@pixi/constants": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-7.2.4.tgz", + "integrity": "sha512-hKuHBWR6N4Q0Sf5MGF3/9l+POg/G5rqhueHfzofiuelnKg7aBs3BVjjZ+6hZbd6M++vOUmxYelEX/NEFBxrheA==", + "peer": true + }, + "node_modules/@pixi/core": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-7.2.4.tgz", + "integrity": "sha512-0XtvrfxHlS2T+beBBSpo7GI8+QLyyTqMVQpNmPqB4woYxzrOEJ9JaUFBaBfCvycLeUkfVih1u6HAbtF+2d1EjQ==", + "peer": true, + "dependencies": { + "@pixi/color": "7.2.4", + "@pixi/constants": "7.2.4", + "@pixi/extensions": "7.2.4", + "@pixi/math": "7.2.4", + "@pixi/runner": "7.2.4", + "@pixi/settings": "7.2.4", + "@pixi/ticker": "7.2.4", + "@pixi/utils": "7.2.4", + "@types/offscreencanvas": "^2019.6.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/display": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-7.2.4.tgz", + "integrity": "sha512-w5tqb8cWEO5qIDaO9GEqRvxYhL0iMk0Wsngw23bbLm1gLEQmrFkB2tpJlRAqd7H82C3DrDDeWvkrrxW6+m4apg==", + "peer": true, + "peerDependencies": { + "@pixi/core": "7.2.4" + } + }, + "node_modules/@pixi/extensions": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/extensions/-/extensions-7.2.4.tgz", + "integrity": "sha512-Mnqv9scbL1ARD3QFKfOWs2aSVJJfP1dL8g5UiqGImYO3rZbz/9QCzXOeMVIZ5n3iaRyKMNhFFr84/zUja2H7Dw==", + "peer": true + }, + "node_modules/@pixi/graphics": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-7.2.4.tgz", + "integrity": "sha512-3A2EumTjWJgXlDLOyuBrl9b6v1Za/E+/IjOGUIX843HH4NYaf1a2sfDfljx6r3oiDvy+VhuBFmgynRcV5IyA0Q==", + "peer": true, + "peerDependencies": { + "@pixi/core": "7.2.4", + "@pixi/display": "7.2.4", + "@pixi/sprite": "7.2.4" + } + }, + "node_modules/@pixi/math": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-7.2.4.tgz", + "integrity": "sha512-LJB+mozyEPllxa0EssFZrKNfVwysfaBun4b2dJKQQInp0DafgbA0j7A+WVg0oe51KhFULTJMpDqbLn/ITFc41A==", + "peer": true + }, + "node_modules/@pixi/mesh": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-7.2.4.tgz", + "integrity": "sha512-wiALIqcRKib2BqeH9kOA5fOKWN352nqAspgbDa8gA7OyWzmNwqIedIlElixd0oLFOrIN5jOZAdzeKnoYQlt9Aw==", + "peer": true, + "peerDependencies": { + "@pixi/core": "7.2.4", + "@pixi/display": "7.2.4" + } + }, + "node_modules/@pixi/runner": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-7.2.4.tgz", + "integrity": "sha512-YtyqPk1LA+0guEFKSFx6t/YSvbEQwajFwi4Ft8iDhioa6VK2MmTir1GjWwy7JQYLcDmYSAcQjnmFtVTZohyYSw==", + "peer": true + }, + "node_modules/@pixi/settings": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-7.2.4.tgz", + "integrity": "sha512-ZPKRar9EwibijGmH8EViu4Greq1I/O7V/xQx2rNqN23XA7g09Qo6yfaeQpufu5xl8+/lZrjuHtQSnuY7OgG1CA==", + "peer": true, + "dependencies": { + "@pixi/constants": "7.2.4", + "@types/css-font-loading-module": "^0.0.7", + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/sprite": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-7.2.4.tgz", + "integrity": "sha512-DhR1B+/d0eXpxHIesJMXcVPrKFwQ+zRA1LvEIFfzewqfaRN3X6PMIuoKX8SIb6tl+Hq8Ba9Pe28zI7d2rmRzrA==", + "peer": true, + "peerDependencies": { + "@pixi/core": "7.2.4", + "@pixi/display": "7.2.4" + } + }, + "node_modules/@pixi/text": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-7.2.4.tgz", + "integrity": "sha512-DGu7ktpe+zHhqR2sG9NsJt4mgvSObv5EqXTtUxD4Z0li1gmqF7uktpLyn5I6vSg1TTEL4TECClRDClVDGiykWw==", + "peer": true, + "peerDependencies": { + "@pixi/core": "7.2.4", + "@pixi/sprite": "7.2.4" + } + }, + "node_modules/@pixi/ticker": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-7.2.4.tgz", + "integrity": "sha512-hQQHIHvGeFsP4GNezZqjzuhUgNQEVgCH9+qU05UX1Mc5UHC9l6OJnY4VTVhhcHxZjA6RnyaY+1zBxCnoXuazpg==", + "peer": true, + "dependencies": { + "@pixi/extensions": "7.2.4", + "@pixi/settings": "7.2.4", + "@pixi/utils": "7.2.4" + } + }, + "node_modules/@pixi/utils": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-7.2.4.tgz", + "integrity": "sha512-VUGQHBOINIS4ePzoqafwxaGPVRTa3oM/mEutIIHbNGI3b+QvSO+1Dnk40M0zcH6Bo+MxQZbOZK5X/wO9oU5+LQ==", + "peer": true, + "dependencies": { + "@pixi/color": "7.2.4", + "@pixi/constants": "7.2.4", + "@pixi/settings": "7.2.4", + "@types/earcut": "^2.1.0", + "earcut": "^2.2.4", + "eventemitter3": "^4.0.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/utils/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "peer": true + }, + "node_modules/@types/css-font-loading-module": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/@types/css-font-loading-module/-/css-font-loading-module-0.0.7.tgz", + "integrity": "sha512-nl09VhutdjINdWyXxHWN/w9zlNCfr60JUqJbd24YXUuCwgeL0TpFSdElCwb6cxfB6ybE19Gjj4g0jsgkXxKv1Q==", + "peer": true + }, + "node_modules/@types/earcut": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@types/earcut/-/earcut-2.1.1.tgz", + "integrity": "sha512-w8oigUCDjElRHRRrMvn/spybSMyX8MTkKA5Dv+tS1IE/TgmNZPqUYtvYBXGY8cieSE66gm+szeK+bnbxC2xHTQ==", + "peer": true + }, "node_modules/@types/offscreencanvas": { "version": "2019.7.0", "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.0.tgz", - "integrity": "sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==", - "dev": true + "integrity": "sha512-PGcyveRIpL1XIqK8eBsmRBt76eFgtzuPiSTyKHZxnGemp2yzGzWpjYKAfK3wIMiU7eH+851yEpiuP8JZerTmWg==" }, "node_modules/@types/three": { "version": "0.146.0", @@ -875,6 +1051,12 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "peer": true + }, "node_modules/colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", @@ -1092,6 +1274,12 @@ "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, + "node_modules/earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "peer": true + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -1774,6 +1962,12 @@ "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==", "dev": true }, + "node_modules/ismobilejs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz", + "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==", + "peer": true + }, "node_modules/isobject": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", @@ -2332,6 +2526,22 @@ "node": ">=0.8.0" } }, + "node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==", + "peer": true + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "peer": true, + "engines": { + "node": ">=0.4.x" + } + }, "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", @@ -3260,6 +3470,16 @@ "deprecated": "Please see https://github.com/lydell/urix#deprecated", "dev": true }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==", + "peer": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", @@ -3417,6 +3637,21 @@ "@esotericsoftware/spine-webgl": "4.1.31" } }, + "spine-pixi": { + "version": "4.1.31", + "license": "LicenseRef-LICENSE", + "dependencies": { + "@esotericsoftware/spine-core": "4.1.31" + }, + "peerDependencies": { + "@pixi/assets": "^7.2.4", + "@pixi/core": "^7.2.4", + "@pixi/display": "^7.2.4", + "@pixi/graphics": "^7.2.4", + "@pixi/mesh": "^7.2.4", + "@pixi/text": "^7.2.4" + } + }, "spine-player": { "name": "@esotericsoftware/spine-player", "version": "4.1.31", diff --git a/spine-ts/package.json b/spine-ts/package.json index 408e2a4cd6..b008a88445 100644 --- a/spine-ts/package.json +++ b/spine-ts/package.json @@ -7,8 +7,8 @@ ], "scripts": { "prepublish": "npm run clean && npm run build", - "clean": "npx rimraf spine-core/dist spine-canvas/dist spine-webgl/dist spine-phaser/dist spine-player/dist spine-threejs/dist", - "build": "npm run clean && npm run build:modules && concurrently \"npm run build:core\" \"npm run build:canvas\" \"npm run build:webgl\" \"npm run build:phaser\" \"npm run build:player\" \"npm run build:threejs\"", + "clean": "npx rimraf spine-core/dist spine-canvas/dist spine-webgl/dist spine-phaser/dist spine-player/dist spine-threejs/dist spine-pixi/dist", + "build": "npm run clean && npm run build:modules && concurrently \"npm run build:core\" \"npm run build:canvas\" \"npm run build:webgl\" \"npm run build:phaser\" \"npm run build:player\" \"npm run build:threejs\" \"npm run build:pixi\"", "postbuild": "npm run minify", "build:modules": "npx tsc -b -clean && npx tsc -b", "build:core": "npx esbuild --bundle spine-core/src/index.ts --tsconfig=spine-core/tsconfig.json --sourcemap --outfile=spine-core/dist/iife/spine-core.js --format=iife --global-name=spine", @@ -17,14 +17,22 @@ "build:player": "npx copyfiles -f spine-player/css/spine-player.css spine-player/dist/ && npx npx esbuild --bundle spine-player/src/index.ts --tsconfig=spine-player/tsconfig.json --sourcemap --outfile=spine-player/dist/iife/spine-player.js --format=iife --global-name=spine", "build:phaser": "npx esbuild --bundle spine-phaser/src/index.ts --tsconfig=spine-phaser/tsconfig.json --sourcemap --outfile=spine-phaser/dist/iife/spine-phaser.js --external:Phaser --alias:phaser=Phaser --format=iife --global-name=spine", "build:threejs": "npx esbuild --bundle spine-threejs/src/index.ts --tsconfig=spine-threejs/tsconfig.json --sourcemap --outfile=spine-threejs/dist/iife/spine-threejs.js --external:three --format=iife --global-name=spine", - "minify": "npx esbuild --minify spine-core/dist/iife/spine-core.js --outfile=spine-core/dist/iife/spine-core.min.js && npx esbuild --minify spine-canvas/dist/iife/spine-canvas.js --outfile=spine-canvas/dist/iife/spine-canvas.min.js && npx esbuild --minify spine-player/dist/iife/spine-player.js --outfile=spine-player/dist/iife/spine-player.min.js && npx esbuild --minify spine-phaser/dist/iife/spine-phaser.js --outfile=spine-phaser/dist/iife/spine-phaser.min.js && npx esbuild --minify spine-webgl/dist/iife/spine-webgl.js --outfile=spine-webgl/dist/iife/spine-webgl.min.js && npx esbuild --minify spine-threejs/dist/iife/spine-threejs.js --outfile=spine-threejs/dist/iife/spine-threejs.min.js", - "dev": "concurrently \"npx live-server\" \"npm run dev:canvas\" \"npm run dev:webgl\" \"npm run dev:phaser\" \"npm run dev:player\" \"npm run dev:threejs\"", + + + + "build:pixi": "npx esbuild --bundle spine-pixi/src/index.ts --tsconfig=spine-pixi/tsconfig.json --sourcemap --outfile=spine-pixi/dist/iife/spine-pixi.js --external:@pixi/* --format=iife --global-name=spine", + + + + "minify": "npx esbuild --minify spine-core/dist/iife/spine-core.js --outfile=spine-core/dist/iife/spine-core.min.js && npx esbuild --minify spine-canvas/dist/iife/spine-canvas.js --outfile=spine-canvas/dist/iife/spine-canvas.min.js && npx esbuild --minify spine-player/dist/iife/spine-player.js --outfile=spine-player/dist/iife/spine-player.min.js && npx esbuild --minify spine-phaser/dist/iife/spine-phaser.js --outfile=spine-phaser/dist/iife/spine-phaser.min.js && npx esbuild --minify spine-webgl/dist/iife/spine-webgl.js --outfile=spine-webgl/dist/iife/spine-webgl.min.js && npx esbuild --minify spine-threejs/dist/iife/spine-threejs.js --outfile=spine-threejs/dist/iife/spine-threejs.min.js && npx esbuild --minify spine-pixi/dist/iife/spine-pixi.js --outfile=spine-pixi/dist/iife/spine-pixi.min.js", + "dev": "concurrently \"npx live-server\" \"npm run dev:canvas\" \"npm run dev:webgl\" \"npm run dev:phaser\" \"npm run dev:player\" \"npm run dev:threejs\" \"npm run dev:pixi\"", "dev:modules": "npm run build:modules -- --watch", "dev:canvas": "npm run build:canvas -- --watch", "dev:webgl": "npm run build:webgl -- --watch", "dev:phaser": "npm run build:phaser -- --watch", "dev:player": "npm run build:player -- --watch", - "dev:threejs": "npm run build:threejs -- --watch" + "dev:threejs": "npm run build:threejs -- --watch", + "dev:pixi": "npm run build:pixi -- --watch" }, "repository": { "type": "git", @@ -51,6 +59,7 @@ "spine-phaser", "spine-player", "spine-threejs", + "spine-pixi", "spine-webgl" ], "devDependencies": { diff --git a/spine-ts/spine-pixi/README.md b/spine-ts/spine-pixi/README.md new file mode 100644 index 0000000000..20c760dfb9 --- /dev/null +++ b/spine-ts/spine-pixi/README.md @@ -0,0 +1,3 @@ +# spine-ts Pixi.js + +Please see the top-level [README.md](../README.md) for more information. \ No newline at end of file diff --git a/spine-ts/spine-pixi/example/assets/spineboy-pro.json b/spine-ts/spine-pixi/example/assets/spineboy-pro.json new file mode 100644 index 0000000000..78ba1dc0f5 --- /dev/null +++ b/spine-ts/spine-pixi/example/assets/spineboy-pro.json @@ -0,0 +1,8707 @@ +{ +"skeleton": { + "hash": "itfFESDjM1c", + "spine": "4.1.17", + "x": -188.63, + "y": -7.94, + "width": 418.45, + "height": 686.2, + "images": "./images/", + "audio": "" +}, +"bones": [ + { "name": "root", "rotation": 0.05 }, + { "name": "hip", "parent": "root", "y": 247.27 }, + { "name": "crosshair", "parent": "root", "x": 302.83, "y": 569.45, "color": "ff3f00ff" }, + { + "name": "aim-constraint-target", + "parent": "hip", + "length": 26.24, + "rotation": 19.61, + "x": 1.02, + "y": 5.62, + "color": "abe323ff" + }, + { "name": "rear-foot-target", "parent": "root", "x": 61.91, "y": 0.42, "color": "ff3f00ff" }, + { "name": "rear-leg-target", "parent": "rear-foot-target", "x": -33.91, "y": 37.34, "color": "ff3f00ff" }, + { + "name": "rear-thigh", + "parent": "hip", + "length": 85.72, + "rotation": -72.54, + "x": 8.91, + "y": -5.63, + "color": "ff000dff" + }, + { + "name": "rear-shin", + "parent": "rear-thigh", + "length": 121.88, + "rotation": -19.83, + "x": 86.1, + "y": -1.33, + "color": "ff000dff" + }, + { + "name": "rear-foot", + "parent": "rear-shin", + "length": 51.58, + "rotation": 45.78, + "x": 121.46, + "y": -0.76, + "color": "ff000dff" + }, + { + "name": "back-foot-tip", + "parent": "rear-foot", + "length": 50.3, + "rotation": -0.85, + "x": 51.17, + "y": 0.24, + "transform": "noRotationOrReflection", + "color": "ff000dff" + }, + { "name": "board-ik", "parent": "root", "x": -131.78, "y": 69.09, "color": "4c56ffff" }, + { "name": "clipping", "parent": "root" }, + { "name": "hoverboard-controller", "parent": "root", "rotation": -0.28, "x": -329.69, "y": 69.82, "color": "ff0004ff" }, + { "name": "exhaust1", "parent": "hoverboard-controller", "rotation": 3.02, "x": -249.68, "y": 53.39 }, + { "name": "exhaust2", "parent": "hoverboard-controller", "rotation": 26.34, "x": -191.6, "y": -22.92 }, + { + "name": "exhaust3", + "parent": "hoverboard-controller", + "rotation": -12.34, + "x": -236.03, + "y": 80.54, + "scaleX": 0.7847, + "scaleY": 0.7847 + }, + { "name": "portal-root", "parent": "root", "x": 12.9, "y": 328.54, "scaleX": 2.0334, "scaleY": 2.0334 }, + { "name": "flare1", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { "name": "flare10", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { "name": "flare2", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { "name": "flare3", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { "name": "flare4", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { "name": "flare5", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { "name": "flare6", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { "name": "flare7", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { "name": "flare8", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { "name": "flare9", "parent": "portal-root", "x": -6.34, "y": -161.57 }, + { + "name": "torso", + "parent": "hip", + "length": 42.52, + "rotation": 103.82, + "x": -1.62, + "y": 4.9, + "color": "e0da19ff" + }, + { "name": "torso2", "parent": "torso", "length": 42.52, "x": 42.52, "color": "e0da19ff" }, + { "name": "torso3", "parent": "torso2", "length": 42.52, "x": 42.52, "color": "e0da19ff" }, + { "name": "front-shoulder", "parent": "torso3", "rotation": 255.89, "x": 18.72, "y": 19.33, "color": "00ff04ff" }, + { "name": "front-upper-arm", "parent": "front-shoulder", "length": 69.45, "rotation": -87.51, "color": "00ff04ff" }, + { + "name": "front-bracer", + "parent": "front-upper-arm", + "length": 40.57, + "rotation": 18.3, + "x": 68.8, + "y": -0.68, + "color": "00ff04ff" + }, + { + "name": "front-fist", + "parent": "front-bracer", + "length": 65.39, + "rotation": 12.43, + "x": 40.57, + "y": 0.2, + "color": "00ff04ff" + }, + { "name": "front-foot-target", "parent": "root", "x": -13.53, "y": 0.04, "color": "ff3f00ff" }, + { "name": "front-leg-target", "parent": "front-foot-target", "x": -28.4, "y": 29.06, "color": "ff3f00ff" }, + { + "name": "front-thigh", + "parent": "hip", + "length": 74.81, + "rotation": -95.51, + "x": -17.46, + "y": -11.64, + "color": "00ff04ff" + }, + { + "name": "front-shin", + "parent": "front-thigh", + "length": 128.77, + "rotation": -2.21, + "x": 78.69, + "y": 1.6, + "color": "00ff04ff" + }, + { + "name": "front-foot", + "parent": "front-shin", + "length": 41.01, + "rotation": 51.27, + "x": 128.76, + "y": -0.34, + "color": "00ff04ff" + }, + { + "name": "front-foot-tip", + "parent": "front-foot", + "length": 56.03, + "rotation": -1.68, + "x": 41.42, + "y": -0.09, + "transform": "noRotationOrReflection", + "color": "00ff04ff" + }, + { "name": "back-shoulder", "parent": "torso3", "rotation": -104.11, "x": 7.32, "y": -19.22, "color": "ff000dff" }, + { "name": "rear-upper-arm", "parent": "back-shoulder", "length": 51.94, "rotation": -65.45, "color": "ff000dff" }, + { "name": "rear-bracer", "parent": "rear-upper-arm", "length": 34.56, "rotation": 23.15, "x": 51.36, "color": "ff000dff" }, + { + "name": "gun", + "parent": "rear-bracer", + "length": 43.11, + "rotation": -5.43, + "x": 34.42, + "y": -0.45, + "color": "ff000dff" + }, + { "name": "gun-tip", "parent": "gun", "rotation": 7.1, "x": 200.78, "y": 52.5, "color": "ff0000ff" }, + { + "name": "neck", + "parent": "torso3", + "length": 25.45, + "rotation": -31.54, + "x": 42.46, + "y": -0.31, + "color": "e0da19ff" + }, + { + "name": "head", + "parent": "neck", + "length": 131.79, + "rotation": 26.1, + "x": 27.66, + "y": -0.26, + "color": "e0da19ff" + }, + { + "name": "hair1", + "parent": "head", + "length": 47.23, + "rotation": -49.1, + "x": 149.83, + "y": -59.77, + "color": "e0da19ff" + }, + { + "name": "hair2", + "parent": "hair1", + "length": 55.57, + "rotation": 50.42, + "x": 47.23, + "y": 0.19, + "color": "e0da19ff" + }, + { + "name": "hair3", + "parent": "head", + "length": 62.22, + "rotation": -32.17, + "x": 164.14, + "y": 3.68, + "color": "e0da19ff" + }, + { + "name": "hair4", + "parent": "hair3", + "length": 80.28, + "rotation": 83.71, + "x": 62.22, + "y": -0.04, + "color": "e0da19ff" + }, + { "name": "hoverboard-thruster-front", "parent": "hoverboard-controller", "rotation": -29.2, "x": 95.77, "y": -2.99, "transform": "noRotationOrReflection" }, + { "name": "hoverboard-thruster-rear", "parent": "hoverboard-controller", "rotation": -29.2, "x": -76.47, "y": -4.88, "transform": "noRotationOrReflection" }, + { "name": "hoverglow-front", "parent": "hoverboard-thruster-front", "rotation": 0.17, "x": -1.78, "y": -37.79 }, + { "name": "hoverglow-rear", "parent": "hoverboard-thruster-rear", "rotation": 0.17, "x": 1.06, "y": -35.66 }, + { "name": "muzzle", "parent": "rear-bracer", "rotation": 3.06, "x": 242.34, "y": 34.26, "color": "ffb900ff" }, + { "name": "muzzle-ring", "parent": "muzzle", "color": "ffb900ff" }, + { "name": "muzzle-ring2", "parent": "muzzle", "color": "ffb900ff" }, + { "name": "muzzle-ring3", "parent": "muzzle", "color": "ffb900ff" }, + { "name": "muzzle-ring4", "parent": "muzzle", "color": "ffb900ff" }, + { "name": "portal", "parent": "portal-root" }, + { "name": "portal-shade", "parent": "portal-root" }, + { "name": "portal-streaks1", "parent": "portal-root" }, + { "name": "portal-streaks2", "parent": "portal-root" }, + { "name": "side-glow1", "parent": "hoverboard-controller", "x": -110.56, "y": 2.62, "color": "000effff" }, + { + "name": "side-glow2", + "parent": "hoverboard-controller", + "x": -110.56, + "y": 2.62, + "scaleX": 0.738, + "scaleY": 0.738, + "color": "000effff" + }, + { "name": "head-control", "parent": "head", "x": 110.21, "color": "00a220ff" } +], +"slots": [ + { "name": "portal-bg", "bone": "portal" }, + { "name": "portal-shade", "bone": "portal-shade" }, + { "name": "portal-streaks2", "bone": "portal-streaks2", "blend": "additive" }, + { "name": "portal-streaks1", "bone": "portal-streaks1", "blend": "additive" }, + { "name": "portal-flare8", "bone": "flare8", "color": "c3cbffff", "blend": "additive" }, + { "name": "portal-flare9", "bone": "flare9", "color": "c3cbffff", "blend": "additive" }, + { "name": "portal-flare10", "bone": "flare10", "color": "c3cbffff", "blend": "additive" }, + { "name": "clipping", "bone": "clipping" }, + { "name": "exhaust3", "bone": "exhaust3", "color": "5eb4ffff", "blend": "additive" }, + { "name": "hoverboard-thruster-rear", "bone": "hoverboard-thruster-rear" }, + { "name": "hoverboard-thruster-front", "bone": "hoverboard-thruster-front" }, + { "name": "hoverboard-board", "bone": "hoverboard-controller" }, + { "name": "side-glow1", "bone": "side-glow1", "color": "ff8686ff", "blend": "additive" }, + { "name": "side-glow3", "bone": "side-glow1", "color": "ff8686ff", "blend": "additive" }, + { "name": "side-glow2", "bone": "side-glow2", "color": "ff8686ff", "blend": "additive" }, + { "name": "hoverglow-front", "bone": "hoverglow-front", "color": "5eb4ffff", "blend": "additive" }, + { "name": "hoverglow-rear", "bone": "hoverglow-rear", "color": "5eb4ffff", "blend": "additive" }, + { "name": "exhaust1", "bone": "exhaust2", "color": "5eb4ffff", "blend": "additive" }, + { "name": "exhaust2", "bone": "exhaust1", "color": "5eb4ffff", "blend": "additive" }, + { "name": "rear-upper-arm", "bone": "rear-upper-arm", "attachment": "rear-upper-arm" }, + { "name": "rear-bracer", "bone": "rear-bracer", "attachment": "rear-bracer" }, + { "name": "gun", "bone": "gun", "attachment": "gun" }, + { "name": "rear-foot", "bone": "rear-foot", "attachment": "rear-foot" }, + { "name": "rear-thigh", "bone": "rear-thigh", "attachment": "rear-thigh" }, + { "name": "rear-shin", "bone": "rear-shin", "attachment": "rear-shin" }, + { "name": "neck", "bone": "neck", "attachment": "neck" }, + { "name": "torso", "bone": "torso", "attachment": "torso" }, + { "name": "front-upper-arm", "bone": "front-upper-arm", "attachment": "front-upper-arm" }, + { "name": "head", "bone": "head", "attachment": "head" }, + { "name": "eye", "bone": "head", "attachment": "eye-indifferent" }, + { "name": "front-thigh", "bone": "front-thigh", "attachment": "front-thigh" }, + { "name": "front-foot", "bone": "front-foot", "attachment": "front-foot" }, + { "name": "front-shin", "bone": "front-shin", "attachment": "front-shin" }, + { "name": "mouth", "bone": "head", "attachment": "mouth-smile" }, + { "name": "goggles", "bone": "head", "attachment": "goggles" }, + { "name": "front-bracer", "bone": "front-bracer", "attachment": "front-bracer" }, + { "name": "front-fist", "bone": "front-fist", "attachment": "front-fist-closed" }, + { "name": "muzzle", "bone": "muzzle" }, + { "name": "head-bb", "bone": "head" }, + { "name": "portal-flare1", "bone": "flare1", "color": "c3cbffff", "blend": "additive" }, + { "name": "portal-flare2", "bone": "flare2", "color": "c3cbffff", "blend": "additive" }, + { "name": "portal-flare3", "bone": "flare3", "color": "c3cbffff", "blend": "additive" }, + { "name": "portal-flare4", "bone": "flare4", "color": "c3cbffff", "blend": "additive" }, + { "name": "portal-flare5", "bone": "flare5", "color": "c3cbffff", "blend": "additive" }, + { "name": "portal-flare6", "bone": "flare6", "color": "c3cbffff", "blend": "additive" }, + { "name": "portal-flare7", "bone": "flare7", "color": "c3cbffff", "blend": "additive" }, + { "name": "crosshair", "bone": "crosshair" }, + { "name": "muzzle-glow", "bone": "gun-tip", "color": "ffffff00", "blend": "additive" }, + { "name": "muzzle-ring", "bone": "muzzle-ring", "color": "d8baffff", "blend": "additive" }, + { "name": "muzzle-ring2", "bone": "muzzle-ring2", "color": "d8baffff", "blend": "additive" }, + { "name": "muzzle-ring3", "bone": "muzzle-ring3", "color": "d8baffff", "blend": "additive" }, + { "name": "muzzle-ring4", "bone": "muzzle-ring4", "color": "d8baffff", "blend": "additive" } +], +"ik": [ + { + "name": "aim-ik", + "order": 13, + "bones": [ "rear-upper-arm" ], + "target": "crosshair", + "mix": 0 + }, + { + "name": "aim-torso-ik", + "order": 8, + "bones": [ "aim-constraint-target" ], + "target": "crosshair" + }, + { + "name": "board-ik", + "order": 1, + "bones": [ "hoverboard-controller" ], + "target": "board-ik" + }, + { + "name": "front-foot-ik", + "order": 6, + "bones": [ "front-foot" ], + "target": "front-foot-target" + }, + { + "name": "front-leg-ik", + "order": 4, + "bones": [ "front-thigh", "front-shin" ], + "target": "front-leg-target", + "bendPositive": false + }, + { + "name": "rear-foot-ik", + "order": 7, + "bones": [ "rear-foot" ], + "target": "rear-foot-target" + }, + { + "name": "rear-leg-ik", + "order": 5, + "bones": [ "rear-thigh", "rear-shin" ], + "target": "rear-leg-target", + "bendPositive": false + } +], +"transform": [ + { + "name": "aim-front-arm-transform", + "order": 11, + "bones": [ "front-upper-arm" ], + "target": "aim-constraint-target", + "rotation": -180, + "mixRotate": 0, + "mixX": 0, + "mixScaleX": 0, + "mixShearY": 0 + }, + { + "name": "aim-head-transform", + "order": 10, + "bones": [ "head" ], + "target": "aim-constraint-target", + "rotation": 84.3, + "mixRotate": 0, + "mixX": 0, + "mixScaleX": 0, + "mixShearY": 0 + }, + { + "name": "aim-rear-arm-transform", + "order": 12, + "bones": [ "rear-upper-arm" ], + "target": "aim-constraint-target", + "x": 57.7, + "y": 56.4, + "mixRotate": 0, + "mixX": 0, + "mixScaleX": 0, + "mixShearY": 0 + }, + { + "name": "aim-torso-transform", + "order": 9, + "bones": [ "torso" ], + "target": "aim-constraint-target", + "rotation": 69.5, + "shearY": -36, + "mixRotate": 0, + "mixX": 0, + "mixScaleX": 0, + "mixShearY": 0 + }, + { + "name": "front-foot-board-transform", + "order": 2, + "bones": [ "front-foot-target" ], + "target": "hoverboard-controller", + "x": -69.8, + "y": 20.7, + "mixRotate": 0, + "mixX": 0, + "mixScaleX": 0, + "mixShearY": 0 + }, + { + "name": "rear-foot-board-transform", + "order": 3, + "bones": [ "rear-foot-target" ], + "target": "hoverboard-controller", + "x": 86.6, + "y": 21.3, + "mixRotate": 0, + "mixX": 0, + "mixScaleX": 0, + "mixShearY": 0 + }, + { + "name": "shoulder", + "bones": [ "back-shoulder" ], + "target": "front-shoulder", + "x": 40.17, + "y": -1.66, + "mixRotate": 0, + "mixX": -1, + "mixScaleX": 0, + "mixShearY": 0 + }, + { + "name": "toes-board", + "order": 14, + "bones": [ "front-foot-tip", "back-foot-tip" ], + "target": "hoverboard-controller", + "mixRotate": 0, + "mixX": 0, + "mixScaleX": 0, + "mixShearY": 0 + } +], +"skins": [ + { + "name": "default", + "attachments": { + "clipping": { + "clipping": { + "type": "clipping", + "end": "head-bb", + "vertexCount": 9, + "vertices": [ 66.76, 509.48, 19.98, 434.54, 5.34, 336.28, 22.19, 247.93, 77.98, 159.54, 182.21, -97.56, 1452.26, -99.8, 1454.33, 843.61, 166.57, 841.02 ], + "color": "ce3a3aff" + } + }, + "crosshair": { + "crosshair": { "width": 89, "height": 89 } + }, + "exhaust1": { + "hoverglow-small": { "scaleX": 0.4629, "scaleY": 0.8129, "rotation": -83.07, "width": 274, "height": 75 } + }, + "exhaust2": { + "hoverglow-small": { + "x": 0.01, + "y": -0.76, + "scaleX": 0.4208, + "scaleY": 0.8403, + "rotation": -89.25, + "width": 274, + "height": 75 + } + }, + "exhaust3": { + "hoverglow-small": { "scaleX": 0.4629, "scaleY": 0.8129, "rotation": -83.07, "width": 274, "height": 75 } + }, + "eye": { + "eye-indifferent": { + "type": "mesh", + "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], + "triangles": [ 1, 3, 0, 1, 2, 3 ], + "vertices": [ 2, 66, -36.8, -91.35, 0.3, 46, 73.41, -91.35, 0.7, 2, 66, -87.05, -13.11, 0.70968, 46, 23.16, -13.11, 0.29032, 2, 66, -12.18, 34.99, 0.82818, 46, 98.03, 34.99, 0.17182, 2, 66, 38.07, -43.25, 0.59781, 46, 148.28, -43.25, 0.40219 ], + "hull": 4, + "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], + "width": 93, + "height": 89 + }, + "eye-surprised": { + "type": "mesh", + "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], + "triangles": [ 1, 2, 3, 1, 3, 0 ], + "vertices": [ 2, 66, -46.74, -89.7, 0.3, 46, 63.47, -89.7, 0.7, 2, 66, -77.58, -1.97, 0.71, 46, 32.63, -1.97, 0.29, 2, 66, 6.38, 27.55, 0.83, 46, 116.59, 27.55, 0.17, 2, 66, 37.22, -60.19, 0.6, 46, 147.44, -60.19, 0.4 ], + "hull": 4, + "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], + "width": 93, + "height": 89 + } + }, + "front-bracer": { + "front-bracer": { "x": 12.03, "y": -1.68, "rotation": 79.6, "width": 58, "height": 80 } + }, + "front-fist": { + "front-fist-closed": { "x": 35.5, "y": 6, "rotation": 67.16, "width": 75, "height": 82 }, + "front-fist-open": { "x": 39.57, "y": 7.76, "rotation": 67.16, "width": 86, "height": 87 } + }, + "front-foot": { + "front-foot": { + "type": "mesh", + "uvs": [ 0.59417, 0.23422, 0.62257, 0.30336, 0.6501, 0.37036, 0.67637, 0.38404, 0.72068, 0.4071, 0.76264, 0.42894, 1, 0.70375, 1, 1, 0.65517, 1, 0.46923, 0.99999, 0, 1, 0, 0.39197, 0.17846, 0, 0.49796, 0 ], + "triangles": [ 8, 9, 3, 4, 8, 3, 5, 8, 4, 6, 8, 5, 8, 6, 7, 11, 1, 10, 0, 12, 13, 0, 11, 12, 0, 1, 11, 9, 2, 3, 1, 2, 10, 9, 10, 2 ], + "vertices": [ 2, 38, 18.17, 41.57, 0.7896, 39, 12.46, 46.05, 0.2104, 2, 38, 24.08, 40.76, 0.71228, 39, 16.12, 41.34, 0.28772, 2, 38, 29.81, 39.98, 0.55344, 39, 19.67, 36.78, 0.44656, 2, 38, 32.81, 41.67, 0.38554, 39, 23, 35.89, 0.61446, 2, 38, 37.86, 44.52, 0.25567, 39, 28.61, 34.4, 0.74433, 2, 38, 42.65, 47.22, 0.17384, 39, 33.92, 32.99, 0.82616, 1, 39, 64.15, 14.56, 1, 1, 39, 64.51, -5.87, 1, 1, 39, 21.08, -6.64, 1, 2, 38, 44.67, -6.77, 0.5684, 39, -2.34, -6.97, 0.4316, 1, 38, 3.1, -48.81, 1, 1, 38, -26.73, -19.31, 1, 1, 38, -30.15, 15.69, 1, 1, 38, -1.84, 44.32, 1 ], + "hull": 14, + "edges": [ 14, 16, 16, 18, 18, 20, 4, 18, 20, 22, 24, 26, 22, 24, 12, 14, 10, 12, 2, 4, 2, 20, 4, 6, 6, 16, 2, 0, 0, 26, 6, 8, 8, 10 ], + "width": 126, + "height": 69 + } + }, + "front-shin": { + "front-shin": { + "type": "mesh", + "uvs": [ 0.90031, 0.05785, 1, 0.12828, 1, 0.21619, 0.9025, 0.31002, 0.78736, 0.35684, 0.78081, 0.39874, 0.77215, 0.45415, 0.77098, 0.51572, 0.84094, 0.63751, 0.93095, 0.7491, 0.95531, 0.7793, 0.78126, 0.87679, 0.5613, 1, 0.2687, 1, 0, 1, 0.00279, 0.96112, 0.01358, 0.81038, 0.02822, 0.60605, 0.08324, 0.45142, 0.18908, 0.31882, 0.29577, 0.2398, 0.30236, 0.14941, 0.37875, 0.05902, 0.53284, 0, 0.70538, 0, 0.41094, 0.71968, 0.40743, 0.54751, 0.41094, 0.4536, 0.4724, 0.35186, 0.33367, 0.27829, 0.50226, 0.31664, 0.65328, 0.67507, 0.60762, 0.52716, 0.6006, 0.45125, 0.62747, 0.37543, 0.6573, 0.3385, 0.27843, 0.32924, 0.18967, 0.45203, 0.16509, 0.58586, 0.18265, 0.7682, 0.50532, 0.24634, 0.59473, 0.17967, 0.60161, 0.10611, 0.51392, 0.04327, 0.72198, 0.28849, 0.82343, 0.20266, 0.86814, 0.11377, 0.79592, 0.04634, 0.44858, 0.15515, 0.25466, 0.96219, 0.53169, 0.9448, 0.7531, 0.8324 ], + "triangles": [ 24, 0, 47, 43, 23, 24, 47, 43, 24, 43, 22, 23, 42, 43, 47, 46, 47, 0, 42, 47, 46, 46, 0, 1, 48, 22, 43, 48, 43, 42, 21, 22, 48, 41, 48, 42, 45, 42, 46, 41, 42, 45, 46, 1, 2, 45, 46, 2, 40, 48, 41, 48, 20, 21, 29, 48, 40, 29, 20, 48, 44, 41, 45, 40, 41, 44, 3, 45, 2, 44, 45, 3, 30, 29, 40, 35, 30, 40, 36, 19, 20, 36, 20, 29, 44, 35, 40, 28, 29, 30, 4, 44, 3, 35, 44, 4, 34, 30, 35, 5, 35, 4, 34, 28, 30, 33, 28, 34, 37, 19, 36, 18, 19, 37, 27, 29, 28, 27, 28, 33, 36, 29, 27, 37, 36, 27, 5, 34, 35, 6, 34, 5, 33, 34, 6, 6, 32, 33, 7, 32, 6, 26, 37, 27, 38, 18, 37, 38, 37, 26, 17, 18, 38, 31, 32, 7, 31, 7, 8, 32, 25, 26, 38, 26, 25, 27, 33, 32, 32, 26, 27, 39, 38, 25, 17, 38, 39, 16, 17, 39, 51, 31, 8, 51, 8, 9, 11, 51, 9, 11, 9, 10, 31, 50, 25, 31, 25, 32, 50, 31, 51, 49, 39, 25, 49, 25, 50, 15, 16, 39, 49, 15, 39, 13, 49, 50, 14, 15, 49, 13, 14, 49, 12, 50, 51, 12, 51, 11, 13, 50, 12 ], + "vertices": [ -23.66, 19.37, -11.73, 28.98, 4.34, 30.83, 22.41, 24.87, 32.05, 16.48, 39.77, 16.83, 49.98, 17.3, 61.25, 18.5, 82.85, 26.78, 102.4, 36.46, 107.69, 39.09, 127.15, 26.97, 151.74, 11.65, 154.49, -12.18, 157.02, -34.07, 149.89, -34.66, 122.23, -36.97, 84.75, -40.09, 55.97, -38.88, 30.73, -33.05, 15.29, -26.03, -1.3, -27.41, -18.54, -23.09, -30.78, -11.79, -32.4, 2.27, 101.92, -6.52, 70.48, -10.44, 53.28, -12.14, 34.11, -9.28, 21.96, -22.13, 27.39, -7.59, 91.48, 12.28, 64.88, 5.44, 51.07, 3.26, 36.95, 3.85, 29.92, 5.5, 31.8, -25.56, 55.08, -30.19, 79.77, -29.37, 112.93, -24.09, 14.51, -8.83, 1.48, -2.95, -12.03, -3.94, -22.69, -12.41, 20.17, 9.71, 3.53, 16.16, -13.14, 17.93, -24.78, 10.62, -1.62, -15.37, 147.71, -14.13, 141.93, 8.07, 119.3, 23.74 ], + "hull": 25, + "edges": [ 8, 6, 6, 4, 4, 2, 2, 0, 0, 48, 46, 48, 46, 44, 44, 42, 42, 40, 40, 38, 38, 36, 36, 34, 32, 34, 50, 52, 52, 54, 54, 56, 40, 58, 58, 60, 8, 10, 20, 22, 22, 24, 62, 64, 64, 66, 66, 68, 8, 70, 70, 60, 68, 70, 58, 72, 72, 74, 74, 76, 76, 78, 24, 26, 26, 28, 58, 80, 80, 82, 82, 84, 84, 86, 86, 44, 70, 88, 88, 90, 90, 92, 92, 94, 94, 48, 80, 88, 88, 6, 82, 90, 90, 4, 84, 92, 92, 2, 86, 94, 94, 0, 56, 60, 10, 12, 12, 14, 14, 16, 28, 30, 30, 32, 26, 98, 98, 78, 30, 98, 24, 100, 100, 50, 98, 100, 22, 102, 102, 62, 100, 102, 16, 18, 18, 20, 102, 18 ], + "width": 82, + "height": 184 + } + }, + "front-thigh": { + "front-thigh": { "x": 42.48, "y": 4.45, "rotation": 84.87, "width": 45, "height": 112 } + }, + "front-upper-arm": { + "front-upper-arm": { "x": 28.31, "y": 7.37, "rotation": 97.9, "width": 46, "height": 97 } + }, + "goggles": { + "goggles": { + "type": "mesh", + "uvs": [ 0.53653, 0.04114, 0.72922, 0.16036, 0.91667, 0.33223, 0.97046, 0.31329, 1, 0.48053, 0.95756, 0.5733, 0.88825, 0.6328, 0.86878, 0.78962, 0.77404, 0.8675, 0.72628, 1, 0.60714, 0.93863, 0.49601, 0.88138, 0.41558, 0.75027, 0.32547, 0.70084, 0.2782, 0.58257, 0.1721, 0.63281, 0.17229, 0.75071, 0.10781, 0.79898, 0, 0.32304, 0, 0.12476, 0.07373, 0.07344, 0.15423, 0.10734, 0.23165, 0.13994, 0.30313, 0.02256, 0.34802, 0, 0.42979, 0.69183, 0.39476, 0.51042, 0.39488, 0.31512, 0.45878, 0.23198, 0.56501, 0.28109, 0.69961, 0.39216, 0.82039, 0.54204, 0.85738, 0.62343, 0.91107, 0.51407, 0.72639, 0.32147, 0.58764, 0.19609, 0.48075, 0.11269, 0.37823, 0.05501, 0.3287, 0.17866, 0.319, 0.305, 0.36036, 0.53799, 0.40327, 0.70072, 0.30059, 0.55838, 0.21957, 0.2815, 0.09963, 0.28943, 0.56863, 0.4368, 0.4911, 0.37156, 0.51185, 0.52093, 0.67018, 0.59304, 0.7619, 0.68575, 0.73296, 0.43355 ], + "triangles": [ 18, 44, 15, 21, 19, 20, 17, 18, 15, 44, 19, 21, 2, 3, 4, 18, 19, 44, 2, 33, 34, 33, 2, 4, 5, 33, 4, 5, 6, 33, 7, 32, 6, 31, 50, 33, 32, 31, 33, 6, 32, 33, 31, 49, 50, 49, 31, 32, 49, 32, 7, 8, 49, 7, 33, 50, 34, 17, 15, 16, 9, 48, 8, 49, 48, 50, 50, 48, 45, 47, 45, 48, 50, 45, 30, 45, 47, 46, 45, 46, 29, 30, 45, 29, 30, 29, 34, 30, 34, 50, 47, 26, 46, 25, 10, 11, 12, 25, 11, 41, 12, 42, 42, 44, 43, 43, 21, 22, 41, 40, 25, 41, 42, 40, 29, 35, 34, 40, 26, 25, 25, 26, 47, 37, 24, 0, 36, 37, 0, 42, 43, 39, 42, 39, 40, 28, 38, 36, 40, 39, 26, 28, 27, 38, 26, 39, 27, 37, 38, 23, 39, 43, 38, 38, 37, 36, 27, 39, 38, 43, 22, 38, 37, 23, 24, 22, 23, 38, 36, 0, 35, 28, 36, 35, 29, 28, 35, 27, 28, 46, 26, 27, 46, 35, 0, 1, 34, 35, 1, 12, 41, 25, 47, 10, 25, 44, 21, 43, 42, 14, 44, 14, 15, 44, 13, 14, 42, 12, 13, 42, 46, 28, 29, 47, 48, 10, 48, 9, 10, 49, 8, 48, 2, 34, 1 ], + "vertices": [ 2, 66, 61.88, 22.81, 0.832, 46, 172.09, 22.81, 0.168, 2, 66, 59.89, -31.19, 0.6855, 46, 170.1, -31.19, 0.3145, 2, 66, 49.2, -86.8, 0.32635, 46, 159.41, -86.8, 0.67365, 2, 66, 56.82, -99.01, 0.01217, 46, 167.03, -99.01, 0.98783, 1, 46, 143.4, -115.48, 1, 2, 66, 15, -110.14, 0.0041, 46, 125.21, -110.14, 0.9959, 2, 66, -0.32, -96.36, 0.07948, 46, 109.89, -96.36, 0.92052, 2, 66, -26.56, -100.19, 0.01905, 46, 83.65, -100.19, 0.98095, 2, 66, -46.96, -81.16, 0.4921, 46, 63.26, -81.16, 0.50791, 2, 66, -71.84, -76.69, 0.56923, 46, 38.37, -76.69, 0.43077, 2, 66, -72.54, -43.98, 0.74145, 46, 37.67, -43.98, 0.25855, 2, 66, -73.2, -13.47, 0.87929, 46, 37.01, -13.47, 0.12071, 2, 66, -59.63, 13.55, 0.864, 46, 50.58, 13.55, 0.136, 2, 66, -59.69, 38.45, 0.85289, 46, 50.52, 38.45, 0.14711, 2, 66, -45.26, 56.6, 0.74392, 46, 64.95, 56.6, 0.25608, 2, 66, -62.31, 79.96, 0.624, 46, 47.9, 79.96, 0.376, 2, 66, -80.76, 73.42, 0.616, 46, 29.45, 73.42, 0.384, 2, 66, -93.9, 86.64, 0.288, 46, 16.31, 86.64, 0.712, 1, 46, 81.51, 139.38, 1, 1, 46, 112.56, 150.3, 1, 2, 66, 16.76, 134.97, 0.02942, 46, 126.97, 134.97, 0.97058, 2, 66, 18.42, 113.28, 0.36147, 46, 128.63, 113.28, 0.63853, 2, 66, 20.02, 92.43, 0.7135, 46, 130.23, 92.43, 0.2865, 2, 66, 44.58, 81.29, 0.69603, 46, 154.79, 81.29, 0.30397, 2, 66, 52, 71.48, 0.848, 46, 162.21, 71.48, 0.152, 2, 66, -49.25, 13.27, 0.8, 46, 60.96, 13.27, 0.2, 2, 66, -23.88, 31.88, 0.896, 46, 86.33, 31.88, 0.104, 2, 66, 6.72, 42.6, 0.928, 46, 116.93, 42.6, 0.072, 2, 66, 25.26, 31.44, 0.8, 46, 135.47, 31.44, 0.2, 2, 66, 26.77, 2.59, 0.75, 46, 136.98, 2.59, 0.25, 2, 66, 21.02, -36.66, 0.54887, 46, 131.23, -36.66, 0.45113, 2, 66, 8.01, -74.65, 0.36029, 46, 118.22, -74.65, 0.63971, 2, 66, -1.52, -88.24, 0.1253, 46, 108.69, -88.24, 0.8747, 2, 66, 20.25, -95.44, 0.08687, 46, 130.46, -95.44, 0.91313, 2, 66, 34.42, -39.36, 0.72613, 46, 144.63, -39.36, 0.27387, 2, 66, 42.03, 1.7, 0.824, 46, 152.25, 1.7, 0.176, 2, 66, 45.85, 32.6, 0.856, 46, 156.06, 32.6, 0.144, 1, 66, 46.01, 61.02, 1, 1, 66, 22.35, 66.41, 1, 1, 66, 1.73, 61.84, 1, 2, 66, -31.17, 38.83, 0.928, 46, 79.04, 38.83, 0.072, 2, 66, -52.94, 19.31, 0.79073, 46, 57.27, 19.31, 0.20927, 2, 66, -39.54, 52.42, 0.912, 46, 70.67, 52.42, 0.088, 2, 66, -3.2, 87.61, 0.744, 46, 107.02, 87.61, 0.256, 2, 66, -14.82, 116.7, 0.6368, 46, 95.4, 116.7, 0.3632, 2, 66, 2.7, -6.87, 0.856, 46, 112.91, -6.87, 0.144, 2, 66, 6.21, 15.8, 0.744, 46, 116.42, 15.8, 0.256, 2, 66, -15.39, 2.47, 0.856, 46, 94.82, 2.47, 0.144, 2, 66, -12.98, -40.48, 0.72102, 46, 97.24, -40.48, 0.27898, 2, 66, -19.55, -68.16, 0.59162, 46, 90.66, -68.16, 0.40838, 2, 66, 17.44, -47.15, 0.53452, 46, 127.65, -47.15, 0.46548 ], + "hull": 25, + "edges": [ 36, 34, 34, 32, 32, 30, 30, 28, 28, 26, 26, 24, 24, 22, 18, 16, 16, 14, 14, 12, 12, 10, 10, 8, 8, 6, 6, 4, 4, 2, 2, 0, 0, 48, 48, 46, 46, 44, 36, 38, 40, 38, 24, 50, 50, 52, 52, 54, 54, 56, 56, 58, 58, 60, 62, 64, 64, 12, 8, 66, 66, 68, 68, 70, 70, 72, 72, 74, 74, 76, 76, 78, 78, 80, 80, 82, 82, 24, 24, 84, 84, 86, 86, 44, 40, 42, 42, 44, 42, 88, 88, 30, 58, 90, 90, 92, 92, 94, 18, 20, 20, 22, 94, 20, 18, 96, 96, 98, 60, 100, 100, 62, 98, 100 ], + "width": 261, + "height": 166 + } + }, + "gun": { + "gun": { "x": 77.3, "y": 16.4, "rotation": 60.83, "width": 210, "height": 203 } + }, + "head": { + "head": { + "type": "mesh", + "uvs": [ 0.75919, 0.06107, 0.88392, 0.17893, 0.90174, 0.30856, 0.94224, 0.1966, 1, 0.26584, 1, 0.422, 0.95864, 0.46993, 0.92118, 0.51333, 0.85957, 0.5347, 0.78388, 0.65605, 0.74384, 0.74838, 0.85116, 0.75151, 0.84828, 0.82564, 0.81781, 0.85367, 0.75599, 0.85906, 0.76237, 0.90468, 0.65875, 1, 0.38337, 1, 0.1858, 0.85404, 0.12742, 0.81091, 0.06025, 0.69209, 0, 0.58552, 0, 0.41021, 0.0853, 0.20692, 0.24243, 0.14504, 0.5, 0.1421, 0.50324, 0.07433, 0.41738, 0, 0.57614, 0, 0.85059, 0.36087, 0.73431, 0.43206, 0.68481, 0.31271, 0.72165, 0.16718, 0.55931, 0.04154, 0.44764, 0.22895, 0.23926, 0.26559, 0.71272, 0.44036, 0.56993, 0.383, 0.41678, 0.33511, 0.293, 0.31497, 0.70802, 0.44502, 0.56676, 0.38976, 0.41521, 0.34416, 0.28754, 0.33017, 0.88988, 0.50177, 0.30389, 0.73463, 0.2646, 0.65675, 0.21414, 0.61584, 0.14613, 0.62194, 0.10316, 0.66636, 0.10358, 0.72557, 0.14505, 0.79164, 0.20263, 0.81355, 0.27873, 0.80159, 0.34947, 0.7376, 0.23073, 0.57073, 0.08878, 0.60707, 0.29461, 0.8129, 0.73006, 0.87883, 0.69805, 0.87348, 0.66166, 0.79681, 0.22468, 0.69824, 0.14552, 0.67405 ], + "triangles": [ 50, 49, 62, 34, 25, 31, 39, 35, 34, 38, 39, 34, 37, 38, 34, 42, 39, 38, 43, 39, 42, 32, 2, 31, 31, 37, 34, 42, 38, 37, 41, 42, 37, 43, 22, 39, 30, 31, 29, 36, 37, 31, 30, 36, 31, 40, 41, 37, 36, 40, 37, 36, 30, 44, 55, 22, 43, 55, 48, 56, 47, 48, 55, 46, 55, 54, 42, 55, 43, 47, 55, 46, 62, 49, 48, 61, 47, 46, 62, 48, 47, 61, 62, 47, 46, 54, 45, 42, 41, 55, 61, 46, 45, 55, 41, 54, 61, 51, 50, 61, 50, 62, 60, 41, 40, 54, 41, 60, 53, 61, 45, 52, 51, 61, 57, 53, 45, 57, 45, 54, 53, 52, 61, 52, 19, 51, 57, 18, 52, 57, 52, 53, 17, 54, 60, 57, 54, 17, 18, 57, 17, 19, 50, 51, 33, 27, 28, 26, 27, 33, 0, 33, 28, 32, 33, 0, 32, 0, 1, 33, 25, 26, 33, 32, 25, 31, 25, 32, 2, 32, 1, 2, 3, 4, 29, 31, 2, 2, 4, 5, 29, 2, 5, 6, 29, 5, 30, 29, 6, 44, 30, 6, 18, 19, 52, 49, 56, 48, 34, 24, 25, 35, 23, 24, 35, 24, 34, 39, 22, 35, 22, 23, 35, 7, 44, 6, 8, 36, 44, 40, 36, 8, 8, 44, 7, 56, 21, 22, 55, 56, 22, 9, 40, 8, 20, 21, 56, 20, 56, 49, 9, 60, 40, 10, 60, 9, 20, 50, 19, 12, 10, 11, 13, 10, 12, 14, 60, 10, 13, 14, 10, 59, 60, 14, 58, 59, 14, 58, 14, 15, 16, 17, 60, 59, 16, 60, 15, 16, 59, 15, 59, 58, 20, 49, 50 ], + "vertices": [ 2, 50, 41.97, -41.8, 0.94074, 66, 165.41, -22.6, 0.05926, 4, 48, 73.47, 27.54, 0.26795, 50, -5.75, -51.71, 0.4738, 49, 112.99, -11.41, 0.12255, 66, 143.5, -66.13, 0.1357, 4, 48, 38.23, 10.99, 0.6831, 50, -41.01, -35.22, 0.07866, 49, 92.73, -44.66, 0.04872, 66, 108.65, -83.49, 0.18952, 2, 48, 73.35, 10.89, 0.8455, 66, 143.77, -82.78, 0.1545, 2, 48, 58.59, -10.38, 0.91607, 66, 129.5, -104.39, 0.08393, 3, 46, 195.82, -119.82, 0.104, 47, 75.49, -4.55, 0.09191, 48, 14.36, -24.8, 0.80409, 4, 46, 178.62, -113.98, 0.19022, 47, 59.82, -13.72, 0.33409, 48, -2.7, -18.57, 0.46643, 66, 68.41, -113.98, 0.00926, 4, 46, 163.06, -108.69, 0.18724, 47, 45.64, -22.03, 0.3133, 48, -18.14, -12.93, 0.47469, 66, 52.84, -108.69, 0.02477, 2, 46, 151.52, -95.05, 0.91122, 66, 41.31, -95.05, 0.08878, 2, 46, 110.61, -87.69, 0.70564, 66, 0.4, -87.69, 0.29436, 2, 46, 81.05, -86.58, 0.63951, 66, -29.16, -86.58, 0.36049, 2, 46, 89.82, -114.32, 0.57, 66, -20.39, -114.32, 0.43, 2, 46, 68.72, -120.91, 0.57, 66, -41.49, -120.91, 0.43, 2, 46, 58.1, -115.9, 0.57, 66, -52.11, -115.9, 0.43, 2, 46, 51.03, -100.63, 0.64242, 66, -59.18, -100.63, 0.35758, 2, 46, 38.79, -106.76, 0.81659, 66, -71.43, -106.76, 0.18341, 2, 46, 2.68, -89.7, 0.77801, 66, -107.53, -89.7, 0.22199, 2, 46, -22.07, -19.3, 0.823, 66, -132.28, -19.3, 0.177, 2, 46, 1.2, 45.63, 0.51204, 66, -109.01, 45.63, 0.48796, 2, 46, 8.07, 64.81, 0.60869, 66, -102.14, 64.81, 0.39131, 2, 46, 35.44, 93.73, 0.80009, 66, -74.77, 93.73, 0.19991, 2, 46, 59.98, 119.66, 0.93554, 66, -50.23, 119.66, 0.06446, 2, 46, 109.26, 136.99, 0.99895, 66, -0.95, 136.99, 0.00105, 1, 46, 174.07, 135.27, 1, 3, 46, 205.59, 101.22, 0.80778, 49, -16.84, 104.63, 0.15658, 66, 95.38, 101.22, 0.03564, 3, 50, 58.94, 30.5, 0.43491, 49, 38.36, 61.89, 0.28116, 66, 119.35, 35.65, 0.28393, 2, 50, 75.56, 19.01, 0.92164, 66, 138.68, 41.52, 0.07836, 1, 50, 106.7, 26.9, 1, 1, 50, 83.79, -9.51, 1, 5, 47, 44.51, 27.24, 0.15139, 48, 19.12, 19.33, 0.44847, 50, -46.82, -15.19, 0.05757, 49, 72.19, -48.24, 0.1149, 66, 89.35, -75.58, 0.22767, 3, 47, 7.42, 19.08, 0.37772, 49, 34.32, -45.24, 0.09918, 66, 58.9, -52.89, 0.52311, 2, 49, 45.94, -9.07, 0.4826, 66, 87.99, -28.45, 0.5174, 2, 50, 20.62, -16.35, 0.7435, 66, 132.21, -23.49, 0.2565, 2, 50, 75.74, 0.94, 0.97172, 66, 152.95, 30.42, 0.02828, 4, 46, 200.45, 40.46, 0.18809, 50, 44.6, 56.29, 0.05831, 49, 11.15, 50.46, 0.14366, 66, 90.24, 40.46, 0.60994, 2, 46, 171.41, 90.12, 0.48644, 66, 61.2, 90.12, 0.51356, 2, 46, 164.84, -48.18, 0.43217, 66, 54.62, -48.18, 0.56783, 4, 46, 168.13, -6.02, 0.01949, 47, -28.65, 49.02, 0.02229, 49, 8.54, -6.09, 0.12791, 66, 57.92, -6.02, 0.83031, 2, 46, 167.84, 37.87, 0.15, 66, 57.63, 37.87, 0.85, 2, 46, 162.36, 71.5, 0.24107, 66, 52.15, 71.5, 0.75893, 2, 46, 163.11, -47.44, 0.41951, 66, 52.9, -47.44, 0.58049, 2, 46, 165.94, -5.87, 0.16355, 66, 55.73, -5.87, 0.83645, 2, 46, 165.14, 37.38, 0.15, 66, 54.93, 37.38, 0.85, 2, 46, 157.6, 71.4, 0.21735, 66, 47.39, 71.4, 0.78265, 3, 46, 163.5, -99.54, 0.61812, 47, 39.01, -15.71, 0.30445, 66, 53.29, -99.54, 0.07744, 2, 46, 45.38, 27.24, 0.16741, 66, -64.83, 27.24, 0.83259, 2, 46, 63.74, 44.98, 0.15, 66, -46.47, 44.98, 0.85, 2, 46, 70.7, 61.92, 0.22175, 66, -39.51, 61.92, 0.77825, 2, 46, 62.88, 78.71, 0.38, 66, -47.34, 78.71, 0.62, 2, 46, 46.53, 85.3, 0.51, 66, -63.68, 85.3, 0.49, 2, 46, 29.92, 79.34, 0.388, 66, -80.29, 79.34, 0.612, 2, 46, 15.08, 62.21, 0.38, 66, -95.13, 62.21, 0.62, 2, 46, 14.09, 45.32, 0.41, 66, -96.12, 45.32, 0.59, 2, 46, 24.3, 27.06, 0.192, 66, -85.91, 27.06, 0.808, 1, 66, -61.57, 15.3, 1, 2, 46, 84.87, 62.14, 0.16757, 66, -25.34, 62.14, 0.83243, 2, 46, 61.9, 94.84, 0.68145, 66, -48.31, 94.84, 0.31855, 2, 46, 22.54, 21.88, 0.16, 66, -87.67, 21.88, 0.84, 2, 46, 43.15, -95.95, 0.73445, 66, -67.06, -95.95, 0.26555, 2, 46, 41.77, -87.24, 0.67858, 66, -68.44, -87.24, 0.32142, 2, 46, 60.05, -70.36, 0.50195, 66, -50.16, -70.36, 0.49805, 2, 46, 48.49, 51.09, 0.25, 66, -61.72, 51.09, 0.75, 2, 46, 48.17, 73.71, 0.15634, 66, -62.04, 73.71, 0.84366 ], + "hull": 29, + "edges": [ 10, 8, 8, 6, 6, 4, 4, 2, 2, 0, 0, 56, 54, 56, 54, 52, 52, 50, 50, 48, 48, 46, 46, 44, 42, 44, 32, 34, 4, 58, 58, 60, 62, 64, 64, 66, 66, 54, 50, 68, 68, 70, 70, 44, 60, 72, 62, 74, 72, 74, 74, 76, 76, 78, 78, 44, 16, 80, 80, 82, 82, 84, 84, 86, 86, 44, 14, 88, 88, 72, 14, 16, 10, 12, 12, 14, 12, 60, 90, 92, 92, 94, 94, 96, 96, 98, 98, 100, 100, 102, 102, 104, 104, 106, 106, 90, 108, 110, 110, 112, 38, 40, 40, 42, 112, 40, 34, 36, 36, 38, 36, 114, 114, 108, 30, 32, 30, 28, 24, 26, 28, 26, 22, 24, 22, 20, 20, 18, 18, 16, 28, 116, 116, 118, 118, 120, 120, 20 ], + "width": 271, + "height": 298 + } + }, + "head-bb": { + "head": { + "type": "boundingbox", + "vertexCount": 6, + "vertices": [ -19.14, -70.3, 40.8, -118.08, 257.78, -115.62, 285.17, 57.18, 120.77, 164.95, -5.07, 76.95 ] + } + }, + "hoverboard-board": { + "hoverboard-board": { + "type": "mesh", + "uvs": [ 0.13865, 0.56624, 0.11428, 0.51461, 0.07619, 0.52107, 0.02364, 0.52998, 0.01281, 0.53182, 0, 0.37979, 0, 0.2206, 0.00519, 0.10825, 0.01038, 0.10726, 0.03834, 0.10194, 0.05091, 0, 0.08326, 0, 0.10933, 0.04206, 0.1382, 0.08865, 0.18916, 0.24067, 0.22234, 0.4063, 0.23886, 0.44063, 0.83412, 0.44034, 0.88444, 0.38296, 0.92591, 0.32639, 0.95996, 0.28841, 0.98612, 0.28542, 1, 0.38675, 0.99494, 0.47104, 0.97883, 0.53251, 0.94409, 0.62135, 0.90206, 0.69492, 0.86569, 0.71094, 0.82822, 0.70791, 0.81286, 0.77127, 0.62931, 0.77266, 0.61364, 0.70645, 0.47166, 0.70664, 0.45901, 0.77827, 0.27747, 0.76986, 0.2658, 0.70372, 0.24976, 0.71381, 0.24601, 0.77827, 0.23042, 0.84931, 0.20926, 0.90956, 0.17299, 1, 0.15077, 0.99967, 0.12906, 0.90192, 0.10369, 0.73693, 0.10198, 0.62482, 0.09131, 0.47272, 0.09133, 0.41325, 0.15082, 0.41868, 0.21991, 0.51856, 0.06331, 0.10816, 0.08383, 0.21696, 0.08905, 0.37532, 0.15903, 0.58726, 0.17538, 0.65706, 0.20118, 0.8029, 0.17918, 0.55644, 0.22166, 0.5802, 0.86259, 0.57962, 0.92346, 0.48534, 0.96691, 0.36881, 0.0945, 0.13259, 0.12688, 0.17831, 0.15986, 0.24682, 0.18036, 0.31268, 0.20607, 0.4235, 0.16074, 0.85403, 0.13624, 0.70122, 0.12096, 0.64049, 0.02396, 0.21811, 0.02732, 0.37839, 0.02557, 0.4972, 0.14476, 0.45736, 0.18019, 0.51689, 0.19692, 0.56636 ], + "triangles": [ 10, 11, 12, 9, 10, 12, 49, 9, 12, 60, 49, 12, 13, 60, 12, 61, 60, 13, 50, 49, 60, 50, 60, 61, 68, 8, 9, 68, 9, 49, 68, 49, 50, 7, 8, 68, 6, 7, 68, 61, 13, 14, 62, 61, 14, 50, 61, 62, 63, 62, 14, 59, 20, 21, 19, 20, 59, 51, 50, 62, 51, 62, 63, 51, 69, 68, 51, 68, 50, 6, 68, 69, 5, 6, 69, 18, 19, 59, 15, 63, 14, 59, 21, 22, 47, 51, 63, 47, 46, 51, 47, 63, 64, 15, 64, 63, 64, 15, 16, 71, 46, 47, 23, 59, 22, 69, 51, 70, 45, 46, 71, 70, 51, 2, 58, 18, 59, 58, 59, 23, 17, 18, 58, 70, 5, 69, 2, 51, 46, 1, 45, 71, 47, 48, 71, 47, 64, 48, 48, 72, 71, 1, 71, 72, 16, 48, 64, 45, 2, 46, 2, 45, 1, 70, 4, 5, 3, 70, 2, 3, 4, 70, 24, 58, 23, 72, 0, 1, 73, 55, 72, 55, 0, 72, 48, 73, 72, 57, 17, 58, 25, 57, 58, 56, 48, 16, 73, 48, 56, 56, 16, 17, 56, 17, 57, 52, 0, 55, 24, 25, 58, 44, 0, 52, 67, 44, 52, 52, 56, 53, 73, 52, 55, 56, 52, 73, 67, 52, 53, 26, 57, 25, 66, 67, 53, 56, 32, 35, 53, 56, 35, 56, 57, 32, 28, 31, 57, 57, 31, 32, 57, 27, 28, 26, 27, 57, 36, 53, 35, 43, 44, 67, 43, 67, 66, 34, 35, 32, 29, 31, 28, 30, 31, 29, 53, 54, 66, 53, 36, 54, 33, 34, 32, 37, 54, 36, 65, 43, 66, 38, 54, 37, 54, 65, 66, 39, 65, 54, 42, 43, 65, 38, 39, 54, 40, 42, 65, 40, 41, 42, 65, 39, 40 ], + "vertices": [ -189.36, 15.62, -201.35, 23.47, -220.09, 22.49, -245.95, 21.13, -251.28, 20.86, -257.58, 43.96, -257.57, 68.16, -255.02, 85.24, -252.47, 85.39, -238.71, 86.2, -232.52, 101.69, -216.61, 101.69, -203.78, 95.3, -189.58, 88.21, -164.51, 65.1, -148.19, 39.93, -140.06, 34.71, 152.82, 34.73, 177.57, 43.45, 197.97, 52.05, 214.72, 57.82, 227.6, 58.27, 234.42, 42.87, 231.94, 30.06, 224.01, 20.72, 206.91, 7.21, 186.23, -3.97, 168.34, -6.4, 149.9, -5.94, 142.35, -15.57, 52.04, -15.77, 44.33, -5.71, -25.52, -5.73, -31.75, -16.62, -121.07, -15.34, -126.81, -5.28, -134.7, -6.81, -136.54, -16.61, -144.22, -27.41, -154.63, -36.57, -172.47, -50.31, -183.41, -50.26, -194.09, -35.4, -206.56, -10.32, -207.4, 6.72, -212.65, 29.84, -212.64, 38.88, -183.37, 38.05, -149.38, 22.86, -226.43, 85.25, -216.33, 68.71, -213.76, 44.64, -179.34, 12.42, -171.29, 1.81, -158.6, -20.36, -169.42, 17.11, -148.52, 13.49, 166.82, 13.56, 196.76, 27.89, 218.14, 45.6, -211.08, 81.54, -195.15, 74.59, -178.93, 64.17, -168.84, 54.16, -156.19, 37.31, -178.5, -28.13, -190.55, -4.9, -198.07, 4.33, -245.79, 68.54, -244.14, 44.18, -245, 26.12, -186.36, 32.17, -168.92, 23.12, -160.69, 15.6 ], + "hull": 45, + "edges": [ 0, 2, 8, 10, 10, 12, 12, 14, 18, 20, 20, 22, 26, 28, 28, 30, 30, 32, 32, 34, 34, 36, 36, 38, 38, 40, 40, 42, 42, 44, 44, 46, 46, 48, 48, 50, 50, 52, 52, 54, 54, 56, 56, 58, 58, 60, 60, 62, 62, 64, 64, 66, 66, 68, 68, 70, 70, 72, 72, 74, 80, 82, 82, 84, 84, 86, 86, 88, 0, 88, 2, 90, 90, 92, 92, 94, 94, 96, 96, 32, 18, 98, 98, 100, 100, 102, 2, 4, 102, 4, 92, 102, 0, 104, 104, 106, 106, 108, 78, 80, 108, 78, 74, 76, 76, 78, 62, 56, 64, 70, 0, 110, 112, 114, 114, 116, 116, 118, 118, 42, 50, 116, 114, 34, 98, 120, 120, 122, 22, 24, 24, 26, 120, 24, 122, 124, 124, 126, 126, 128, 128, 96, 80, 130, 130, 132, 132, 134, 134, 88, 14, 16, 16, 18, 136, 16, 136, 138, 138, 140, 4, 6, 6, 8, 140, 6, 96, 112, 92, 142, 142, 144, 110, 146, 146, 112, 144, 146 ], + "width": 492, + "height": 152 + } + }, + "hoverboard-thruster-front": { + "hoverboard-thruster": { "x": 0.02, "y": -7.08, "rotation": 0.17, "width": 60, "height": 64 } + }, + "hoverboard-thruster-rear": { + "hoverboard-thruster": { "x": 1.1, "y": -6.29, "rotation": 0.17, "width": 60, "height": 64 } + }, + "hoverglow-front": { + "hoverglow-small": { + "x": 2.13, + "y": -2, + "scaleX": 0.303, + "scaleY": 0.495, + "rotation": 0.15, + "width": 274, + "height": 75 + } + }, + "hoverglow-rear": { + "hoverglow-small": { + "x": 1.39, + "y": -2.09, + "scaleX": 0.303, + "scaleY": 0.495, + "rotation": 0.61, + "width": 274, + "height": 75 + } + }, + "mouth": { + "mouth-grind": { + "type": "mesh", + "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], + "triangles": [ 1, 3, 0, 1, 2, 3 ], + "vertices": [ 2, 66, -98.93, -85.88, 0.22, 46, 11.28, -85.88, 0.78, 2, 66, -129.77, 1.84, 0.6, 46, -19.56, 1.84, 0.4, 2, 66, -74.12, 21.41, 0.6, 46, 36.09, 21.41, 0.4, 2, 66, -43.28, -66.32, 0.4, 46, 66.93, -66.32, 0.6 ], + "hull": 4, + "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], + "width": 93, + "height": 59 + }, + "mouth-oooo": { + "type": "mesh", + "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], + "triangles": [ 1, 3, 0, 1, 2, 3 ], + "vertices": [ 2, 46, 11.28, -85.89, 0.22, 66, -98.93, -85.89, 0.78, 2, 46, -19.56, 1.85, 0.6, 66, -129.78, 1.85, 0.4, 2, 46, 36.1, 21.42, 0.6, 66, -74.12, 21.42, 0.4, 2, 46, 66.94, -66.32, 0.4, 66, -43.27, -66.32, 0.6 ], + "hull": 4, + "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], + "width": 93, + "height": 59 + }, + "mouth-smile": { + "type": "mesh", + "uvs": [ 1, 1, 0, 1, 0, 0, 1, 0 ], + "triangles": [ 1, 3, 0, 1, 2, 3 ], + "vertices": [ 2, 66, -98.93, -85.89, 0.21075, 46, 11.28, -85.89, 0.78925, 2, 66, -129.77, 1.85, 0.6, 46, -19.56, 1.85, 0.4, 2, 66, -74.11, 21.42, 0.6, 46, 36.1, 21.42, 0.4, 2, 66, -43.27, -66.32, 0.40772, 46, 66.94, -66.32, 0.59228 ], + "hull": 4, + "edges": [ 0, 2, 2, 4, 4, 6, 0, 6 ], + "width": 93, + "height": 59 + } + }, + "muzzle": { + "muzzle01": { + "x": 151.97, + "y": 5.81, + "scaleX": 3.7361, + "scaleY": 3.7361, + "rotation": 0.15, + "width": 133, + "height": 79 + }, + "muzzle02": { + "x": 187.25, + "y": 5.9, + "scaleX": 4.0623, + "scaleY": 4.0623, + "rotation": 0.15, + "width": 135, + "height": 84 + }, + "muzzle03": { + "x": 231.96, + "y": 6.02, + "scaleX": 4.1325, + "scaleY": 4.1325, + "rotation": 0.15, + "width": 166, + "height": 106 + }, + "muzzle04": { + "x": 231.96, + "y": 6.02, + "scaleX": 4.0046, + "scaleY": 4.0046, + "rotation": 0.15, + "width": 149, + "height": 90 + }, + "muzzle05": { + "x": 293.8, + "y": 6.19, + "scaleX": 4.4673, + "scaleY": 4.4673, + "rotation": 0.15, + "width": 135, + "height": 75 + } + }, + "muzzle-glow": { + "muzzle-glow": { "width": 50, "height": 50 } + }, + "muzzle-ring": { + "muzzle-ring": { "x": -1.3, "y": 0.32, "scaleX": 0.3147, "scaleY": 0.3147, "width": 49, "height": 209 } + }, + "muzzle-ring2": { + "muzzle-ring": { "x": -1.3, "y": 0.32, "scaleX": 0.3147, "scaleY": 0.3147, "width": 49, "height": 209 } + }, + "muzzle-ring3": { + "muzzle-ring": { "x": -1.3, "y": 0.32, "scaleX": 0.3147, "scaleY": 0.3147, "width": 49, "height": 209 } + }, + "muzzle-ring4": { + "muzzle-ring": { "x": -1.3, "y": 0.32, "scaleX": 0.3147, "scaleY": 0.3147, "width": 49, "height": 209 } + }, + "neck": { + "neck": { "x": 9.77, "y": -3.01, "rotation": -55.22, "width": 36, "height": 41 } + }, + "portal-bg": { + "portal-bg": { "x": -3.1, "y": 7.25, "scaleX": 1.0492, "scaleY": 1.0492, "width": 266, "height": 266 } + }, + "portal-flare1": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-flare2": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-flare3": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-flare4": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-flare5": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-flare6": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-flare7": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-flare8": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-flare9": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-flare10": { + "portal-flare1": { "width": 111, "height": 60 }, + "portal-flare2": { "width": 114, "height": 61 }, + "portal-flare3": { "width": 115, "height": 59 } + }, + "portal-shade": { + "portal-shade": { "width": 266, "height": 266 } + }, + "portal-streaks1": { + "portal-streaks1": { "scaleX": 0.9774, "scaleY": 0.9774, "width": 252, "height": 256 } + }, + "portal-streaks2": { + "portal-streaks2": { "x": -1.64, "y": 2.79, "width": 250, "height": 249 } + }, + "rear-bracer": { + "rear-bracer": { "x": 11.15, "y": -2.2, "rotation": 66.17, "width": 56, "height": 72 } + }, + "rear-foot": { + "rear-foot": { + "type": "mesh", + "uvs": [ 0.48368, 0.1387, 0.51991, 0.21424, 0.551, 0.27907, 0.58838, 0.29816, 0.63489, 0.32191, 0.77342, 0.39267, 1, 0.73347, 1, 1, 0.54831, 0.99883, 0.31161, 1, 0, 1, 0, 0.41397, 0.13631, 0, 0.41717, 0 ], + "triangles": [ 8, 3, 4, 8, 4, 5, 8, 5, 6, 8, 6, 7, 11, 1, 10, 3, 9, 2, 2, 10, 1, 12, 13, 0, 0, 11, 12, 1, 11, 0, 2, 9, 10, 3, 8, 9 ], + "vertices": [ 2, 8, 10.45, 29.41, 0.90802, 9, -6.74, 49.62, 0.09198, 2, 8, 16.56, 29.27, 0.84259, 9, -2.65, 45.09, 0.15741, 2, 8, 21.8, 29.15, 0.69807, 9, 0.85, 41.2, 0.30193, 2, 8, 25.53, 31.43, 0.52955, 9, 5.08, 40.05, 0.47045, 2, 8, 30.18, 34.27, 0.39303, 9, 10.33, 38.62, 0.60697, 2, 8, 44.02, 42.73, 0.27525, 9, 25.98, 34.36, 0.72475, 2, 8, 76.47, 47.28, 0.21597, 9, 51.56, 13.9, 0.78403, 2, 8, 88.09, 36.29, 0.28719, 9, 51.55, -2.09, 0.71281, 2, 8, 52.94, -0.73, 0.47576, 9, 0.52, -1.98, 0.52424, 2, 8, 34.63, -20.23, 0.68757, 9, -26.23, -2.03, 0.31243, 2, 8, 10.44, -45.81, 0.84141, 9, -61.43, -2, 0.15859, 2, 8, -15.11, -21.64, 0.93283, 9, -61.4, 33.15, 0.06717, 1, 8, -22.57, 6.61, 1, 1, 8, -0.76, 29.67, 1 ], + "hull": 14, + "edges": [ 14, 12, 10, 12, 14, 16, 16, 18, 18, 20, 4, 18, 20, 22, 24, 26, 22, 24, 4, 2, 2, 20, 4, 6, 6, 16, 6, 8, 8, 10, 2, 0, 0, 26 ], + "width": 113, + "height": 60 + } + }, + "rear-shin": { + "rear-shin": { "x": 58.29, "y": -2.75, "rotation": 92.37, "width": 75, "height": 178 } + }, + "rear-thigh": { + "rear-thigh": { "x": 33.11, "y": -4.11, "rotation": 72.54, "width": 55, "height": 94 } + }, + "rear-upper-arm": { + "rear-upper-arm": { "x": 21.13, "y": 4.09, "rotation": 89.33, "width": 40, "height": 87 } + }, + "side-glow1": { + "hoverglow-small": { "x": 2.09, "scaleX": 0.2353, "scaleY": 0.4132, "width": 274, "height": 75 } + }, + "side-glow2": { + "hoverglow-small": { "x": 2.09, "scaleX": 0.2353, "scaleY": 0.4132, "width": 274, "height": 75 } + }, + "side-glow3": { + "hoverglow-small": { "x": 2.09, "scaleX": 0.3586, "scaleY": 0.6297, "width": 274, "height": 75 } + }, + "torso": { + "torso": { + "type": "mesh", + "uvs": [ 0.6251, 0.12672, 1, 0.26361, 1, 0.28871, 1, 0.66021, 1, 0.68245, 0.92324, 0.69259, 0.95116, 0.84965, 0.77124, 1, 0.49655, 1, 0.27181, 1, 0.13842, 0.77196, 0.09886, 0.6817, 0.05635, 0.58471, 0, 0.45614, 0, 0.33778, 0, 0.19436, 0.14463, 0, 0.27802, 0, 0.72525, 0.27835, 0.76091, 0.46216, 0.84888, 0.67963, 0.68257, 0.63249, 0.53986, 0.3847, 0.25443, 0.3217, 0.30063, 0.55174, 0.39553, 0.79507, 0.26389, 0.17007, 0.5241, 0.18674, 0.71492, 0.76655, 0.82151, 0.72956, 0.27626, 0.4304, 0.62327, 0.52952, 0.3455, 0.66679, 0.53243, 0.2914 ], + "triangles": [ 18, 1, 2, 19, 2, 3, 18, 0, 1, 23, 15, 26, 27, 26, 16, 14, 15, 23, 15, 16, 26, 17, 27, 16, 13, 14, 23, 0, 27, 17, 13, 23, 30, 11, 12, 24, 21, 31, 19, 12, 13, 30, 24, 22, 31, 31, 22, 19, 12, 30, 24, 32, 24, 31, 24, 30, 22, 3, 20, 19, 32, 31, 21, 11, 24, 32, 4, 5, 3, 8, 28, 7, 7, 29, 6, 7, 28, 29, 9, 25, 8, 8, 25, 28, 9, 10, 25, 29, 5, 6, 10, 32, 25, 25, 21, 28, 25, 32, 21, 10, 11, 32, 28, 21, 29, 29, 20, 5, 29, 21, 20, 5, 20, 3, 20, 21, 19, 33, 26, 27, 22, 18, 19, 19, 18, 2, 33, 27, 18, 30, 23, 22, 22, 33, 18, 23, 33, 22, 33, 23, 26, 27, 0, 18 ], + "vertices": [ 2, 29, 44.59, -10.39, 0.88, 40, -17.65, 33.99, 0.12, 3, 28, 59.65, -45.08, 0.12189, 29, 17.13, -45.08, 0.26811, 40, 22.68, 15.82, 0.61, 3, 28, 55.15, -44.72, 0.1345, 29, 12.63, -44.72, 0.2555, 40, 23.43, 11.37, 0.61, 3, 27, 31.01, -39.45, 0.51133, 28, -11.51, -39.45, 0.30867, 40, 34.58, -54.57, 0.18, 3, 27, 27.01, -39.14, 0.53492, 28, -15.5, -39.14, 0.28508, 40, 35.25, -58.52, 0.18, 2, 27, 25.79, -31.5, 0.75532, 28, -16.73, -31.5, 0.24468, 1, 27, -2.61, -32, 1, 1, 27, -28.2, -12.29, 1, 1, 27, -26.08, 14.55, 1, 1, 27, -24.35, 36.5, 1, 2, 27, 17.6, 46.3, 0.8332, 28, -24.92, 46.3, 0.1668, 2, 27, 34.1, 48.89, 0.59943, 28, -8.42, 48.89, 0.40058, 3, 27, 51.83, 51.67, 0.29262, 28, 9.32, 51.67, 0.63181, 29, -33.2, 51.67, 0.07557, 3, 27, 75.34, 55.35, 0.06656, 28, 32.82, 55.35, 0.62298, 29, -9.7, 55.35, 0.31046, 2, 28, 54.06, 53.67, 0.37296, 29, 11.54, 53.67, 0.62704, 2, 28, 79.79, 51.64, 0.10373, 29, 37.27, 51.64, 0.89627, 1, 29, 71.04, 34.76, 1, 1, 29, 70.01, 21.72, 1, 1, 30, 36.74, 7.06, 1, 3, 30, 45.7, -24.98, 0.67, 28, 25.87, -18.9, 0.3012, 29, -16.65, -18.9, 0.0288, 2, 27, 28.69, -24.42, 0.77602, 28, -13.83, -24.42, 0.22398, 3, 30, 43.24, -56.49, 0.064, 27, 38.43, -8.84, 0.67897, 28, -4.09, -8.84, 0.25703, 3, 30, 22.02, -14.85, 0.29, 28, 41.48, 1.59, 0.53368, 29, -1.04, 1.59, 0.17632, 3, 30, -7.45, -8.33, 0.76, 28, 54.98, 28.59, 0.06693, 29, 12.46, 28.59, 0.17307, 3, 30, 3.91, -48.4, 0.25, 27, 55.87, 27.33, 0.15843, 28, 13.35, 27.33, 0.59157, 1, 27, 11.47, 21.51, 1, 2, 30, -11.09, 18.74, 0.416, 29, 39.6, 25.51, 0.584, 2, 30, 14.56, 20.03, 0.53, 29, 34.6, 0.33, 0.47, 1, 27, 14.12, -10.1, 1, 2, 27, 19.94, -21.03, 0.92029, 28, -22.58, -21.03, 0.07971, 3, 30, -2.08, -27.26, 0.29, 28, 35.31, 27.99, 0.49582, 29, -7.21, 27.99, 0.21418, 2, 30, 34.42, -39.19, 0.25, 28, 14.84, -4.5, 0.75, 2, 27, 34.87, 24.58, 0.67349, 28, -7.64, 24.58, 0.32651, 2, 30, 18.5, 1.59, 0.76, 29, 15.76, 1, 0.24 ], + "hull": 18, + "edges": [ 14, 12, 12, 10, 10, 8, 18, 20, 32, 34, 30, 32, 2, 4, 36, 4, 36, 38, 38, 40, 4, 6, 6, 8, 40, 6, 40, 42, 14, 16, 16, 18, 50, 16, 46, 52, 54, 36, 2, 0, 0, 34, 54, 0, 54, 32, 20, 50, 14, 56, 56, 42, 50, 56, 56, 58, 58, 40, 58, 10, 46, 60, 60, 48, 26, 60, 60, 44, 24, 26, 24, 48, 42, 62, 62, 44, 48, 62, 48, 64, 64, 50, 42, 64, 20, 22, 22, 24, 64, 22, 26, 28, 28, 30, 28, 46, 44, 66, 66, 54, 46, 66, 66, 36, 62, 38 ], + "width": 98, + "height": 180 + } + } + } + } +], +"events": { + "footstep": {} +}, +"animations": { + "aim": { + "slots": { + "crosshair": { + "attachment": [ + { "name": "crosshair" } + ] + } + }, + "bones": { + "front-fist": { + "rotate": [ + { "value": 36.08 } + ] + }, + "rear-bracer": { + "rotate": [ + { "value": -26.55 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { "value": 62.31 } + ] + }, + "front-bracer": { + "rotate": [ + { "value": 9.11 } + ] + }, + "gun": { + "rotate": [ + { "value": -0.31 } + ] + } + }, + "ik": { + "aim-ik": [ + { "mix": 0.995 } + ] + }, + "transform": { + "aim-front-arm-transform": [ + { "mixRotate": 0.784, "mixX": 0, "mixScaleX": 0, "mixShearY": 0 } + ], + "aim-head-transform": [ + { "mixRotate": 0.659, "mixX": 0, "mixScaleX": 0, "mixShearY": 0 } + ], + "aim-torso-transform": [ + { "mixRotate": 0.423, "mixX": 0, "mixScaleX": 0, "mixShearY": 0 } + ] + } + }, + "death": { + "slots": { + "eye": { + "attachment": [ + { "name": "eye-surprised" }, + { "time": 0.5333, "name": "eye-indifferent" }, + { "time": 2.2, "name": "eye-surprised" }, + { "time": 4.6, "name": "eye-indifferent" } + ] + }, + "front-fist": { + "attachment": [ + { "name": "front-fist-open" } + ] + }, + "mouth": { + "attachment": [ + { "name": "mouth-oooo" }, + { "time": 0.5333, "name": "mouth-grind" }, + { "time": 1.4, "name": "mouth-oooo" }, + { "time": 2.1667, "name": "mouth-grind" }, + { "time": 4.5333, "name": "mouth-oooo" } + ] + } + }, + "bones": { + "head": { + "rotate": [ + { + "value": -2.83, + "curve": [ 0.015, -2.83, 0.036, 12.72 ] + }, + { + "time": 0.0667, + "value": 12.19, + "curve": [ 0.096, 11.68, 0.119, -1.14 ] + }, + { + "time": 0.1333, + "value": -6.86, + "curve": [ 0.149, -13.27, 0.21, -37.28 ] + }, + { + "time": 0.3, + "value": -36.86, + "curve": [ 0.354, -36.61, 0.412, -32.35 ] + }, + { + "time": 0.4667, + "value": -23.49, + "curve": [ 0.49, -19.87, 0.512, -3.29 ] + }, + { + "time": 0.5333, + "value": -3.24, + "curve": [ 0.56, -3.39, 0.614, -67.25 ] + }, + { + "time": 0.6333, + "value": -74.4, + "curve": [ 0.652, -81.58, 0.702, -88.94 ] + }, + { + "time": 0.7333, + "value": -88.93, + "curve": [ 0.805, -88.91, 0.838, -80.87 ] + }, + { + "time": 0.8667, + "value": -81.03, + "curve": [ 0.922, -81.32, 0.976, -85.29 ] + }, + { "time": 1, "value": -85.29, "curve": "stepped" }, + { + "time": 2.2333, + "value": -85.29, + "curve": [ 2.314, -85.29, 2.382, -68.06 ] + }, + { + "time": 2.4667, + "value": -63.48, + "curve": [ 2.57, -57.87, 2.916, -55.24 ] + }, + { + "time": 3.2, + "value": -55.1, + "curve": [ 3.447, -54.98, 4.135, -56.61 ] + }, + { + "time": 4.2667, + "value": -58.23, + "curve": [ 4.672, -63.24, 4.646, -82.69 ] + }, + { "time": 4.9333, "value": -85.29 } + ], + "scale": [ + { + "time": 0.4667, + "curve": [ 0.469, 1.005, 0.492, 1.065, 0.475, 1.018, 0.492, 0.94 ] + }, + { + "time": 0.5, + "x": 1.065, + "y": 0.94, + "curve": [ 0.517, 1.065, 0.541, 0.991, 0.517, 0.94, 0.542, 1.026 ] + }, + { + "time": 0.5667, + "x": 0.99, + "y": 1.025, + "curve": [ 0.593, 0.988, 0.609, 1.002, 0.595, 1.024, 0.607, 1.001 ] + }, + { "time": 0.6333 } + ] + }, + "neck": { + "rotate": [ + { + "value": -2.83, + "curve": [ 0.114, 1.33, 0.195, 4.13 ] + }, + { + "time": 0.2667, + "value": 4.13, + "curve": [ 0.351, 4.14, 0.444, -24.5 ] + }, + { + "time": 0.5, + "value": -24.69, + "curve": [ 0.571, -23.89, 0.55, 34.22 ] + }, + { + "time": 0.6667, + "value": 35.13, + "curve": [ 0.713, 34.81, 0.756, 22.76 ] + }, + { + "time": 0.8333, + "value": 22.82, + "curve": [ 0.868, 22.84, 0.916, 47.95 ] + }, + { "time": 0.9667, "value": 47.95, "curve": "stepped" }, + { + "time": 2.2333, + "value": 47.95, + "curve": [ 2.3, 47.95, 2.617, 18.72 ] + }, + { + "time": 2.6667, + "value": 18.51, + "curve": [ 3.172, 16.58, 4.06, 16.79 ] + }, + { + "time": 4.5333, + "value": 18.51, + "curve": [ 4.707, 19.13, 4.776, 41.11 ] + }, + { "time": 4.8, "value": 47.95 } + ] + }, + "torso": { + "rotate": [ + { + "value": -8.62, + "curve": [ 0.01, -16.71, 0.032, -33.6 ] + }, + { + "time": 0.0667, + "value": -33.37, + "curve": [ 0.182, -32.61, 0.298, 123.07 ] + }, + { + "time": 0.4667, + "value": 122.77, + "curve": [ 0.511, 122.69, 0.52, 100.2 ] + }, + { + "time": 0.5667, + "value": 88.96, + "curve": [ 0.588, 83.89, 0.667, 75.34 ] + }, + { + "time": 0.7, + "value": 75.34, + "curve": [ 0.767, 75.34, 0.9, 76.03 ] + }, + { "time": 0.9667, "value": 76.03 } + ] + }, + "front-upper-arm": { + "rotate": [ + { + "value": -38.86, + "curve": [ 0.022, -40.38, 0.096, -41.92 ] + }, + { + "time": 0.1333, + "value": -41.92, + "curve": [ 0.176, -41.92, 0.216, -16.92 ] + }, + { + "time": 0.2333, + "value": -4.35, + "curve": [ 0.258, 13.69, 0.308, 60.35 ] + }, + { + "time": 0.4, + "value": 60.17, + "curve": [ 0.496, 59.98, 0.539, 33.63 ] + }, + { + "time": 0.5667, + "value": 23.06, + "curve": [ 0.595, 32.71, 0.675, 53.71 ] + }, + { + "time": 0.7333, + "value": 53.61, + "curve": [ 0.797, 53.51, 0.926, 30.98 ] + }, + { "time": 0.9333, "value": 19.57, "curve": "stepped" }, + { + "time": 1.9667, + "value": 19.57, + "curve": [ 2.245, 19.57, 2.702, 77.03 ] + }, + { + "time": 3.0667, + "value": 77.06, + "curve": [ 3.209, 77.33, 3.291, 67.99 ] + }, + { + "time": 3.4333, + "value": 67.96, + "curve": [ 3.608, 68.34, 3.729, 73.88 ] + }, + { + "time": 3.8333, + "value": 73.42, + "curve": [ 4.152, 73.91, 4.46, 71.98 ] + }, + { + "time": 4.6333, + "value": 64.77, + "curve": [ 4.688, 62.5, 4.847, 26.42 ] + }, + { "time": 4.8667, "value": 10.94 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { + "value": -44.7, + "curve": [ 0.033, -44.7, 0.12, 54.89 ] + }, + { + "time": 0.1333, + "value": 64.62, + "curve": [ 0.154, 79.18, 0.214, 79.42 ] + }, + { + "time": 0.2667, + "value": 63.4, + "curve": [ 0.293, 55.19, 0.332, 30.13 ] + }, + { + "time": 0.3667, + "value": 30.13, + "curve": [ 0.4, 30.13, 0.441, 39.87 ] + }, + { + "time": 0.4667, + "value": 55.13, + "curve": [ 0.488, 68.18, 0.52, 100.72 ] + }, + { + "time": 0.5333, + "value": 111.96, + "curve": [ 0.551, 126.88, 0.627, 185.97 ] + }, + { + "time": 0.6667, + "value": 185.97, + "curve": [ 0.692, 185.97, 0.736, 162.43 ] + }, + { + "time": 0.8, + "value": 158.01, + "curve": [ 0.9, 151.12, 1.017, 144.01 ] + }, + { "time": 1.1, "value": 144.01, "curve": "stepped" }, + { + "time": 2.3667, + "value": 144.01, + "curve": [ 2.492, 144.01, 2.742, 138.63 ] + }, + { + "time": 2.8667, + "value": 138.63, + "curve": [ 3.067, 138.63, 3.467, 138.63 ] + }, + { + "time": 3.6667, + "value": 138.63, + "curve": [ 3.883, 138.63, 4.317, 135.18 ] + }, + { + "time": 4.5333, + "value": 135.18, + "curve": [ 4.575, 135.18, 4.692, 131.59 ] + }, + { + "time": 4.7333, + "value": 131.59, + "curve": [ 4.758, 131.59, 4.517, 144.01 ] + }, + { "time": 4.8333, "value": 144.01 } + ], + "translate": [ + { + "time": 0.4667, + "curve": [ 0.517, 0, 0.617, -34.96, 0.517, 0, 0.617, -16.59 ] + }, + { "time": 0.6667, "x": -35.02, "y": -16.62 } + ] + }, + "front-bracer": { + "rotate": [ + { + "value": 21.88, + "curve": [ 0.033, 21.88, 0.099, 20.44 ] + }, + { + "time": 0.1333, + "value": 9.43, + "curve": [ 0.164, -0.29, 0.162, -38.26 ] + }, + { + "time": 0.2, + "value": -38.05, + "curve": [ 0.24, -37.96, 0.228, -17.82 ] + }, + { + "time": 0.3333, + "value": -9.73, + "curve": [ 0.372, -6.76, 0.431, -0.74 ] + }, + { + "time": 0.4667, + "value": 6.47, + "curve": [ 0.489, 11.05, 0.503, 19.09 ] + }, + { + "time": 0.5333, + "value": 19.09, + "curve": [ 0.571, 19.09, 0.554, -42.67 ] + }, + { + "time": 0.6, + "value": -42.67, + "curve": [ 0.653, -42.67, 0.691, -13.8 ] + }, + { + "time": 0.7, + "value": -3.54, + "curve": [ 0.707, 3.8, 0.719, 24.94 ] + }, + { + "time": 0.8, + "value": 25.31, + "curve": [ 0.902, 24.75, 0.992, -0.34 ] + }, + { "time": 1, "value": -32.16, "curve": "stepped" }, + { + "time": 2.2333, + "value": -32.16, + "curve": [ 2.6, -32.16, 2.638, -5.3 ] + }, + { + "time": 2.7, + "value": -1.96, + "curve": [ 2.707, -1.56, 2.775, 1.67 ] + }, + { + "time": 2.8, + "value": 1.67, + "curve": [ 2.825, 1.67, 2.875, -0.39 ] + }, + { + "time": 2.9, + "value": -0.39, + "curve": [ 2.925, -0.39, 2.975, 0.26 ] + }, + { + "time": 3, + "value": 0.26, + "curve": [ 3.025, 0.26, 3.075, -1.81 ] + }, + { + "time": 3.1, + "value": -1.81, + "curve": [ 3.125, -1.81, 3.175, -0.52 ] + }, + { + "time": 3.2, + "value": -0.52, + "curve": [ 3.225, -0.52, 3.275, -2.41 ] + }, + { + "time": 3.3, + "value": -2.41, + "curve": [ 3.333, -2.41, 3.4, -0.38 ] + }, + { + "time": 3.4333, + "value": -0.38, + "curve": [ 3.467, -0.38, 3.533, -2.25 ] + }, + { + "time": 3.5667, + "value": -2.25, + "curve": [ 3.592, -2.25, 3.642, -0.33 ] + }, + { + "time": 3.6667, + "value": -0.33, + "curve": [ 3.7, -0.33, 3.767, -1.34 ] + }, + { + "time": 3.8, + "value": -1.34, + "curve": [ 3.825, -1.34, 3.862, -0.77 ] + }, + { + "time": 3.9, + "value": -0.77, + "curve": [ 3.942, -0.77, 3.991, -1.48 ] + }, + { + "time": 4, + "value": -1.87, + "curve": [ 4.167, -1.87, 4.5, -1.96 ] + }, + { + "time": 4.6667, + "value": -1.96, + "curve": [ 4.709, 18.05, 4.767, 34.55 ] + }, + { + "time": 4.8, + "value": 34.55, + "curve": [ 4.84, 34.24, 4.902, 12.03 ] + }, + { "time": 4.9333, "value": -18.75 } + ] + }, + "front-fist": { + "rotate": [ + { + "value": -2.33, + "curve": [ 0.019, 4.43, 0.069, 10.82 ] + }, + { + "time": 0.1, + "value": 10.6, + "curve": [ 0.148, 10.6, 0.123, -15.24 ] + }, + { + "time": 0.2, + "value": -15.35, + "curve": [ 0.266, -15.44, 0.316, -6.48 ] + }, + { + "time": 0.3333, + "value": -3.9, + "curve": [ 0.362, 0.43, 0.479, 22.36 ] + }, + { + "time": 0.5667, + "value": 22.01, + "curve": [ 0.61, 21.84, 0.627, 12.85 ] + }, + { + "time": 0.6333, + "value": 9.05, + "curve": [ 0.643, 2.77, 0.622, -39.43 ] + }, + { + "time": 0.7, + "value": -39.5, + "curve": [ 0.773, -39.57, 0.814, 14.77 ] + }, + { + "time": 0.8667, + "value": 14.81, + "curve": [ 0.965, 14.88, 1.1, 5.64 ] + }, + { "time": 1.1, "value": -6.08, "curve": "stepped" }, + { + "time": 2.2333, + "value": -6.08, + "curve": [ 2.307, -6.08, 2.427, -25.89 ] + }, + { + "time": 2.5333, + "value": -22.42, + "curve": [ 2.598, -20.38, 2.657, 5.73 ] + }, + { + "time": 2.7, + "value": 5.73, + "curve": [ 2.77, 5.73, 2.851, -5.38 ] + }, + { + "time": 2.9333, + "value": -5.38, + "curve": [ 3.008, -5.38, 3.087, -4.54 ] + }, + { + "time": 3.1667, + "value": -4.17, + "curve": [ 3.223, -3.91, 4.486, 5.73 ] + }, + { + "time": 4.6667, + "value": 5.73, + "curve": [ 4.733, 5.73, 4.886, -2.47 ] + }, + { "time": 4.9333, "value": -6.52 } + ] + }, + "rear-bracer": { + "rotate": [ + { + "value": 10.36, + "curve": [ 0.033, 10.36, 0.1, -32.89 ] + }, + { + "time": 0.1333, + "value": -32.89, + "curve": [ 0.183, -32.89, 0.283, -4.45 ] + }, + { + "time": 0.3333, + "value": -4.45, + "curve": [ 0.367, -4.45, 0.438, -6.86 ] + }, + { + "time": 0.4667, + "value": -8.99, + "curve": [ 0.529, -13.62, 0.605, -20.58 ] + }, + { + "time": 0.6333, + "value": -23.2, + "curve": [ 0.708, -30.18, 0.758, -35.56 ] + }, + { + "time": 0.8, + "value": -35.56, + "curve": [ 0.875, -35.56, 1.025, -23.2 ] + }, + { "time": 1.1, "value": -23.2 } + ] + }, + "gun": { + "rotate": [ + { + "value": -2.79, + "curve": [ 0.033, -2.79, 0.12, -7.22 ] + }, + { + "time": 0.1333, + "value": -8.52, + "curve": [ 0.168, -11.87, 0.29, -23.71 ] + }, + { + "time": 0.3333, + "value": -26.24, + "curve": [ 0.369, -28.31, 0.436, -29.75 ] + }, + { + "time": 0.5, + "value": -29.66, + "curve": [ 0.552, -29.58, 0.611, -25.47 ] + }, + { + "time": 0.6333, + "value": -22.68, + "curve": [ 0.656, -19.76, 0.68, -10.02 ] + }, + { + "time": 0.7, + "value": -6.49, + "curve": [ 0.722, -2.6, 0.75, -1.22 ] + }, + { + "time": 0.7667, + "value": -1.35, + "curve": [ 0.792, -1.55, 0.842, -19.74 ] + }, + { "time": 0.8667, "value": -19.8 } + ] + }, + "hip": { + "translate": [ + { + "curve": [ 0.098, -42.62, 0.166, -79.85, 0.029, 84.97, 0.109, 155.93 ] + }, + { + "time": 0.2667, + "x": -133.79, + "y": 152.44, + "curve": [ 0.361, -184.63, 0.392, -203.69, 0.42, 149.12, 0.467, -15.7 ] + }, + { + "time": 0.4667, + "x": -230.02, + "y": -113.87, + "curve": [ 0.523, -249.86, 0.565, -261.7, 0.473, -133.1, 0.583, -203.43 ] + }, + { + "time": 0.6, + "x": -268.57, + "y": -203.43, + "curve": [ 0.663, -280.98, 0.816, -290.05, 0.708, -203.43, 0.892, -203.5 ] + }, + { "time": 1, "x": -290.42, "y": -203.5 } + ] + }, + "front-thigh": { + "rotate": [ + { + "curve": [ 0.06, 1.02, 0.151, 45.23 ] + }, + { + "time": 0.1667, + "value": 54.01, + "curve": [ 0.19, 66.85, 0.358, 169.85 ] + }, + { + "time": 0.5, + "value": 169.51, + "curve": [ 0.628, 169.85, 0.692, 108.85 ] + }, + { + "time": 0.7, + "value": 97.74, + "curve": [ 0.723, 102.6, 0.805, 111.6 ] + }, + { + "time": 0.8667, + "value": 111.69, + "curve": [ 0.899, 111.83, 1.015, 109.15 ] + }, + { "time": 1.0667, "value": 95.8 } + ] + }, + "front-shin": { + "rotate": [ + { + "curve": [ 0.086, -0.02, 0.191, -24.25 ] + }, + { + "time": 0.2, + "value": -26.5, + "curve": [ 0.214, -29.92, 0.249, -40.51 ] + }, + { + "time": 0.3333, + "value": -40.57, + "curve": [ 0.431, -40.7, 0.459, -11.34 ] + }, + { + "time": 0.4667, + "value": -8.71, + "curve": [ 0.477, -5.16, 0.524, 17.13 ] + }, + { + "time": 0.6, + "value": 16.98, + "curve": [ 0.632, 17.09, 0.625, 2.76 ] + }, + { + "time": 0.6333, + "value": 2.76, + "curve": [ 0.648, 2.76, 0.653, 2.75 ] + }, + { + "time": 0.6667, + "value": 2.59, + "curve": [ 0.678, 2.39, 0.733, 2.53 ] + }, + { + "time": 0.7333, + "value": -9.43, + "curve": [ 0.745, -2.48, 0.782, 3.12 ] + }, + { + "time": 0.8, + "value": 4.28, + "curve": [ 0.832, 6.32, 0.895, 8.46 ] + }, + { + "time": 0.9333, + "value": 8.49, + "curve": [ 0.986, 8.53, 1.051, 6.38 ] + }, + { + "time": 1.0667, + "value": 2.28, + "curve": [ 1.078, 4.17, 1.103, 5.86 ] + }, + { + "time": 1.1333, + "value": 5.88, + "curve": [ 1.191, 5.93, 1.209, 4.56 ] + }, + { "time": 1.2333, "value": 2.52 } + ] + }, + "rear-thigh": { + "rotate": [ + { + "curve": [ 0.033, 0, 0.12, 50.26 ] + }, + { + "time": 0.1333, + "value": 57.3, + "curve": [ 0.164, 73.34, 0.274, 147.18 ] + }, + { + "time": 0.3333, + "value": 147.1, + "curve": [ 0.475, 146.45, 0.583, 95.72 ] + }, + { + "time": 0.6, + "value": 79.66, + "curve": [ 0.62, 94.74, 0.732, 103.15 ] + }, + { + "time": 0.7667, + "value": 103.02, + "curve": [ 0.812, 102.85, 0.897, 95.75 ] + }, + { "time": 0.9333, "value": 83.01 } + ] + }, + "rear-shin": { + "rotate": [ + { + "curve": [ 0.021, -16.65, 0.091, -54.82 ] + }, + { + "time": 0.1667, + "value": -55.29, + "curve": [ 0.187, -55.42, 0.213, -52.52 ] + }, + { + "time": 0.2333, + "value": -45.98, + "curve": [ 0.242, -43.1, 0.311, -12.73 ] + }, + { + "time": 0.3333, + "value": -6.32, + "curve": [ 0.356, 0.13, 0.467, 24.5 ] + }, + { + "time": 0.5, + "value": 24.5, + "curve": [ 0.543, 24.5, 0.56, 3.78 ] + }, + { + "time": 0.5667, + "value": -3.53, + "curve": [ 0.585, 3.86, 0.659, 16.63 ] + }, + { + "time": 0.7, + "value": 16.56, + "curve": [ 0.782, 16.43, 0.896, 8.44 ] + }, + { + "time": 0.9333, + "value": 4.04, + "curve": [ 0.956, 6.84, 1.008, 8.41 ] + }, + { + "time": 1.0333, + "value": 8.41, + "curve": [ 1.067, 8.41, 1.122, 8.14 ] + }, + { "time": 1.1667, "value": 5.8 } + ] + }, + "rear-foot": { + "rotate": [ + { + "value": -0.28, + "curve": [ 0.033, -0.28, 0.256, -66.71 ] + }, + { + "time": 0.3667, + "value": -66.84, + "curve": [ 0.418, -66.91, 0.499, -21.79 ] + }, + { + "time": 0.6, + "value": -21.52, + "curve": [ 0.652, -21.38, 0.665, -53.96 ] + }, + { + "time": 0.7, + "value": -54.26, + "curve": [ 0.757, -53.96, 0.843, -2.07 ] + }, + { + "time": 0.9333, + "value": -1.47, + "curve": [ 0.968, -2.07, 0.975, -19.96 ] + }, + { + "time": 1, + "value": -19.96, + "curve": [ 1.025, -19.96, 1.075, -12.42 ] + }, + { + "time": 1.1, + "value": -12.42, + "curve": [ 1.133, -12.42, 1.2, -18.34 ] + }, + { "time": 1.2333, "value": -18.34 } + ] + }, + "front-foot": { + "rotate": [ + { + "curve": [ 0.008, -11.33, 0.108, -57.71 ] + }, + { + "time": 0.1333, + "value": -57.71, + "curve": [ 0.175, -57.71, 0.229, 19.73 ] + }, + { + "time": 0.3, + "value": 19.34, + "curve": [ 0.354, 19.34, 0.4, -57.76 ] + }, + { + "time": 0.4333, + "value": -57.76, + "curve": [ 0.458, -57.76, 0.511, -3.56 ] + }, + { + "time": 0.5333, + "value": 3.7, + "curve": [ 0.563, 13.29, 0.633, 15.79 ] + }, + { + "time": 0.6667, + "value": 15.79, + "curve": [ 0.7, 15.79, 0.767, -48.75 ] + }, + { + "time": 0.8, + "value": -48.75, + "curve": [ 0.842, -48.75, 0.925, 4.7 ] + }, + { + "time": 0.9667, + "value": 4.7, + "curve": [ 1, 4.7, 1.067, -22.9 ] + }, + { + "time": 1.1, + "value": -22.9, + "curve": [ 1.142, -22.9, 1.225, -13.28 ] + }, + { "time": 1.2667, "value": -13.28 } + ] + }, + "rear-foot-target": { + "rotate": [ + { "value": -0.28 } + ] + }, + "front-foot-tip": { + "rotate": [ + { + "value": -0.28, + "curve": [ 0.008, -0.28, 0.003, -66.62 ] + }, + { + "time": 0.0667, + "value": -65.75, + "curve": [ 0.166, -64.42, 0.234, 14.35 ] + }, + { + "time": 0.2667, + "value": 38.25, + "curve": [ 0.294, 57.91, 0.392, 89.79 ] + }, + { + "time": 0.4667, + "value": 90.73, + "curve": [ 0.483, 90.73, 0.55, 177.66 ] + }, + { + "time": 0.5667, + "value": 177.66, + "curve": [ 0.733, 176.24, 0.75, 11.35 ] + }, + { + "time": 0.8, + "value": 11.35, + "curve": [ 0.886, 12.29, 0.911, 47.88 ] + }, + { + "time": 0.9333, + "value": 56.77, + "curve": [ 0.967, 70.59, 1.05, 86.46 ] + }, + { + "time": 1.1, + "value": 86.46, + "curve": [ 1.187, 86.46, 1.214, 66.44 ] + }, + { "time": 1.3333, "value": 64.55 } + ] + }, + "back-foot-tip": { + "rotate": [ + { + "value": -0.28, + "curve": [ 0, -7.97, 0.027, -18.69 ] + }, + { + "time": 0.0667, + "value": -19, + "curve": [ 0.166, -19.3, 0.208, 15.58 ] + }, + { + "time": 0.2667, + "value": 45.95, + "curve": [ 0.306, 66.24, 0.378, 99.08 ] + }, + { + "time": 0.4333, + "value": 99.08, + "curve": [ 0.497, 98.62, 0.488, -1.2 ] + }, + { + "time": 0.5667, + "value": -1.32, + "curve": [ 0.637, -0.84, 0.687, 94.41 ] + }, + { + "time": 0.7333, + "value": 94.33, + "curve": [ 0.832, 94.16, 0.895, 29.6 ] + }, + { + "time": 0.9667, + "value": 28.67, + "curve": [ 1.026, 28.67, 1.045, 53.14 ] + }, + { "time": 1.1, "value": 53.38 } + ] + }, + "hair4": { + "rotate": [ + { + "curve": [ 0.011, 4.5, 0.05, 11.42 ] + }, + { + "time": 0.0667, + "value": 11.42, + "curve": [ 0.1, 11.42, 0.136, -5.92 ] + }, + { + "time": 0.1667, + "value": -10.54, + "curve": [ 0.206, -16.51, 0.327, -22 ] + }, + { + "time": 0.3667, + "value": -24.47, + "curve": [ 0.413, -27.37, 0.467, -43.99 ] + }, + { + "time": 0.5, + "value": -43.99, + "curve": [ 0.533, -43.99, 0.552, 12.12 ] + }, + { + "time": 0.6333, + "value": 11.85, + "curve": [ 0.714, 11.59, 0.758, -34.13 ] + }, + { + "time": 0.8, + "value": -34.13, + "curve": [ 0.858, -34.13, 1.015, -12.47 ] + }, + { + "time": 1.0667, + "value": -8.85, + "curve": [ 1.121, -5.07, 1.219, -0.02 ] + }, + { + "time": 1.3333, + "value": 1.29, + "curve": [ 1.509, 3.3, 1.763, 2.75 ] + }, + { + "time": 1.8667, + "value": 2.78, + "curve": [ 1.974, 2.81, 2.108, 2.81 ] + }, + { + "time": 2.2, + "value": 2.78, + "curve": [ 2.315, 2.74, 2.374, 1.22 ] + }, + { + "time": 2.4667, + "value": 1.18, + "curve": [ 2.525, 1.18, 2.608, 10.79 ] + }, + { + "time": 2.6667, + "value": 10.79, + "curve": [ 2.725, 10.79, 2.893, 4.72 ] + }, + { + "time": 3.0333, + "value": 4.72, + "curve": [ 3.117, 4.72, 3.283, 7.93 ] + }, + { + "time": 3.3667, + "value": 7.93, + "curve": [ 3.492, 7.93, 3.775, 6.93 ] + }, + { + "time": 3.9, + "value": 6.93, + "curve": [ 3.981, 6.93, 4.094, 6.9 ] + }, + { + "time": 4.2, + "value": 8.44, + "curve": [ 4.267, 9.42, 4.401, 16.61 ] + }, + { + "time": 4.5, + "value": 16.33, + "curve": [ 4.582, 16.12, 4.709, 9.94 ] + }, + { + "time": 4.7333, + "value": 6.51, + "curve": [ 4.747, 4.57, 4.779, -1.76 ] + }, + { + "time": 4.8, + "value": -1.75, + "curve": [ 4.823, -1.73, 4.82, 4.47 ] + }, + { + "time": 4.8667, + "value": 6.04, + "curve": [ 4.899, 7.14, 4.913, 6.93 ] + }, + { "time": 4.9333, "value": 6.93 } + ] + }, + "hair2": { + "rotate": [ + { + "value": 10.61, + "curve": [ 0.075, 10.61, 0.05, 12.67 ] + }, + { + "time": 0.0667, + "value": 12.67, + "curve": [ 0.123, 12.67, 0.194, -16.51 ] + }, + { + "time": 0.2, + "value": -19.87, + "curve": [ 0.207, -23.48, 0.236, -31.68 ] + }, + { + "time": 0.3, + "value": -31.8, + "curve": [ 0.356, -31.9, 0.437, -25.61 ] + }, + { + "time": 0.4667, + "value": -19.29, + "curve": [ 0.485, -15.33, 0.529, 6.48 ] + }, + { + "time": 0.5667, + "value": 6.67, + "curve": [ 0.628, 6.97, 0.65, -46.39 ] + }, + { + "time": 0.7333, + "value": -46.3, + "curve": [ 0.843, -46.17, 0.941, -33.37 ] + }, + { + "time": 0.9667, + "value": -23.17, + "curve": [ 0.972, -20.98, 1.047, 15.21 ] + }, + { + "time": 1.1, + "value": 15.21, + "curve": [ 1.142, 15.21, 1.183, 10.73 ] + }, + { + "time": 1.2667, + "value": 10.61, + "curve": [ 1.45, 10.34, 1.817, 10.61 ] + }, + { + "time": 2, + "value": 10.61, + "curve": [ 2.075, 10.61, 2.225, 16.9 ] + }, + { + "time": 2.3, + "value": 16.9, + "curve": [ 2.327, 16.9, 2.347, 6.81 ] + }, + { + "time": 2.4, + "value": 6.83, + "curve": [ 2.492, 6.87, 2.602, 17.39 ] + }, + { + "time": 2.6667, + "value": 17.39, + "curve": [ 2.742, 17.39, 2.892, 10.67 ] + }, + { + "time": 2.9667, + "value": 10.64, + "curve": [ 3.187, 10.57, 3.344, 10.73 ] + }, + { + "time": 3.6, + "value": 11.4, + "curve": [ 3.766, 11.83, 3.874, 14.87 ] + }, + { + "time": 3.9333, + "value": 14.83, + "curve": [ 4.022, 14.76, 4.208, 9.49 ] + }, + { + "time": 4.3, + "value": 9.54, + "curve": [ 4.391, 9.58, 4.441, 14.82 ] + }, + { + "time": 4.5333, + "value": 14.84, + "curve": [ 4.642, 14.88, 4.692, 1.17 ] + }, + { + "time": 4.7667, + "value": 1.24, + "curve": [ 4.823, 1.3, 4.818, 18.35 ] + }, + { + "time": 4.8667, + "value": 18.38, + "curve": [ 4.905, 18.41, 4.901, 10.61 ] + }, + { "time": 4.9333, "value": 10.61 } + ] + }, + "torso2": { + "rotate": [ + { + "curve": [ 0.048, 0, 0.129, -12.73 ] + }, + { + "time": 0.1667, + "value": -15.95, + "curve": [ 0.221, -20.66, 0.254, -21.62 ] + }, + { + "time": 0.3, + "value": -21.59, + "curve": [ 0.458, -21.46, 0.46, -1.67 ] + }, + { + "time": 0.6333, + "value": -1.71, + "curve": [ 0.71, -1.73, 0.715, -4 ] + }, + { + "time": 0.7667, + "value": -3.97, + "curve": [ 0.866, -3.92, 0.84, 0.02 ] + }, + { "time": 1, "curve": "stepped" }, + { + "time": 2, + "curve": [ 2.275, 0, 2.867, -5.8 ] + }, + { + "time": 3.1, + "value": -6.44, + "curve": [ 3.327, -7.06, 3.71, -6.23 ] + }, + { + "time": 3.9333, + "value": -5.41, + "curve": [ 4.168, -4.53, 4.488, -2.83 ] + }, + { "time": 4.8 } + ] + }, + "torso3": { + "rotate": [ + { + "curve": [ 0.025, 0, 0.09, -3.66 ] + }, + { + "time": 0.1, + "value": -4.55, + "curve": [ 0.143, -8.4, 0.223, -17.07 ] + }, + { + "time": 0.2333, + "value": -18.31, + "curve": [ 0.282, -24.44, 0.35, -29 ] + }, + { + "time": 0.3667, + "value": -30.07, + "curve": [ 0.405, -32.58, 0.442, -33.03 ] + }, + { + "time": 0.4667, + "value": -32.99, + "curve": [ 0.491, -33.04, 0.505, -23.56 ] + }, + { + "time": 0.5333, + "value": -23.55, + "curve": [ 0.571, -23.67, 0.599, -27.21 ] + }, + { + "time": 0.6333, + "value": -27.21, + "curve": [ 0.669, -27.2, 0.742, -10.43 ] + }, + { + "time": 0.7667, + "value": -7.79, + "curve": [ 0.788, -5.53, 0.796, -4.42 ] + }, + { + "time": 0.8333, + "value": -2.9, + "curve": [ 0.875, -1.21, 0.933, 0 ] + }, + { "time": 0.9667, "curve": "stepped" }, + { + "time": 2.4333, + "curve": [ 2.517, 0, 2.683, 4.63 ] + }, + { + "time": 2.7667, + "value": 4.66, + "curve": [ 3.084, 4.76, 3.248, 4.37 ] + }, + { + "time": 3.4, + "value": 3.74, + "curve": [ 3.596, 2.92, 3.755, 2.18 ] + }, + { + "time": 3.8667, + "value": 1.72, + "curve": [ 4.136, 0.59, 4.471, 0 ] + }, + { "time": 4.8 } + ] + }, + "hair3": { + "rotate": [ + { + "curve": [ 0, 0, 0.041, 10.74 ] + }, + { + "time": 0.0667, + "value": 14.16, + "curve": [ 0.075, 15.22, 0.148, 18.04 ] + }, + { + "time": 0.2, + "value": 18.13, + "curve": [ 0.251, 18.23, 0.307, -4.75 ] + }, + { + "time": 0.3667, + "value": -5.06, + "curve": [ 0.412, -5.3, 0.47, -0.96 ] + }, + { + "time": 0.5, + "value": 2.21, + "curve": [ 0.512, 3.48, 0.595, 20.31 ] + }, + { + "time": 0.6333, + "value": 24.87, + "curve": [ 0.647, 26.53, 0.719, 29.33 ] + }, + { + "time": 0.8, + "value": 29.22, + "curve": [ 0.859, 29.14, 0.9, 28.48 ] + }, + { + "time": 0.9333, + "value": 26.11, + "curve": [ 0.981, 22.72, 0.998, 2.06 ] + }, + { "time": 1.1, "value": 2.21 } + ] + }, + "hair1": { + "rotate": [ + { + "curve": [ 0.047, -0.21, 0.048, 7.86 ] + }, + { + "time": 0.0667, + "value": 13.27, + "curve": [ 0.083, 18.05, 0.135, 24.44 ] + }, + { + "time": 0.2, + "value": 24.02, + "curve": [ 0.225, 24.02, 0.28, 6.32 ] + }, + { + "time": 0.3, + "value": 3.1, + "curve": [ 0.323, -0.58, 0.382, -7.12 ] + }, + { + "time": 0.4667, + "value": -7.45, + "curve": [ 0.512, -7.66, 0.538, 12.13 ] + }, + { + "time": 0.5667, + "value": 16.46, + "curve": [ 0.609, 22.72, 0.672, 27.4 ] + }, + { + "time": 0.7333, + "value": 27.55, + "curve": [ 0.827, 27.4, 0.933, 23.23 ] + }, + { + "time": 0.9667, + "value": 19.11, + "curve": [ 0.998, 15.27, 1.092, -2.53 ] + }, + { + "time": 1.1333, + "value": -2.53, + "curve": [ 1.158, -2.53, 1.208, 0 ] + }, + { "time": 1.2333, "curve": "stepped" }, + { + "time": 2, + "curve": [ 2.075, 0, 2.248, 0.35 ] + }, + { + "time": 2.3333, + "value": 0.78, + "curve": [ 2.585, 2.06, 2.805, 3.46 ] + }, + { + "time": 3.2, + "value": 3.5, + "curve": [ 3.593, 3.54, 3.979, 2.36 ] + }, + { + "time": 4.1667, + "value": 1.55, + "curve": [ 4.391, 0.59, 4.447, 0.04 ] + }, + { + "time": 4.6, + "value": 0.04, + "curve": [ 4.642, 0.04, 4.742, 0 ] + }, + { "time": 4.9333 } + ] + }, + "head-control": { + "translate": [ + { + "curve": [ 0.025, 0, 0.09, 1.43, 0.025, 0, 0.075, -34.76 ] + }, + { + "time": 0.1, + "x": 1.59, + "y": -34.76, + "curve": [ 0.214, 3.33, 0.375, 5.34, 0.192, -34.76, 0.441, -21.17 ] + }, + { + "time": 0.4667, + "x": 5.34, + "y": -12.57, + "curve": [ 0.492, 5.34, 0.55, 5.24, 0.482, -7.36, 0.504, 4.03 ] + }, + { + "time": 0.5667, + "x": 5.11, + "y": 4.01, + "curve": [ 0.658, 4.45, 0.679, 3.19, 0.649, 3.98, 0.642, -16.84 ] + }, + { + "time": 0.7, + "x": 2.8, + "y": -16.74, + "curve": [ 0.787, 1.15, 0.881, -1.29, 0.772, -16.62, 0.82, 8.95 ] + }, + { + "time": 0.9, + "x": -1.72, + "y": 8.91, + "curve": [ 0.961, -3.06, 1.025, -3.58, 0.975, 8.87, 0.951, -1.37 ] + }, + { + "time": 1.1, + "x": -3.58, + "y": -1.45, + "curve": [ 1.292, -3.58, 2.002, -2.4, 1.292, -1.56, 1.975, -1.45 ] + }, + { + "time": 2.1667, + "x": -1.39, + "y": -1.45, + "curve": [ 2.25, -0.88, 2.503, 1.38, 2.283, -1.45, 2.603, -12.44 ] + }, + { + "time": 2.6667, + "x": 2.13, + "y": -14.45, + "curve": [ 2.766, 2.59, 2.999, 2.81, 2.835, -19.73, 3.003, -25.2 ] + }, + { + "time": 3.1333, + "x": 2.91, + "y": -26.08, + "curve": [ 3.392, 3.1, 4.199, 4.05, 3.483, -28.44, 4.129, -27.23 ] + }, + { + "time": 4.3667, + "x": 4.81, + "y": -19.59, + "curve": [ 4.429, 5.1, 4.594, 8.54, 4.538, -14.08, 4.583, -7.88 ] + }, + { + "time": 4.6667, + "x": 8.65, + "y": -4.56, + "curve": [ 4.794, 8.86, 4.806, 5.93, 4.691, -3.59, 4.8, -1.61 ] + }, + { "time": 4.9333, "x": 5.8, "y": -1.99 } + ] + } + }, + "ik": { + "front-foot-ik": [ + { "mix": 0 } + ], + "front-leg-ik": [ + { "mix": 0, "bendPositive": false } + ], + "rear-foot-ik": [ + { "mix": 0.005 } + ], + "rear-leg-ik": [ + { "mix": 0.005, "bendPositive": false } + ] + } + }, + "hoverboard": { + "slots": { + "exhaust1": { + "attachment": [ + { "name": "hoverglow-small" } + ] + }, + "exhaust2": { + "attachment": [ + { "name": "hoverglow-small" } + ] + }, + "exhaust3": { + "attachment": [ + { "name": "hoverglow-small" } + ] + }, + "front-fist": { + "attachment": [ + { "name": "front-fist-open" } + ] + }, + "hoverboard-board": { + "attachment": [ + { "name": "hoverboard-board" } + ] + }, + "hoverboard-thruster-front": { + "attachment": [ + { "name": "hoverboard-thruster" } + ] + }, + "hoverboard-thruster-rear": { + "attachment": [ + { "name": "hoverboard-thruster" } + ] + }, + "hoverglow-front": { + "attachment": [ + { "name": "hoverglow-small" } + ] + }, + "hoverglow-rear": { + "attachment": [ + { "name": "hoverglow-small" } + ] + }, + "side-glow1": { + "attachment": [ + { "name": "hoverglow-small" }, + { "time": 0.9667 } + ] + }, + "side-glow2": { + "attachment": [ + { "time": 0.0667, "name": "hoverglow-small" }, + { "time": 1 } + ] + }, + "side-glow3": { + "attachment": [ + { "name": "hoverglow-small" }, + { "time": 0.9667 } + ] + } + }, + "bones": { + "hoverboard-controller": { + "translate": [ + { + "x": 319.55, + "y": -1.59, + "curve": [ 0.064, 319.55, 0.2, 347.85, 0.058, -1.2, 0.2, 23.11 ] + }, + { + "time": 0.2667, + "x": 347.66, + "y": 39.62, + "curve": [ 0.35, 347.41, 0.476, 341.47, 0.323, 53.58, 0.44, 85.82 ] + }, + { + "time": 0.5333, + "x": 338.47, + "y": 85.72, + "curve": [ 0.603, 334.83, 0.913, 319.65, 0.621, 85.62, 0.88, -1.53 ] + }, + { "time": 1, "x": 319.55, "y": -1.59 } + ] + }, + "hip": { + "translate": [ + { + "x": -53.49, + "y": 32.14, + "curve": [ 0.061, -53.77, 0.093, -51.81, 0.044, 16.34, 0.063, 9.67 ] + }, + { + "time": 0.1333, + "x": -49.31, + "y": 7.01, + "curve": [ 0.3, -35.27, 0.461, -20.06, 0.314, 9.52, 0.408, 121.09 ] + }, + { + "time": 0.5667, + "x": -20.06, + "y": 122.72, + "curve": [ 0.716, -20.09, 0.912, -53.29, 0.753, 121.8, 0.946, 51.85 ] + }, + { "time": 1, "x": -53.49, "y": 32.14 } + ] + }, + "exhaust1": { + "scale": [ + { + "x": 1.593, + "y": 0.964, + "curve": [ 0.033, 1.593, 0.1, 1, 0.033, 0.964, 0.1, 0.713 ] + }, + { + "time": 0.1333, + "y": 0.713, + "curve": [ 0.15, 1, 0.183, 1.774, 0.15, 0.713, 0.183, 0.883 ] + }, + { + "time": 0.2, + "x": 1.774, + "y": 0.883, + "curve": [ 0.242, 1.774, 0.325, 1.181, 0.242, 0.883, 0.325, 0.649 ] + }, + { + "time": 0.3667, + "x": 1.181, + "y": 0.649, + "curve": [ 0.408, 1.181, 0.492, 1.893, 0.408, 0.649, 0.492, 0.819 ] + }, + { + "time": 0.5333, + "x": 1.893, + "y": 0.819, + "curve": [ 0.558, 1.893, 0.608, 1.18, 0.558, 0.819, 0.608, 0.686 ] + }, + { + "time": 0.6333, + "x": 1.18, + "y": 0.686, + "curve": [ 0.658, 1.18, 0.708, 1.903, 0.658, 0.686, 0.708, 0.855 ] + }, + { + "time": 0.7333, + "x": 1.903, + "y": 0.855, + "curve": [ 0.767, 1.903, 0.833, 1.311, 0.767, 0.855, 0.833, 0.622 ] + }, + { + "time": 0.8667, + "x": 1.311, + "y": 0.622, + "curve": [ 0.9, 1.311, 0.967, 1.593, 0.9, 0.622, 0.967, 0.964 ] + }, + { "time": 1, "x": 1.593, "y": 0.964 } + ] + }, + "exhaust2": { + "scale": [ + { + "x": 1.88, + "y": 0.832, + "curve": [ 0.025, 1.88, 0.075, 1.311, 0.025, 0.832, 0.075, 0.686 ] + }, + { + "time": 0.1, + "x": 1.311, + "y": 0.686, + "curve": [ 0.133, 1.311, 0.2, 2.01, 0.133, 0.686, 0.208, 0.736 ] + }, + { + "time": 0.2333, + "x": 2.01, + "y": 0.769, + "curve": [ 0.267, 2.01, 0.333, 1, 0.282, 0.831, 0.333, 0.91 ] + }, + { + "time": 0.3667, + "y": 0.91, + "curve": [ 0.4, 1, 0.467, 1.699, 0.4, 0.91, 0.474, 0.891 ] + }, + { + "time": 0.5, + "x": 1.699, + "y": 0.86, + "curve": [ 0.517, 1.699, 0.55, 1.181, 0.54, 0.813, 0.55, 0.713 ] + }, + { + "time": 0.5667, + "x": 1.181, + "y": 0.713, + "curve": [ 0.617, 1.181, 0.717, 1.881, 0.617, 0.713, 0.717, 0.796 ] + }, + { + "time": 0.7667, + "x": 1.881, + "y": 0.796, + "curve": [ 0.8, 1.881, 0.867, 1.3, 0.8, 0.796, 0.867, 0.649 ] + }, + { + "time": 0.9, + "x": 1.3, + "y": 0.649, + "curve": [ 0.925, 1.3, 0.975, 1.88, 0.925, 0.649, 0.975, 0.832 ] + }, + { "time": 1, "x": 1.88, "y": 0.832 } + ] + }, + "hoverboard-thruster-front": { + "rotate": [ + { + "curve": [ 0.125, 0, 0.375, 24.06 ] + }, + { + "time": 0.5, + "value": 24.06, + "curve": [ 0.625, 24.06, 0.875, 0 ] + }, + { "time": 1 } + ] + }, + "hoverglow-front": { + "scale": [ + { + "x": 0.849, + "y": 1.764, + "curve": [ 0.017, 0.849, 0.05, 0.835, 0.017, 1.764, 0.05, 2.033 ] + }, + { + "time": 0.0667, + "x": 0.835, + "y": 2.033, + "curve": [ 0.092, 0.835, 0.142, 0.752, 0.092, 2.033, 0.142, 1.584 ] + }, + { + "time": 0.1667, + "x": 0.752, + "y": 1.584, + "curve": [ 0.183, 0.752, 0.217, 0.809, 0.183, 1.584, 0.217, 1.71 ] + }, + { + "time": 0.2333, + "x": 0.809, + "y": 1.71, + "curve": [ 0.25, 0.809, 0.283, 0.717, 0.25, 1.71, 0.283, 1.45 ] + }, + { + "time": 0.3, + "x": 0.717, + "y": 1.45, + "curve": [ 0.317, 0.717, 0.35, 0.777, 0.317, 1.45, 0.35, 1.698 ] + }, + { + "time": 0.3667, + "x": 0.777, + "y": 1.698, + "curve": [ 0.4, 0.781, 0.45, 0.685, 0.375, 1.698, 0.45, 1.173 ] + }, + { + "time": 0.4667, + "x": 0.685, + "y": 1.173, + "curve": [ 0.492, 0.685, 0.542, 0.825, 0.492, 1.173, 0.542, 1.572 ] + }, + { + "time": 0.5667, + "x": 0.825, + "y": 1.572, + "curve": [ 0.611, 0.816, 0.63, 0.727, 0.611, 1.577, 0.606, 1.255 ] + }, + { + "time": 0.6667, + "x": 0.725, + "y": 1.241, + "curve": [ 0.692, 0.725, 0.742, 0.895, 0.692, 1.241, 0.749, 1.799 ] + }, + { + "time": 0.7667, + "x": 0.895, + "y": 1.857, + "curve": [ 0.783, 0.895, 0.796, 0.892, 0.796, 1.955, 0.817, 1.962 ] + }, + { + "time": 0.8333, + "x": 0.845, + "y": 1.962, + "curve": [ 0.845, 0.831, 0.883, 0.802, 0.85, 1.962, 0.872, 1.704 ] + }, + { + "time": 0.9, + "x": 0.802, + "y": 1.491, + "curve": [ 0.917, 0.802, 0.95, 0.845, 0.907, 1.441, 0.936, 1.508 ] + }, + { + "time": 0.9667, + "x": 0.845, + "y": 1.627, + "curve": [ 0.975, 0.845, 0.992, 0.849, 0.973, 1.652, 0.992, 1.764 ] + }, + { "time": 1, "x": 0.849, "y": 1.764 } + ] + }, + "hoverboard-thruster-rear": { + "rotate": [ + { + "curve": [ 0.125, 0, 0.375, 24.06 ] + }, + { + "time": 0.5, + "value": 24.06, + "curve": [ 0.625, 24.06, 0.875, 0 ] + }, + { "time": 1 } + ] + }, + "hoverglow-rear": { + "scale": [ + { + "x": 0.845, + "y": 1.31, + "curve": [ 0.017, 0.845, 0.117, 0.899, 0.017, 1.31, 0.117, 2.033 ] + }, + { + "time": 0.1333, + "x": 0.899, + "y": 2.033, + "curve": [ 0.15, 0.899, 0.183, 0.752, 0.15, 2.033, 0.183, 1.574 ] + }, + { + "time": 0.2, + "x": 0.752, + "y": 1.574, + "curve": [ 0.225, 0.752, 0.275, 0.809, 0.225, 1.574, 0.275, 1.71 ] + }, + { + "time": 0.3, + "x": 0.809, + "y": 1.71, + "curve": [ 0.317, 0.809, 0.35, 0.717, 0.317, 1.71, 0.35, 1.397 ] + }, + { + "time": 0.3667, + "x": 0.717, + "y": 1.397, + "curve": [ 0.383, 0.717, 0.417, 0.777, 0.383, 1.397, 0.417, 1.45 ] + }, + { + "time": 0.4333, + "x": 0.777, + "y": 1.45, + "curve": [ 0.45, 0.777, 0.496, 0.689, 0.45, 1.45, 0.481, 1.168 ] + }, + { + "time": 0.5333, + "x": 0.685, + "y": 1.173, + "curve": [ 0.565, 0.682, 0.617, 0.758, 0.575, 1.177, 0.617, 1.297 ] + }, + { + "time": 0.6333, + "x": 0.758, + "y": 1.297, + "curve": [ 0.658, 0.758, 0.708, 0.725, 0.658, 1.297, 0.708, 1.241 ] + }, + { + "time": 0.7333, + "x": 0.725, + "y": 1.241, + "curve": [ 0.772, 0.732, 0.796, 0.893, 0.782, 1.238, 0.778, 1.854 ] + }, + { + "time": 0.8333, + "x": 0.895, + "y": 1.857, + "curve": [ 0.878, 0.9, 0.992, 0.845, 0.88, 1.86, 0.992, 1.31 ] + }, + { "time": 1, "x": 0.845, "y": 1.31 } + ] + }, + "front-upper-arm": { + "rotate": [ + { + "value": -85.92, + "curve": [ 0.08, -85.59, 0.284, -62.7 ] + }, + { + "time": 0.3667, + "value": -55.14, + "curve": [ 0.438, -48.65, 0.551, -43.21 ] + }, + { + "time": 0.6333, + "value": -43.21, + "curve": [ 0.716, -43.22, 0.908, -85.92 ] + }, + { "time": 1, "value": -85.92 } + ], + "translate": [ + { + "x": -0.59, + "y": -2.94, + "curve": [ 0.1, -1.21, 0.275, -1.74, 0.092, -2.94, 0.275, -6.39 ] + }, + { + "time": 0.3667, + "x": -1.74, + "y": -6.39, + "curve": [ 0.433, -1.74, 0.567, 0.72, 0.433, -6.39, 0.587, -4.48 ] + }, + { + "time": 0.6333, + "x": 0.72, + "y": -4.21, + "curve": [ 0.725, 0.72, 0.908, -0.08, 0.743, -3.57, 0.908, -2.94 ] + }, + { "time": 1, "x": -0.59, "y": -2.94 } + ] + }, + "front-fist": { + "rotate": [ + { + "value": 7.61, + "curve": [ 0.143, 7.62, 0.247, -23.17 ] + }, + { + "time": 0.2667, + "value": -26.56, + "curve": [ 0.281, -29.08, 0.351, -37.36 ] + }, + { + "time": 0.4333, + "value": -37.2, + "curve": [ 0.513, -37.05, 0.562, -29.88 ] + }, + { + "time": 0.6, + "value": -25.18, + "curve": [ 0.621, -22.58, 0.694, -3.98 ] + }, + { + "time": 0.8, + "value": 3.63, + "curve": [ 0.861, 8.03, 0.946, 7.57 ] + }, + { "time": 1, "value": 7.61 } + ], + "translate": [ + { + "curve": [ 0.117, 0, 0.35, 0.52, 0.117, 0, 0.35, -3.27 ] + }, + { + "time": 0.4667, + "x": 0.52, + "y": -3.27, + "curve": [ 0.6, 0.52, 0.867, 0, 0.6, -3.27, 0.867, 0 ] + }, + { "time": 1 } + ], + "shear": [ + { + "y": 19.83, + "curve": [ 0.117, 0, 0.35, 15.28, 0.117, 19.83, 0.35, 28.31 ] + }, + { + "time": 0.4667, + "x": 15.28, + "y": 28.31, + "curve": [ 0.6, 15.28, 0.867, 0, 0.6, 28.31, 0.867, 19.83 ] + }, + { "time": 1, "y": 19.83 } + ] + }, + "board-ik": { + "translate": [ + { + "x": 393.62, + "curve": [ 0.083, 393.62, 0.25, 393.48, 0.083, 0, 0.25, 117.69 ] + }, + { + "time": 0.3333, + "x": 393.48, + "y": 117.69, + "curve": [ 0.375, 393.48, 0.458, 393.62, 0.375, 117.69, 0.458, 83.82 ] + }, + { "time": 0.5, "x": 393.62, "y": 83.82 }, + { "time": 0.6667, "x": 393.62, "y": 30.15 }, + { "time": 1, "x": 393.62 } + ] + }, + "front-thigh": { + "translate": [ + { "x": -7.49, "y": 8.51 } + ] + }, + "front-leg-target": { + "translate": [ + { + "time": 0.3667, + "curve": [ 0.428, 10.83, 0.567, 12.78, 0.414, 7.29, 0.567, 8.79 ] + }, + { + "time": 0.6, + "x": 12.78, + "y": 8.79, + "curve": [ 0.692, 12.78, 0.772, 11.27, 0.692, 8.79, 0.766, 8.62 ] + }, + { "time": 0.8667 } + ] + }, + "rear-leg-target": { + "translate": [ + { + "time": 0.4667, + "curve": [ 0.492, 0, 0.534, 4.47, 0.492, 0, 0.542, 1.63 ] + }, + { + "time": 0.5667, + "x": 4.53, + "y": 1.77, + "curve": [ 0.622, 4.64, 0.717, 3.31, 0.615, 2.06, 0.71, 2.1 ] + }, + { "time": 0.8 } + ] + }, + "exhaust3": { + "scale": [ + { + "x": 1.882, + "y": 0.81, + "curve": [ 0.017, 1.882, 0.167, 1.3, 0.017, 0.81, 0.167, 0.649 ] + }, + { + "time": 0.2, + "x": 1.3, + "y": 0.649, + "curve": [ 0.225, 1.3, 0.275, 2.051, 0.225, 0.649, 0.275, 0.984 ] + }, + { + "time": 0.3, + "x": 2.051, + "y": 0.984, + "curve": [ 0.325, 2.051, 0.375, 1.311, 0.325, 0.984, 0.384, 0.715 ] + }, + { + "time": 0.4, + "x": 1.311, + "y": 0.686, + "curve": [ 0.433, 1.311, 0.5, 1.86, 0.426, 0.638, 0.5, 0.537 ] + }, + { + "time": 0.5333, + "x": 1.86, + "y": 0.537, + "curve": [ 0.567, 1.86, 0.633, 1.187, 0.567, 0.537, 0.604, 0.854 ] + }, + { + "time": 0.6667, + "x": 1.187, + "y": 0.854, + "curve": [ 0.7, 1.187, 0.767, 1.549, 0.707, 0.854, 0.774, 0.775 ] + }, + { + "time": 0.8, + "x": 1.549, + "y": 0.746, + "curve": [ 0.817, 1.549, 0.85, 1.181, 0.815, 0.729, 0.85, 0.713 ] + }, + { + "time": 0.8667, + "x": 1.181, + "y": 0.713, + "curve": [ 0.9, 1.181, 0.967, 1.882, 0.9, 0.713, 0.967, 0.81 ] + }, + { "time": 1, "x": 1.882, "y": 0.81 } + ] + }, + "side-glow1": { + "rotate": [ + { "value": 51.12, "curve": "stepped" }, + { "time": 0.0667, "value": 43.82, "curve": "stepped" }, + { "time": 0.1, "value": 40.95, "curve": "stepped" }, + { "time": 0.1667, "value": 27.78, "curve": "stepped" }, + { "time": 0.2, "value": 10.24, "curve": "stepped" }, + { "time": 0.2667, "curve": "stepped" }, + { "time": 0.8, "value": -25.81 } + ], + "translate": [ + { "x": 338.28, "y": 40.22, "curve": "stepped" }, + { "time": 0.0667, "x": 331.2, "y": 30.39, "curve": "stepped" }, + { "time": 0.1, "x": 318.63, "y": 20.59, "curve": "stepped" }, + { "time": 0.1667, "x": 302.45, "y": 9.64, "curve": "stepped" }, + { "time": 0.2, "x": 276.87, "y": 1.13, "curve": "stepped" }, + { "time": 0.2667, "x": 248.16, "curve": "stepped" }, + { "time": 0.3, "x": 221.36, "curve": "stepped" }, + { "time": 0.3667, "x": 195.69, "curve": "stepped" }, + { "time": 0.4, "x": 171.08, "curve": "stepped" }, + { "time": 0.4667, "x": 144.84, "curve": "stepped" }, + { "time": 0.5, "x": 121.22, "curve": "stepped" }, + { "time": 0.5667, "x": 91.98, "curve": "stepped" }, + { "time": 0.6, "x": 62.63, "curve": "stepped" }, + { "time": 0.6667, "x": 30.78, "curve": "stepped" }, + { "time": 0.7, "curve": "stepped" }, + { "time": 0.7667, "x": -28.45, "curve": "stepped" }, + { "time": 0.8, "x": -67.49, "y": 16.82, "curve": "stepped" }, + { "time": 0.8667, "x": -83.07, "y": 24.36, "curve": "stepped" }, + { "time": 0.9, "x": -93.81, "y": 29.55 } + ], + "scale": [ + { "x": 0.535, "curve": "stepped" }, + { "time": 0.0667, "x": 0.594, "curve": "stepped" }, + { "time": 0.1, "x": 0.844, "curve": "stepped" }, + { "time": 0.1667, "curve": "stepped" }, + { "time": 0.8, "x": 0.534, "curve": "stepped" }, + { "time": 0.8667, "x": 0.428, "y": 0.801, "curve": "stepped" }, + { "time": 0.9, "x": 0.349, "y": 0.654 } + ] + }, + "side-glow2": { + "rotate": [ + { "time": 0.0667, "value": 51.12, "curve": "stepped" }, + { "time": 0.1, "value": 43.82, "curve": "stepped" }, + { "time": 0.1667, "value": 40.95, "curve": "stepped" }, + { "time": 0.2, "value": 27.78, "curve": "stepped" }, + { "time": 0.2667, "value": 10.24, "curve": "stepped" }, + { "time": 0.3, "curve": "stepped" }, + { "time": 0.8667, "value": -25.81 } + ], + "translate": [ + { "time": 0.0667, "x": 338.28, "y": 40.22, "curve": "stepped" }, + { "time": 0.1, "x": 331.2, "y": 30.39, "curve": "stepped" }, + { "time": 0.1667, "x": 318.63, "y": 20.59, "curve": "stepped" }, + { "time": 0.2, "x": 302.45, "y": 9.64, "curve": "stepped" }, + { "time": 0.2667, "x": 276.87, "y": 1.13, "curve": "stepped" }, + { "time": 0.3, "x": 248.16, "curve": "stepped" }, + { "time": 0.3667, "x": 221.36, "curve": "stepped" }, + { "time": 0.4, "x": 195.69, "curve": "stepped" }, + { "time": 0.4667, "x": 171.08, "curve": "stepped" }, + { "time": 0.5, "x": 144.84, "curve": "stepped" }, + { "time": 0.5667, "x": 121.22, "curve": "stepped" }, + { "time": 0.6, "x": 91.98, "curve": "stepped" }, + { "time": 0.6667, "x": 62.63, "curve": "stepped" }, + { "time": 0.7, "x": 30.78, "curve": "stepped" }, + { "time": 0.7667, "curve": "stepped" }, + { "time": 0.8, "x": -28.45, "curve": "stepped" }, + { "time": 0.8667, "x": -67.49, "y": 16.82, "curve": "stepped" }, + { "time": 0.9, "x": -83.07, "y": 24.36, "curve": "stepped" }, + { "time": 0.9667, "x": -93.81, "y": 29.55 } + ], + "scale": [ + { "time": 0.0667, "x": 0.535, "curve": "stepped" }, + { "time": 0.1, "x": 0.594, "curve": "stepped" }, + { "time": 0.1667, "x": 0.844, "curve": "stepped" }, + { "time": 0.2, "curve": "stepped" }, + { "time": 0.8667, "x": 0.534, "curve": "stepped" }, + { "time": 0.9, "x": 0.428, "y": 0.801, "curve": "stepped" }, + { "time": 0.9667, "x": 0.349, "y": 0.654 } + ] + }, + "torso": { + "rotate": [ + { + "value": -34.73, + "curve": [ 0.034, -36.31, 0.162, -39.33 ] + }, + { + "time": 0.2667, + "value": -39.37, + "curve": [ 0.384, -39.37, 0.491, -29.52 ] + }, + { + "time": 0.5, + "value": -28.86, + "curve": [ 0.525, -26.95, 0.571, -21.01 ] + }, + { + "time": 0.6333, + "value": -21.01, + "curve": [ 0.725, -21.01, 0.969, -33.35 ] + }, + { "time": 1, "value": -34.73 } + ] + }, + "neck": { + "rotate": [ + { + "value": 10.2, + "curve": [ 0.07, 12.09, 0.189, 16.03 ] + }, + { + "time": 0.2667, + "value": 16.14, + "curve": [ 0.333, 16.14, 0.449, 8.03 ] + }, + { + "time": 0.5, + "value": 5.83, + "curve": [ 0.542, 4.02, 0.6, 2.68 ] + }, + { + "time": 0.6333, + "value": 2.68, + "curve": [ 0.725, 2.68, 0.943, 8.57 ] + }, + { "time": 1, "value": 10.2 } + ] + }, + "head": { + "rotate": [ + { + "value": 10.2, + "curve": [ 0.044, 11.52, 0.2, 16.12 ] + }, + { + "time": 0.2667, + "value": 16.14, + "curve": [ 0.375, 16.17, 0.492, 2.65 ] + }, + { + "time": 0.6333, + "value": 2.68, + "curve": [ 0.725, 2.7, 0.963, 9.26 ] + }, + { "time": 1, "value": 10.2 } + ], + "translate": [ + { + "curve": [ 0.03, -0.24, 0.2, -4.22, 0.051, -1.06, 0.2, -3.62 ] + }, + { + "time": 0.2667, + "x": -4.22, + "y": -3.62, + "curve": [ 0.358, -4.22, 0.542, 0.84, 0.358, -3.62, 0.542, 6.01 ] + }, + { + "time": 0.6333, + "x": 0.84, + "y": 6.01, + "curve": [ 0.725, 0.84, 0.939, 0.32, 0.725, 6.01, 0.945, 1.14 ] + }, + { "time": 1 } + ] + }, + "front-bracer": { + "rotate": [ + { + "value": -11.18, + "curve": [ 0.064, -14.82, 0.25, -20.01 ] + }, + { + "time": 0.3333, + "value": -20.01, + "curve": [ 0.429, -20.12, 0.58, 5.12 ] + }, + { + "time": 0.6, + "value": 8.67, + "curve": [ 0.617, 11.72, 0.687, 20.52 ] + }, + { + "time": 0.7667, + "value": 20.55, + "curve": [ 0.848, 20.7, 0.963, -9.43 ] + }, + { "time": 1, "value": -11.18 } + ] + }, + "hair3": { + "rotate": [ + { + "value": 9.61, + "curve": [ 0.014, 8.51, 0.075, 2.63 ] + }, + { + "time": 0.1, + "value": 2.63, + "curve": [ 0.15, 2.63, 0.25, 13.52 ] + }, + { + "time": 0.3, + "value": 13.52, + "curve": [ 0.35, 13.52, 0.45, 11.28 ] + }, + { + "time": 0.5, + "value": 11.28, + "curve": [ 0.575, 11.28, 0.725, 18.13 ] + }, + { + "time": 0.8, + "value": 18.13, + "curve": [ 0.85, 18.13, 0.978, 11.07 ] + }, + { "time": 1, "value": 9.61 } + ] + }, + "hair4": { + "rotate": [ + { + "value": -17.7, + "curve": [ 0.008, -17.7, 0.025, -23.73 ] + }, + { + "time": 0.0333, + "value": -23.73, + "curve": [ 0.067, -23.73, 0.154, -4.4 ] + }, + { + "time": 0.1667, + "value": -1.92, + "curve": [ 0.197, 4.09, 0.236, 12.91 ] + }, + { + "time": 0.2667, + "value": 17.56, + "curve": [ 0.301, 22.68, 0.342, 27.97 ] + }, + { + "time": 0.3667, + "value": 27.97, + "curve": [ 0.4, 27.97, 0.467, -1.45 ] + }, + { + "time": 0.5, + "value": -1.45, + "curve": [ 0.517, -1.45, 0.55, 3.16 ] + }, + { + "time": 0.5667, + "value": 3.16, + "curve": [ 0.583, 3.16, 0.617, -8.9 ] + }, + { + "time": 0.6333, + "value": -8.9, + "curve": [ 0.642, -8.9, 0.658, -5.4 ] + }, + { + "time": 0.6667, + "value": -5.4, + "curve": [ 0.683, -5.4, 0.717, -15.32 ] + }, + { + "time": 0.7333, + "value": -15.32, + "curve": [ 0.75, -15.32, 0.783, -9.19 ] + }, + { + "time": 0.8, + "value": -9.19, + "curve": [ 0.817, -9.19, 0.85, -23.6 ] + }, + { + "time": 0.8667, + "value": -23.6, + "curve": [ 0.883, -23.6, 0.917, -17.38 ] + }, + { + "time": 0.9333, + "value": -17.38, + "curve": [ 0.942, -17.38, 0.958, -20.46 ] + }, + { + "time": 0.9667, + "value": -20.46, + "curve": [ 0.975, -20.46, 0.992, -17.7 ] + }, + { "time": 1, "value": -17.7 } + ] + }, + "hair1": { + "rotate": [ + { + "value": 9.61, + "curve": [ 0.06, 9.04, 0.25, 8.9 ] + }, + { + "time": 0.3333, + "value": 8.9, + "curve": [ 0.392, 8.9, 0.508, 14.58 ] + }, + { + "time": 0.5667, + "value": 14.58, + "curve": [ 0.675, 14.58, 0.956, 10.28 ] + }, + { "time": 1, "value": 9.61 } + ] + }, + "hair2": { + "rotate": [ + { + "value": -3.82, + "curve": [ 0.017, -3.82, 0.064, -9.16 ] + }, + { + "time": 0.1333, + "value": -9.09, + "curve": [ 0.178, -9.04, 0.234, 1.29 ] + }, + { + "time": 0.2667, + "value": 5.98, + "curve": [ 0.276, 7.27, 0.336, 17.1 ] + }, + { + "time": 0.3667, + "value": 17.1, + "curve": [ 0.413, 17.1, 0.467, 1.59 ] + }, + { + "time": 0.5, + "value": 1.59, + "curve": [ 0.533, 1.59, 0.567, 13.63 ] + }, + { + "time": 0.6, + "value": 13.63, + "curve": [ 0.617, 13.63, 0.683, 0.78 ] + }, + { + "time": 0.7, + "value": 0.78, + "curve": [ 0.717, 0.78, 0.75, 12.01 ] + }, + { + "time": 0.7667, + "value": 11.9, + "curve": [ 0.792, 11.73, 0.817, -0.85 ] + }, + { + "time": 0.8333, + "value": -0.85, + "curve": [ 0.85, -0.85, 0.88, 1.99 ] + }, + { + "time": 0.9, + "value": 1.82, + "curve": [ 0.916, 1.68, 0.95, -6.9 ] + }, + { + "time": 0.9667, + "value": -6.9, + "curve": [ 0.975, -6.9, 0.992, -3.82 ] + }, + { "time": 1, "value": -3.82 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { + "value": 31.65, + "curve": [ 0.108, 31.65, 0.325, 13.01 ] + }, + { + "time": 0.4333, + "value": 13.01, + "curve": [ 0.71, 13.01, 0.917, 31.65 ] + }, + { "time": 1, "value": 31.65 } + ] + }, + "rear-bracer": { + "rotate": [ + { + "value": 31, + "curve": [ 0.108, 31, 0.325, 12.76 ] + }, + { + "time": 0.4333, + "value": 12.79, + "curve": [ 0.587, 12.82, 0.917, 31 ] + }, + { "time": 1, "value": 31 } + ] + }, + "gun": { + "rotate": [ + { + "value": 1.95, + "curve": [ 0.083, 1.95, 0.245, 36.73 ] + }, + { + "time": 0.3333, + "value": 36.71, + "curve": [ 0.439, 36.69, 0.589, 10.68 ] + }, + { + "time": 0.6333, + "value": 8.75, + "curve": [ 0.701, 5.81, 0.917, 1.95 ] + }, + { "time": 1, "value": 1.95 } + ] + }, + "torso2": { + "rotate": [ + { + "curve": [ 0.033, 0, 0.1, 2.35 ] + }, + { + "time": 0.1333, + "value": 2.35, + "curve": [ 0.225, 2.35, 0.408, -2.4 ] + }, + { + "time": 0.5, + "value": -2.4, + "curve": [ 0.567, -2.4, 0.7, 1.44 ] + }, + { + "time": 0.7667, + "value": 1.44, + "curve": [ 0.825, 1.44, 0.942, 0 ] + }, + { "time": 1 } + ] + }, + "torso3": { + "rotate": [ + { + "curve": [ 0.063, 0.77, 0.106, 1.42 ] + }, + { + "time": 0.1667, + "value": 1.42, + "curve": [ 0.259, 1.42, 0.344, -1.25 ] + }, + { + "time": 0.4667, + "value": -1.26, + "curve": [ 0.656, -1.26, 0.917, -0.78 ] + }, + { "time": 1 } + ] + }, + "head-control": { + "translate": [ + { + "x": 0.37, + "y": -11.17, + "curve": [ 0.133, 0.37, 0.335, -10.23, 0.133, -11.17, 0.335, 3.15 ] + }, + { + "time": 0.5333, + "x": -10.23, + "y": 3.15, + "curve": [ 0.71, -10.23, 0.883, 0.37, 0.71, 3.15, 0.883, -11.17 ] + }, + { "time": 1, "x": 0.37, "y": -11.17 } + ] + }, + "front-shoulder": { + "translate": [ + { + "x": 1.46, + "y": 10.15, + "curve": [ 0.103, 1.46, 0.249, 1.36, 0.103, 10.15, 0.249, -4.39 ] + }, + { + "time": 0.4, + "x": 1.36, + "y": -4.39, + "curve": [ 0.621, 1.36, 0.85, 1.46, 0.621, -4.39, 0.85, 10.15 ] + }, + { "time": 1, "x": 1.46, "y": 10.15 } + ] + }, + "back-shoulder": { + "translate": [ + { + "x": 1.4, + "y": 0.44, + "curve": [ 0.088, 1.4, 0.208, -2.47, 0.088, 0.44, 0.208, 8.61 ] + }, + { + "time": 0.3333, + "x": -2.47, + "y": 8.61, + "curve": [ 0.572, -2.47, 0.833, 1.4, 0.572, 8.61, 0.833, 0.44 ] + }, + { "time": 1, "x": 1.4, "y": 0.44 } + ] + } + }, + "transform": { + "front-foot-board-transform": [ + { "mixRotate": 0.997 } + ], + "rear-foot-board-transform": [ + {} + ], + "toes-board": [ + { "mixX": 0, "mixScaleX": 0, "mixShearY": 0 } + ] + }, + "attachments": { + "default": { + "front-foot": { + "front-foot": { + "deform": [ + { + "offset": 26, + "vertices": [ -0.02832, -5.37024, -0.02832, -5.37024, 3.8188, -3.7757, -0.02832, -5.37024, -3.82159, 3.77847 ] + } + ] + } + }, + "front-shin": { + "front-shin": { + "deform": [ + { + "offset": 14, + "vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.54892, -3.06021, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.80437, -7.01817 ] + }, + { + "time": 0.3667, + "offset": 14, + "vertices": [ 0.5298, -1.12677, -11.66571, -9.07211, -25.65866, -17.53735, -25.53217, -16.50978, -11.78232, -11.26097, 0, 0, 0.60487, -1.63589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0, 0, -2.64522, -7.35739, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0.60487, -1.63589, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.60487, -1.63589, 0, 0, -10.06873, -12.0999 ] + }, + { + "time": 0.5333, + "offset": 14, + "vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -7.00775, -8.24771, -6.45482, -6.49312, -6.06447, -6.89757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.54892, -3.06021, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.80437, -7.01817 ] + }, + { + "time": 1, + "offset": 14, + "vertices": [ 0.5298, -1.12677, -0.85507, -4.20587, -11.35158, -10.19225, -10.79865, -8.43765, -6.06447, -6.89757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.54892, -3.06021, 1.48463, -2.29663, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.80437, -7.01817 ] + } + ] + } + }, + "hoverboard-board": { + "hoverboard-board": { + "deform": [ + { + "curve": [ 0.067, 0, 0.2, 1 ] + }, + { + "time": 0.2667, + "offset": 1, + "vertices": [ 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 3.55673, -3.0E-4, 3.55673, -3.0E-4, 0, 0, 0, 0, 0, 0, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, -7.6E-4, -9.84158, 0, 0, 0, 0, 0, 0, 0, 0, -4.90558, 0.11214, -9.40706, 6.2E-4, -6.34871, 4.3E-4, -6.34925, -6.57018, -6.34925, -6.57018, -6.34871, 4.3E-4, -2.3308, 1.7E-4, -2.33133, -6.57045, -2.33133, -6.57045, -2.3308, 1.7E-4, 0, 0, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 1.2E-4, 2.45856, 3.3297, 4.44005, 3.3297, 4.44005, 3.3297, 4.44005, 1.2E-4, 2.45856, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, 1.2E-4, 2.45856, 1.2E-4, 2.45856, -9.40694, 2.45918, 1.88063, 0.44197, -2.9E-4, -3.54808, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2.52316, 1.1313, -2.52316, 1.1313, -2.52316, 1.1313, -2.46227, 1.7E-4, -2.46227, 1.7E-4, -2.46227, 1.7E-4, 0, 0, 0, 0, 1.2E-4, 2.45856 ], + "curve": [ 0.45, 0, 0.817, 1 ] + }, + { "time": 1 } + ] + } + }, + "rear-foot": { + "rear-foot": { + "deform": [ + { + "offset": 28, + "vertices": [ -1.93078, 1.34782, -0.31417, 2.33363, 3.05122, 0.33946, 2.31472, -2.01678, 2.17583, -2.05795, -0.04277, -2.99459, 1.15429, 0.26328, 0.97501, -0.67169 ] + } + ] + } + } + } + } + }, + "idle": { + "slots": { + "front-fist": { + "attachment": [ + { "name": "front-fist-open" } + ] + } + }, + "bones": { + "front-foot-target": { + "translate": [ + { "x": -69.06 } + ] + }, + "hip": { + "rotate": [ + { + "curve": [ 0.073, 0.35, 0.303, 1.27 ] + }, + { + "time": 0.4, + "value": 1.28, + "curve": [ 0.615, 1.3, 0.847, -1.41 ] + }, + { + "time": 1.2, + "value": -1.38, + "curve": [ 1.344, -1.37, 1.602, -0.28 ] + }, + { "time": 1.6667 } + ], + "translate": [ + { + "x": -11.97, + "y": -23.15, + "curve": [ 0.059, -12.96, 0.258, -15.19, 0.142, -23.15, 0.341, -24.89 ] + }, + { + "time": 0.4667, + "x": -15.14, + "y": -26.74, + "curve": [ 0.62, -15.1, 0.788, -13.28, 0.597, -28.66, 0.75, -30.01 ] + }, + { + "time": 0.9, + "x": -12.02, + "y": -30.01, + "curve": [ 0.978, -11.13, 1.175, -9.05, 1.036, -29.94, 1.234, -28.08 ] + }, + { + "time": 1.3333, + "x": -9.06, + "y": -26.64, + "curve": [ 1.501, -9.06, 1.614, -10.95, 1.454, -24.89, 1.609, -23.15 ] + }, + { "time": 1.6667, "x": -11.97, "y": -23.15 } + ] + }, + "rear-foot-target": { + "translate": [ + { "x": 48.87 } + ] + }, + "front-upper-arm": { + "rotate": [ + { + "value": -60.87, + "curve": [ 0.154, -60.85, 0.452, -68.65 ] + }, + { + "time": 0.8333, + "value": -68.65, + "curve": [ 1.221, -68.65, 1.542, -60.87 ] + }, + { "time": 1.6667, "value": -60.87 } + ] + }, + "front-bracer": { + "rotate": [ + { + "value": 42.46, + "curve": [ 0.029, 42.97, 0.134, 45.28 ] + }, + { + "time": 0.3333, + "value": 45.27, + "curve": [ 0.578, 45.26, 0.798, 40.07 ] + }, + { + "time": 0.8333, + "value": 39.74, + "curve": [ 0.878, 39.32, 1.019, 38.23 ] + }, + { + "time": 1.2, + "value": 38.22, + "curve": [ 1.377, 38.22, 1.619, 41.68 ] + }, + { "time": 1.6667, "value": 42.46 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { + "value": 39.2, + "curve": [ 0.185, 39.22, 0.5, 29.37 ] + }, + { + "time": 0.6667, + "value": 29.37, + "curve": [ 0.917, 29.37, 1.417, 39.2 ] + }, + { "time": 1.6667, "value": 39.2 } + ] + }, + "head": { + "rotate": [ + { + "value": -6.75, + "curve": [ 0.176, -7.88, 0.349, -8.95 ] + }, + { + "time": 0.4667, + "value": -8.95, + "curve": [ 0.55, -8.95, 0.697, -6.77 ] + }, + { + "time": 0.8333, + "value": -5.44, + "curve": [ 0.88, -4.98, 1.05, -4.12 ] + }, + { + "time": 1.1333, + "value": -4.12, + "curve": [ 1.266, -4.12, 1.469, -5.48 ] + }, + { "time": 1.6667, "value": -6.75 } + ] + }, + "front-fist": { + "rotate": [ + { + "curve": [ 0.086, 0, 0.233, 2.48 ] + }, + { + "time": 0.3333, + "value": 4.13, + "curve": [ 0.429, 5.7, 0.711, 10.06 ] + }, + { + "time": 0.8333, + "value": 10.06, + "curve": [ 0.926, 10.06, 1.092, 4.21 ] + }, + { + "time": 1.2, + "value": 2.78, + "curve": [ 1.349, 0.8, 1.551, 0 ] + }, + { "time": 1.6667 } + ] + }, + "rear-bracer": { + "rotate": [ + { + "curve": [ 0.063, 0.54, 0.367, 3.39 ] + }, + { + "time": 0.5333, + "value": 3.39, + "curve": [ 0.696, 3.39, 0.939, -1.63 ] + }, + { + "time": 1.2, + "value": -1.61, + "curve": [ 1.42, -1.59, 1.574, -0.67 ] + }, + { "time": 1.6667 } + ] + }, + "gun": { + "rotate": [ + { + "curve": [ 0.099, 0.27, 0.367, 1.23 ] + }, + { + "time": 0.5333, + "value": 1.23, + "curve": [ 0.665, 1.23, 0.937, -0.56 ] + }, + { + "time": 1.1333, + "value": -0.55, + "curve": [ 1.316, -0.55, 1.582, -0.21 ] + }, + { "time": 1.6667 } + ] + }, + "torso": { + "rotate": [ + { + "value": -22.88, + "curve": [ 0.099, -23.45, 0.363, -24.74 ] + }, + { + "time": 0.5333, + "value": -24.74, + "curve": [ 0.706, -24.74, 0.961, -20.97 ] + }, + { + "time": 1.1333, + "value": -20.97, + "curve": [ 1.355, -20.97, 1.567, -22.28 ] + }, + { "time": 1.6667, "value": -22.88 } + ] + }, + "neck": { + "rotate": [ + { + "value": 3.78, + "curve": [ 0.167, 3.78, 0.5, 5.45 ] + }, + { + "time": 0.6667, + "value": 5.45, + "curve": [ 0.917, 5.45, 1.417, 3.78 ] + }, + { "time": 1.6667, "value": 3.78 } + ] + }, + "torso2": { + "rotate": [ + { + "curve": [ 0.067, 0.33, 0.341, 2.54 ] + }, + { + "time": 0.5333, + "value": 2.54, + "curve": [ 0.734, 2.55, 0.982, -0.94 ] + }, + { + "time": 1.1333, + "value": -0.93, + "curve": [ 1.365, -0.91, 1.549, -0.56 ] + }, + { "time": 1.6667 } + ] + }, + "torso3": { + "rotate": [ + { + "value": -2.15, + "curve": [ 0.052, -1.9, 0.384, -0.15 ] + }, + { + "time": 0.5333, + "value": -0.14, + "curve": [ 0.762, -0.13, 0.895, -3.1 ] + }, + { + "time": 1.1333, + "value": -3.1, + "curve": [ 1.348, -3.1, 1.592, -2.46 ] + }, + { "time": 1.6667, "value": -2.15 } + ] + }, + "hair1": { + "rotate": [ + { + "curve": [ 0.067, 0, 0.213, 2.86 ] + }, + { + "time": 0.2667, + "value": 3.65, + "curve": [ 0.358, 4.99, 0.535, 7.92 ] + }, + { + "time": 0.6667, + "value": 7.92, + "curve": [ 0.809, 7.92, 1.067, 5.49 ] + }, + { + "time": 1.1333, + "value": 4.7, + "curve": [ 1.245, 3.34, 1.525, 0 ] + }, + { "time": 1.6667 } + ] + }, + "hair2": { + "rotate": [ + { + "curve": [ 0.067, 0, 0.225, -7.97 ] + }, + { + "time": 0.2667, + "value": -9.75, + "curve": [ 0.316, -11.84, 0.519, -16.66 ] + }, + { + "time": 0.6667, + "value": -16.66, + "curve": [ 0.817, -16.66, 1.029, -11.43 ] + }, + { + "time": 1.1333, + "value": -9.14, + "curve": [ 1.25, -6.56, 1.525, 0 ] + }, + { "time": 1.6667 } + ] + }, + "hair3": { + "rotate": [ + { + "curve": [ 0.1, 0, 0.3, 1.32 ] + }, + { + "time": 0.4, + "value": 1.32, + "curve": [ 0.55, 1.32, 0.866, 0.93 ] + }, + { + "time": 1, + "value": 0.73, + "curve": [ 1.189, 0.46, 1.5, 0 ] + }, + { "time": 1.6667 } + ] + }, + "hair4": { + "rotate": [ + { + "curve": [ 0.118, -0.44, 0.3, -8.52 ] + }, + { + "time": 0.4, + "value": -8.52, + "curve": [ 0.55, -8.52, 0.85, 1.96 ] + }, + { + "time": 1, + "value": 1.96, + "curve": [ 1.167, 1.96, 1.577, 0.38 ] + }, + { "time": 1.6667 } + ] + }, + "head-control": { + "translate": [ + { + "curve": [ 0.098, 1.46, 0.3, 4.49, 0.17, 0.13, 0.316, -3.28 ] + }, + { + "time": 0.4, + "x": 4.55, + "y": -5.95, + "curve": [ 0.53, 4.64, 0.776, 2.59, 0.492, -8.89, 0.668, -14.21 ] + }, + { + "time": 0.8667, + "x": 1.42, + "y": -14.26, + "curve": [ 0.966, 0.15, 1.109, -2.91, 0.994, -14.26, 1.144, -10.58 ] + }, + { + "time": 1.2333, + "x": -3.02, + "y": -8.26, + "curve": [ 1.342, -3.02, 1.568, -1.48, 1.317, -6.1, 1.558, 0 ] + }, + { "time": 1.6667 } + ] + }, + "front-shoulder": { + "translate": [ + { + "curve": [ 0.21, 0, 0.525, -1.72, 0.21, 0, 0.525, 4.08 ] + }, + { + "time": 0.8333, + "x": -1.72, + "y": 4.08, + "curve": [ 1.15, -1.72, 1.46, 0, 1.15, 4.08, 1.46, 0 ] + }, + { "time": 1.6667 } + ] + } + } + }, + "idle-turn": { + "slots": { + "front-fist": { + "attachment": [ + { "name": "front-fist-open" } + ] + } + }, + "bones": { + "front-upper-arm": { + "rotate": [ + { + "value": -302.77, + "curve": [ 0, -406.9, 0.125, -420.87 ] + }, + { "time": 0.2667, "value": -420.87 } + ], + "translate": [ + { + "x": 2.24, + "y": -4.98, + "curve": [ 0.067, 2.24, 0.111, 0, 0.067, -4.98, 0.111, 0 ] + }, + { "time": 0.2667 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { + "value": 248.56, + "curve": [ 0, 371.28, 0.062, 399.2 ] + }, + { "time": 0.1333, "value": 399.2 } + ], + "translate": [ + { + "x": -2.84, + "y": 37.28, + "curve": [ 0.033, -2.84, 0.069, 0, 0.033, 37.28, 0.069, 0 ] + }, + { "time": 0.1333 } + ] + }, + "gun": { + "rotate": [ + { + "value": -3.95, + "curve": [ 0, -10.4, 0.019, -20.43 ] + }, + { + "time": 0.0333, + "value": -20.45, + "curve": [ 0.044, -20.47, 0.125, 0 ] + }, + { "time": 0.2 } + ] + }, + "neck": { + "rotate": [ + { + "value": 17.2, + "curve": [ 0, 6.27, 0.125, 3.78 ] + }, + { "time": 0.2667, "value": 3.78 } + ] + }, + "hip": { + "translate": [ + { + "x": -2.69, + "y": -6.79, + "curve": [ 0.067, -2.69, 0.2, -11.97, 0.067, -6.79, 0.2, -23.15 ] + }, + { "time": 0.2667, "x": -11.97, "y": -23.15 } + ] + }, + "front-fist": { + "rotate": [ + { + "value": -15.54, + "curve": [ 0, -3.08, 0.034, 18.44 ] + }, + { + "time": 0.0667, + "value": 19.02, + "curve": [ 0.108, 19.75, 0.169, 0 ] + }, + { "time": 0.2667 } + ], + "scale": [ + { + "x": 0.94, + "curve": [ 0, 0.962, 0.024, 1.237, 0, 1, 0.026, 0.947 ] + }, + { + "time": 0.0667, + "x": 1.236, + "y": 0.947, + "curve": [ 0.117, 1.235, 0.189, 1, 0.117, 0.947, 0.189, 1 ] + }, + { "time": 0.2667 } + ] + }, + "rear-bracer": { + "rotate": [ + { + "value": 11.75, + "curve": [ 0, -7.97, 0.017, -33.4 ] + }, + { + "time": 0.0333, + "value": -33.39, + "curve": [ 0.049, -33.37, 0.131, 0 ] + }, + { "time": 0.2 } + ] + }, + "torso": { + "rotate": [ + { + "value": -18.25, + "curve": [ 0, -10.59, 0.125, -22.88 ] + }, + { "time": 0.2667, "value": -22.88 } + ], + "scale": [ + { + "y": 1.03, + "curve": [ 0.067, 1, 0.132, 1, 0.067, 1.03, 0.132, 1 ] + }, + { "time": 0.2667 } + ] + }, + "head": { + "rotate": [ + { + "value": 5.12, + "curve": [ 0, -6.34, 0.125, -6.75 ] + }, + { "time": 0.2667, "value": -6.75 } + ], + "scale": [ + { + "y": 1.03, + "curve": [ 0.067, 1, 0.107, 1, 0.067, 1.03, 0.107, 1 ] + }, + { "time": 0.2667 } + ] + }, + "rear-foot-target": { + "translate": [ + { + "x": -58.39, + "y": 30.48, + "curve": [ 0, -7.15, 0.047, 16.62, 0, 12.71, 0.039, 0.22 ] + }, + { + "time": 0.1, + "x": 34.14, + "y": -0.19, + "curve": [ 0.136, 45.79, 0.163, 48.87, 0.133, -0.41, 0.163, 0 ] + }, + { "time": 0.2, "x": 48.87 } + ] + }, + "front-bracer": { + "rotate": [ + { + "value": 6.69, + "curve": [ 0, 19.76, 0.039, 56.53 ] + }, + { + "time": 0.0667, + "value": 56.63, + "curve": [ 0.114, 56.79, 0.189, 42.46 ] + }, + { "time": 0.2667, "value": 42.46 } + ] + }, + "front-foot-target": { + "rotate": [ + { + "value": -1.85, + "curve": [ 0.014, -8.91, 0.047, -28.4 ] + }, + { + "time": 0.1, + "value": -28.89, + "curve": [ 0.144, -29.29, 0.262, -21.77 ] + }, + { "time": 0.2667 } + ], + "translate": [ + { + "x": 9.97, + "y": 0.82, + "curve": [ 0, -54.41, 0.078, -69.06, 0, 0.15, 0.078, 0 ] + }, + { "time": 0.1667, "x": -69.06 } + ] + }, + "hair3": { + "rotate": [ + { + "value": -9.01, + "curve": [ 0.044, -9.01, 0.072, 7.41 ] + }, + { + "time": 0.1333, + "value": 10.08, + "curve": [ 0.166, 11.47, 0.208, 0 ] + }, + { "time": 0.2667 } + ] + }, + "hair4": { + "rotate": [ + { + "value": -16.49, + "curve": [ 0.044, -16.49, 0.101, -5.98 ] + }, + { + "time": 0.1333, + "value": -2.95, + "curve": [ 0.162, -0.34, 0.208, 0 ] + }, + { "time": 0.2667 } + ] + }, + "hair1": { + "rotate": [ + { + "value": -3.85, + "curve": [ 0.044, -3.85, 0.072, 6.91 ] + }, + { + "time": 0.1333, + "value": 8.05, + "curve": [ 0.166, 8.65, 0.208, 0 ] + }, + { "time": 0.2667 } + ] + }, + "hair2": { + "rotate": [ + { + "value": 1.25, + "curve": [ 0.044, 1.25, 0.072, 8.97 ] + }, + { + "time": 0.1333, + "value": 8.6, + "curve": [ 0.166, 8.4, 0.208, 0 ] + }, + { "time": 0.2667 } + ] + }, + "front-thigh": { + "translate": [ + { + "x": 12.21, + "y": 1.89, + "curve": [ 0.033, 12.21, 0.1, 0, 0.033, 1.89, 0.1, 0 ] + }, + { "time": 0.1333 } + ] + }, + "rear-thigh": { + "translate": [ + { + "x": -16.11, + "y": -1.38, + "curve": [ 0.033, -16.11, 0.1, 0, 0.033, -1.38, 0.1, 0 ] + }, + { "time": 0.1333 } + ] + }, + "torso3": { + "rotate": [ + { "time": 0.2667, "value": -2.15 } + ] + }, + "head-control": { + "translate": [ + { + "x": -13.72, + "y": -34.7, + "curve": [ 0.067, -13.72, 0.2, 0, 0.067, -34.7, 0.2, 0 ] + }, + { "time": 0.2667 } + ] + }, + "front-shoulder": { + "translate": [ + { + "x": 1.13, + "y": -14.31, + "curve": [ 0.067, 1.13, 0.2, 0, 0.067, -14.31, 0.2, 0 ] + }, + { "time": 0.2667 } + ] + } + } + }, + "jump": { + "slots": { + "front-fist": { + "attachment": [ + { "name": "front-fist-open" }, + { "time": 0.1, "name": "front-fist-closed" }, + { "time": 0.8333, "name": "front-fist-open" } + ] + } + }, + "bones": { + "front-thigh": { + "rotate": [ + { + "value": 55.08, + "curve": [ 0.007, 46.66, 0.043, 26.3 ] + }, + { + "time": 0.0667, + "value": 22.84, + "curve": [ 0.1, 17.99, 0.165, 15.78 ] + }, + { + "time": 0.2333, + "value": 15.71, + "curve": [ 0.309, 15.63, 0.408, 46.67 ] + }, + { + "time": 0.5, + "value": 63.6, + "curve": [ 0.56, 74.72, 0.762, 91.48 ] + }, + { + "time": 0.9667, + "value": 91.81, + "curve": [ 1.068, 92.01, 1.096, 22.05 ] + }, + { + "time": 1.1667, + "value": 22.25, + "curve": [ 1.18, 22.29, 1.176, 56.17 ] + }, + { + "time": 1.2, + "value": 56.16, + "curve": [ 1.246, 56.15, 1.263, 54.94 ] + }, + { "time": 1.3333, "value": 55.08 } + ], + "translate": [ + { "x": -5.13, "y": 11.55 } + ] + }, + "torso": { + "rotate": [ + { + "value": -45.57, + "curve": [ 0.022, -44.61, 0.03, -39.06 ] + }, + { + "time": 0.0667, + "value": -35.29, + "curve": [ 0.12, -29.77, 0.28, -19.95 ] + }, + { + "time": 0.4333, + "value": -19.95, + "curve": [ 0.673, -19.95, 0.871, -22.38 ] + }, + { + "time": 0.9667, + "value": -27.08, + "curve": [ 1.094, -33.33, 1.176, -44.93 ] + }, + { "time": 1.3333, "value": -45.57 } + ], + "translate": [ + { "x": -3.79, "y": -0.77 } + ] + }, + "rear-thigh": { + "rotate": [ + { + "value": 12.81, + "curve": [ 0.067, 12.81, 0.242, 67.88 ] + }, + { + "time": 0.2667, + "value": 74.11, + "curve": [ 0.314, 86.02, 0.454, 92.23 ] + }, + { + "time": 0.5667, + "value": 92.24, + "curve": [ 0.753, 92.26, 0.966, 67.94 ] + }, + { + "time": 1, + "value": 61.32, + "curve": [ 1.039, 53.75, 1.218, 12.68 ] + }, + { "time": 1.3333, "value": 12.81 } + ] + }, + "rear-shin": { + "rotate": [ + { + "value": -115.64, + "curve": [ 0.067, -117.17, 0.125, -117.15 ] + }, + { + "time": 0.1667, + "value": -117.15, + "curve": [ 0.225, -117.15, 0.332, -108.76 ] + }, + { + "time": 0.4, + "value": -107.15, + "curve": [ 0.48, -105.26, 0.685, -103.49 ] + }, + { + "time": 0.7667, + "value": -101.97, + "curve": [ 0.826, -100.87, 0.919, -92.3 ] + }, + { + "time": 1, + "value": -92.28, + "curve": [ 1.113, -92.26, 1.297, -114.22 ] + }, + { "time": 1.3333, "value": -115.64 } + ] + }, + "front-upper-arm": { + "rotate": [ + { + "value": -40.21, + "curve": [ 0.054, -35.46, 0.15, -31.12 ] + }, + { + "time": 0.2, + "value": -31.12, + "curve": [ 0.308, -31.12, 0.547, -80.12 ] + }, + { + "time": 0.6333, + "value": -96.56, + "curve": [ 0.697, -108.56, 0.797, -112.54 ] + }, + { + "time": 0.8667, + "value": -112.6, + "curve": [ 1.137, -112.84, 1.274, -49.19 ] + }, + { "time": 1.3333, "value": -40.21 } + ] + }, + "front-bracer": { + "rotate": [ + { + "value": 20.54, + "curve": [ 0.054, 32.23, 0.192, 55.84 ] + }, + { + "time": 0.2333, + "value": 62.58, + "curve": [ 0.29, 71.87, 0.375, 79.28 ] + }, + { + "time": 0.4333, + "value": 79.18, + "curve": [ 0.555, 78.98, 0.684, 27.54 ] + }, + { + "time": 0.7333, + "value": 13.28, + "curve": [ 0.786, -1.85, 0.874, -24.76 ] + }, + { + "time": 1, + "value": -25.45, + "curve": [ 1.165, -26.36, 1.303, 9.1 ] + }, + { "time": 1.3333, "value": 20.54 } + ] + }, + "front-fist": { + "rotate": [ + { + "value": -36.16, + "curve": [ 0.114, -39.59, 0.3, -45.61 ] + }, + { + "time": 0.4, + "value": -45.61, + "curve": [ 0.442, -45.61, 0.537, -21.54 ] + }, + { + "time": 0.5667, + "value": -15.4, + "curve": [ 0.592, -10.23, 0.692, 11.89 ] + }, + { + "time": 0.7333, + "value": 11.73, + "curve": [ 0.783, 11.54, 0.831, 1.8 ] + }, + { + "time": 0.8667, + "value": -5.78, + "curve": [ 0.897, -12.22, 0.901, -14.22 ] + }, + { + "time": 0.9333, + "value": -14.51, + "curve": [ 0.974, -14.89, 0.976, 10.38 ] + }, + { + "time": 1, + "value": 10.55, + "curve": [ 1.027, 10.74, 1.023, -8.44 ] + }, + { + "time": 1.0333, + "value": -8.42, + "curve": [ 1.059, -8.36, 1.074, 10.12 ] + }, + { + "time": 1.1, + "value": 10.22, + "curve": [ 1.168, 10.48, 1.27, -36.07 ] + }, + { "time": 1.3333, "value": -36.16 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { + "value": 40.5, + "curve": [ 0.048, 36.1, 0.168, 20.45 ] + }, + { + "time": 0.3, + "value": 20.45, + "curve": [ 0.476, 20.45, 0.571, 33.76 ] + }, + { + "time": 0.6, + "value": 38.67, + "curve": [ 0.642, 45.8, 0.681, 57.44 ] + }, + { + "time": 0.7333, + "value": 62.91, + "curve": [ 0.829, 72.8, 0.996, 77.61 ] + }, + { + "time": 1.0333, + "value": 80.37, + "curve": [ 1.082, 83.94, 1.148, 90.6 ] + }, + { + "time": 1.2, + "value": 90.6, + "curve": [ 1.248, 90.46, 1.317, 53.07 ] + }, + { "time": 1.3333, "value": 49.06 } + ] + }, + "rear-bracer": { + "rotate": [ + { + "value": 28.28, + "curve": [ 0.022, 25.12, 0.187, -0.89 ] + }, + { + "time": 0.2, + "value": -2.52, + "curve": [ 0.257, -9.92, 0.372, -17.38 ] + }, + { + "time": 0.4333, + "value": -17.41, + "curve": [ 0.54, -17.47, 0.659, -16.91 ] + }, + { + "time": 0.7667, + "value": -12.1, + "curve": [ 0.907, -5.79, 1.025, 14.58 ] + }, + { + "time": 1.1, + "value": 20.58, + "curve": [ 1.191, 27.85, 1.283, 29.67 ] + }, + { "time": 1.3333, "value": 29.67 } + ] + }, + "neck": { + "rotate": [ + { + "value": 11.88, + "curve": [ 0.104, 11.82, 0.179, 11.15 ] + }, + { + "time": 0.2, + "value": 10.08, + "curve": [ 0.255, 7.29, 0.405, -8.15 ] + }, + { + "time": 0.4333, + "value": -9.35, + "curve": [ 0.508, -12.48, 0.595, -13.14 ] + }, + { + "time": 0.6667, + "value": -12.61, + "curve": [ 0.714, -12.26, 0.815, -5.57 ] + }, + { + "time": 0.8333, + "value": -4.08, + "curve": [ 0.883, -0.07, 1.045, 12.77 ] + }, + { + "time": 1.1, + "value": 15.06, + "curve": [ 1.208, 19.6, 1.279, 20.64 ] + }, + { "time": 1.3333, "value": 20.73 } + ] + }, + "head": { + "rotate": [ + { + "value": 13.14, + "curve": [ 0.008, 12.19, 0.197, -23.53 ] + }, + { + "time": 0.3333, + "value": -23.95, + "curve": [ 0.509, -23.95, 0.667, -2.66 ] + }, + { + "time": 0.7333, + "value": -2.66, + "curve": [ 0.792, -2.66, 0.908, -13.32 ] + }, + { + "time": 0.9667, + "value": -13.32, + "curve": [ 1.158, -13.11, 1.241, -1.58 ] + }, + { "time": 1.3333, "value": -1.58 } + ], + "scale": [ + { + "curve": [ 0.041, 1, 0.052, 0.962, 0.041, 1, 0.052, 1.137 ] + }, + { + "time": 0.1, + "x": 0.954, + "y": 1.137, + "curve": [ 0.202, 0.962, 0.318, 1, 0.202, 1.137, 0.252, 1.002 ] + }, + { "time": 0.4667 }, + { + "time": 1.0667, + "x": 1.002, + "curve": [ 1.092, 1.002, 1.126, 1.143, 1.092, 1, 1.128, 0.975 ] + }, + { + "time": 1.1667, + "x": 1.144, + "y": 0.973, + "curve": [ 1.204, 1.145, 1.233, 0.959, 1.206, 0.972, 1.227, 1.062 ] + }, + { + "time": 1.2667, + "x": 0.958, + "y": 1.063, + "curve": [ 1.284, 0.958, 1.292, 1.001, 1.288, 1.063, 1.288, 1.001 ] + }, + { "time": 1.3333 } + ] + }, + "hip": { + "translate": [ + { + "y": -45.46, + "curve": [ 0.042, -0.09, 0.15, 15.22, 0.031, 44.98, 0.123, 289.73 ] + }, + { + "time": 0.2, + "x": 15.22, + "y": 415.85, + "curve": [ 0.332, 15.22, 0.539, -34.52, 0.271, 532.93, 0.483, 720.5 ] + }, + { + "time": 0.7667, + "x": -34.52, + "y": 721.6, + "curve": [ 0.888, -34.52, 1.057, -21.95, 1.049, 721.17, 1.098, 379.84 ] + }, + { + "time": 1.1333, + "x": -15.67, + "y": 266.77, + "curve": [ 1.144, -14.77, 1.188, -10.53, 1.15, 213.72, 1.172, -61.32 ] + }, + { + "time": 1.2333, + "x": -6.53, + "y": -61.34, + "curve": [ 1.272, -3.22, 1.311, 0.05, 1.291, -61.36, 1.296, -44.8 ] + }, + { "time": 1.3333, "y": -45.46 } + ] + }, + "front-shin": { + "rotate": [ + { + "value": -74.19, + "curve": [ 0, -51.14, 0.042, -12.54 ] + }, + { + "time": 0.1667, + "value": -12.28, + "curve": [ 0.285, -12.32, 0.37, -74.44 ] + }, + { + "time": 0.4333, + "value": -92.92, + "curve": [ 0.498, -111.86, 0.617, -140.28 ] + }, + { + "time": 0.9, + "value": -140.84, + "curve": [ 1.004, -141.04, 1.09, -47.87 ] + }, + { + "time": 1.1, + "value": -37.44, + "curve": [ 1.108, -29.83, 1.14, -21.18 ] + }, + { + "time": 1.1667, + "value": -21.08, + "curve": [ 1.18, -21.03, 1.191, -50.65 ] + }, + { + "time": 1.2, + "value": -53.17, + "curve": [ 1.22, -58.53, 1.271, -73.38 ] + }, + { "time": 1.3333, "value": -74.19 } + ] + }, + "front-foot": { + "rotate": [ + { + "value": 7.35, + "curve": [ 0, 4.8, 0.05, -26.64 ] + }, + { + "time": 0.0667, + "value": -26.64, + "curve": [ 0.192, -26.64, 0.442, -11.77 ] + }, + { + "time": 0.5667, + "value": -11.77, + "curve": [ 0.692, -11.77, 0.942, -19.36 ] + }, + { + "time": 1.0667, + "value": -19.36, + "curve": [ 1.133, -19.36, 1.32, 3.82 ] + }, + { "time": 1.3333, "value": 7.35 } + ] + }, + "rear-foot": { + "rotate": [ + { "value": -7.14 } + ] + }, + "gun": { + "rotate": [ + { + "value": 12.36, + "curve": [ 0.022, 16.28, 0.15, 30.81 ] + }, + { + "time": 0.2, + "value": 30.81, + "curve": [ 0.258, 30.81, 0.375, 13.26 ] + }, + { + "time": 0.4333, + "value": 13.26, + "curve": [ 0.508, 13.26, 0.658, 15.05 ] + }, + { + "time": 0.7333, + "value": 14.98, + "curve": [ 0.789, 14.94, 0.828, 13.62 ] + }, + { + "time": 0.8667, + "value": 12.72, + "curve": [ 0.887, 12.25, 0.984, 9.83 ] + }, + { + "time": 1.0333, + "value": 8.6, + "curve": [ 1.045, 8.31, 1.083, 7.55 ] + }, + { + "time": 1.1333, + "value": 7.13, + "curve": [ 1.175, 6.78, 1.283, 6.18 ] + }, + { "time": 1.3333, "value": 6.18 } + ] + }, + "front-leg-target": { + "translate": [ + { "x": -13.95, "y": -30.34 } + ] + }, + "rear-leg-target": { + "rotate": [ + { "value": -38.43 } + ], + "translate": [ + { "x": 85, "y": -33.59 } + ] + }, + "front-foot-target": { + "rotate": [ + { "value": -62.54 } + ], + "translate": [ + { "x": 16.34, "y": 0.18 } + ] + }, + "rear-foot-target": { + "rotate": [ + { "value": 18.55 } + ], + "translate": [ + { "x": -176.39, "y": 134.12 } + ] + }, + "back-foot-tip": { + "rotate": [ + { + "value": -143.73, + "curve": [ 0.083, -144.24, 0.167, -74.26 ] + }, + { + "time": 0.2667, + "value": -52.76, + "curve": [ 0.342, -36.57, 0.513, -36.57 ] + }, + { + "time": 0.6333, + "value": -30.97, + "curve": [ 0.724, -26.78, 0.848, -17.06 ] + }, + { + "time": 0.9667, + "value": -16.74, + "curve": [ 1.167, -16.2, 1.272, -144.17 ] + }, + { "time": 1.3333, "value": -143.73 } + ] + }, + "front-foot-tip": { + "rotate": [ + { + "value": -1.57, + "curve": [ 0, -24.71, 0.162, -60.88 ] + }, + { + "time": 0.2667, + "value": -60.83, + "curve": [ 0.342, -60.8, 0.582, -43.5 ] + }, + { + "time": 0.7, + "value": -39.45, + "curve": [ 0.773, -36.94, 0.832, -36.78 ] + }, + { + "time": 0.9667, + "value": -36.6, + "curve": [ 1.054, -36.49, 1.092, -37.37 ] + }, + { + "time": 1.1667, + "value": -33.26, + "curve": [ 1.237, -29.37, 1.147, -1.41 ] + }, + { "time": 1.2, "value": -1.57 } + ] + }, + "hair3": { + "rotate": [ + { + "value": -6.81, + "curve": [ 0, 13.59, 0.117, 18.21 ] + }, + { + "time": 0.1333, + "value": 18.21, + "curve": [ 0.167, 18.21, 0.26, 12.95 ] + }, + { + "time": 0.3, + "value": 11.56, + "curve": [ 0.382, 8.7, 0.55, 9.43 ] + }, + { + "time": 0.6667, + "value": 9.32, + "curve": [ 0.843, 9.15, 0.918, -7.34 ] + }, + { "time": 1.3333, "value": -6.81 } + ], + "translate": [ + { + "time": 0.6667, + "curve": [ 0.781, 0, 0.972, 16.03, 0.781, 0, 0.972, 0.92 ] + }, + { + "time": 1.1333, + "x": 16.03, + "y": 0.92, + "curve": [ 1.211, 16.03, 1.281, 0, 1.211, 0.92, 1.281, 0 ] + }, + { "time": 1.3333 } + ] + }, + "hair4": { + "rotate": [ + { + "value": -6.81, + "curve": [ 0.001, -3.88, 0.063, 16.18 ] + }, + { + "time": 0.1667, + "value": 16.14, + "curve": [ 0.242, 16.1, 0.249, 16.07 ] + }, + { + "time": 0.3333, + "value": 13.46, + "curve": [ 0.442, 10.09, 0.573, -2.2 ] + }, + { + "time": 0.6, + "value": -6.04, + "curve": [ 0.614, -8.05, 0.717, -33.44 ] + }, + { + "time": 0.7667, + "value": -33.44, + "curve": [ 0.809, -33.44, 0.835, -31.32 ] + }, + { + "time": 0.8667, + "value": -27.36, + "curve": [ 0.874, -26.47, 0.903, -14.28 ] + }, + { + "time": 0.9333, + "value": -14.47, + "curve": [ 0.956, -14.62, 0.944, -25.91 ] + }, + { + "time": 1, + "value": -25.96, + "curve": [ 1.062, -26.02, 1.051, -1.87 ] + }, + { + "time": 1.0667, + "value": -1.87, + "curve": [ 1.096, -1.87, 1.096, -16.09 ] + }, + { + "time": 1.1333, + "value": -16.08, + "curve": [ 1.169, -16.08, 1.153, -3.38 ] + }, + { + "time": 1.2, + "value": -3.38, + "curve": [ 1.234, -3.38, 1.271, -6.07 ] + }, + { "time": 1.3333, "value": -6.07 } + ] + }, + "hair2": { + "rotate": [ + { + "value": -6.81, + "curve": [ 0, -3.17, 0.042, 16.33 ] + }, + { + "time": 0.0667, + "value": 16.33, + "curve": [ 0.21, 15.74, 0.208, -12.06 ] + }, + { + "time": 0.3333, + "value": -12.21, + "curve": [ 0.417, -12.3, 0.552, -3.98 ] + }, + { + "time": 0.6667, + "value": 1.52, + "curve": [ 0.726, 4.35, 0.817, 4.99 ] + }, + { + "time": 0.8667, + "value": 4.99, + "curve": [ 0.901, 4.99, 0.912, -29.05 ] + }, + { + "time": 0.9667, + "value": -27.45, + "curve": [ 0.987, -26.83, 1.018, -5.42 ] + }, + { + "time": 1.0667, + "value": -5.46, + "curve": [ 1.107, -5.22, 1.095, -33.51 ] + }, + { + "time": 1.1333, + "value": -33.28, + "curve": [ 1.162, -33.57, 1.192, 8.04 ] + }, + { + "time": 1.2667, + "value": 7.86, + "curve": [ 1.302, 7.77, 1.313, 2.7 ] + }, + { "time": 1.3333, "value": 2.7 } + ] + }, + "hair1": { + "rotate": [ + { + "value": -6.81, + "curve": [ 0.001, -3.12, 0.074, 14.66 ] + }, + { + "time": 0.1333, + "value": 14.66, + "curve": [ 0.188, 14.8, 0.293, 9.56 ] + }, + { + "time": 0.3333, + "value": 5.99, + "curve": [ 0.381, 1.72, 0.55, -11.11 ] + }, + { + "time": 0.6667, + "value": -11.11, + "curve": [ 0.833, -11.11, 0.933, 22.54 ] + }, + { + "time": 1.1, + "value": 22.54, + "curve": [ 1.158, 22.54, 1.275, -6.81 ] + }, + { "time": 1.3333, "value": -6.81 } + ] + }, + "torso2": { + "rotate": [ + { + "value": 4.52, + "curve": [ 0.013, 2.33, 0.092, -9.75 ] + }, + { + "time": 0.1333, + "value": -9.75, + "curve": [ 0.175, -9.75, 0.291, -1.26 ] + }, + { + "time": 0.3333, + "value": 0.96, + "curve": [ 0.359, 2.3, 0.543, 4.25 ] + }, + { + "time": 0.6, + "value": 4.68, + "curve": [ 0.683, 5.3, 0.771, 5.92 ] + }, + { + "time": 0.8333, + "value": 6.48, + "curve": [ 0.871, 6.82, 1.083, 11.37 ] + }, + { + "time": 1.1667, + "value": 11.37, + "curve": [ 1.208, 11.37, 1.317, 6.18 ] + }, + { "time": 1.3333, "value": 4.52 } + ], + "translate": [ + { + "curve": [ 0, 0, 0.082, -2.24, 0, 0, 0.082, -0.42 ] + }, + { + "time": 0.1667, + "x": -2.98, + "y": -0.56, + "curve": [ 0.232, -2.24, 0.298, 0, 0.232, -0.42, 0.298, 0 ] + }, + { "time": 0.3333, "curve": "stepped" }, + { + "time": 0.8667, + "curve": [ 0.889, 0, 0.912, 0.26, 0.889, 0, 0.912, 0.06 ] + }, + { + "time": 0.9333, + "x": 0.68, + "y": 0.23, + "curve": [ 1.016, 2.22, 1.095, 5.9, 1.023, 0.97, 1.095, 1.99 ] + }, + { + "time": 1.1667, + "x": 6.47, + "y": 2.18, + "curve": [ 1.23, 5.75, 1.286, 0, 1.23, 1.94, 1.286, 0 ] + }, + { "time": 1.3333 } + ] + }, + "torso3": { + "rotate": [ + { + "value": 4.52, + "curve": [ 0.025, 4.52, 0.075, -6.17 ] + }, + { + "time": 0.1, + "value": -6.17, + "curve": [ 0.175, -6.17, 0.381, -0.71 ] + }, + { + "time": 0.4, + "value": -0.25, + "curve": [ 0.447, 0.87, 0.775, 4.84 ] + }, + { + "time": 0.9, + "value": 4.84, + "curve": [ 1.008, 4.84, 1.225, 4.52 ] + }, + { "time": 1.3333, "value": 4.52 } + ] + }, + "head-control": { + "translate": [ + { + "curve": [ 0.138, -2.4, 0.227, -10.44, 0.123, 1.05, 0.227, 2.7 ] + }, + { + "time": 0.3667, + "x": -10.44, + "y": 2.7, + "curve": [ 0.484, -10.44, 0.585, -5.63, 0.484, 2.7, 0.629, -23.62 ] + }, + { + "time": 0.7333, + "x": -2.29, + "y": -26.61, + "curve": [ 0.818, -0.39, 0.962, 1.21, 0.858, -30.17, 0.972, -28.75 ] + }, + { + "time": 1.1, + "x": 1.25, + "y": -28.75, + "curve": [ 1.192, 1.28, 1.234, 0.98, 1.224, -28.75, 1.235, -2.15 ] + }, + { "time": 1.3333 } + ] + }, + "front-shoulder": { + "translate": [ + { + "curve": [ 0.031, -2.22, 0.065, -3.73, 0.02, -3.25, 0.065, -14.74 ] + }, + { + "time": 0.1, + "x": -3.73, + "y": -14.74, + "curve": [ 0.216, -3.73, 0.384, -0.17, 0.216, -14.74, 0.402, -12.51 ] + }, + { + "time": 0.5, + "x": 1.63, + "y": -9.51, + "curve": [ 0.632, 3.69, 0.935, 7.41, 0.585, -6.91, 0.909, 10.86 ] + }, + { + "time": 1.1, + "x": 7.45, + "y": 10.99, + "curve": [ 1.18, 7.46, 1.265, 2.86, 1.193, 11.05, 1.294, 3.38 ] + }, + { "time": 1.3333 } + ] + } + }, + "ik": { + "front-foot-ik": [ + { + "mix": 0, + "curve": [ 0.3, 0, 0.9, 1, 0.3, 0, 0.9, 0 ] + }, + { "time": 1.2 } + ], + "front-leg-ik": [ + { + "mix": 0, + "bendPositive": false, + "curve": [ 0.3, 0, 0.9, 1, 0.3, 0, 0.9, 0 ] + }, + { "time": 1.2, "bendPositive": false } + ], + "rear-foot-ik": [ + { "mix": 0 } + ], + "rear-leg-ik": [ + { "mix": 0, "bendPositive": false } + ] + }, + "events": [ + { "time": 1.2, "name": "footstep" } + ] + }, + "portal": { + "slots": { + "clipping": { + "attachment": [ + { "name": "clipping" } + ] + }, + "front-fist": { + "attachment": [ + { "name": "front-fist-open" } + ] + }, + "mouth": { + "attachment": [ + { "time": 0.9, "name": "mouth-grind" }, + { "time": 2.2667, "name": "mouth-smile" } + ] + }, + "portal-bg": { + "attachment": [ + { "name": "portal-bg" }, + { "time": 3 } + ] + }, + "portal-flare1": { + "attachment": [ + { "time": 1.1, "name": "portal-flare1" }, + { "time": 1.1333, "name": "portal-flare2" }, + { "time": 1.1667, "name": "portal-flare3" }, + { "time": 1.2, "name": "portal-flare1" }, + { "time": 1.2333, "name": "portal-flare2" }, + { "time": 1.2667, "name": "portal-flare1" }, + { "time": 1.3333 } + ] + }, + "portal-flare2": { + "attachment": [ + { "time": 1.1, "name": "portal-flare2" }, + { "time": 1.1333, "name": "portal-flare3" }, + { "time": 1.1667, "name": "portal-flare1" }, + { "time": 1.2, "name": "portal-flare2" }, + { "time": 1.2333, "name": "portal-flare3" }, + { "time": 1.2667 } + ] + }, + "portal-flare3": { + "attachment": [ + { "time": 1.2, "name": "portal-flare3" }, + { "time": 1.2333, "name": "portal-flare2" }, + { "time": 1.2667 } + ] + }, + "portal-flare4": { + "attachment": [ + { "time": 1.2, "name": "portal-flare2" }, + { "time": 1.2333, "name": "portal-flare1" }, + { "time": 1.2667, "name": "portal-flare2" }, + { "time": 1.3333 } + ] + }, + "portal-flare5": { + "attachment": [ + { "time": 1.2333, "name": "portal-flare3" }, + { "time": 1.2667, "name": "portal-flare1" }, + { "time": 1.3333 } + ] + }, + "portal-flare6": { + "attachment": [ + { "time": 1.2667, "name": "portal-flare3" }, + { "time": 1.3333 } + ] + }, + "portal-flare7": { + "attachment": [ + { "time": 1.1333, "name": "portal-flare2" }, + { "time": 1.1667 } + ] + }, + "portal-flare8": { + "attachment": [ + { "time": 1.2, "name": "portal-flare3" }, + { "time": 1.2333, "name": "portal-flare2" }, + { "time": 1.2667 } + ] + }, + "portal-flare9": { + "attachment": [ + { "time": 1.2, "name": "portal-flare2" }, + { "time": 1.2333, "name": "portal-flare3" }, + { "time": 1.2667, "name": "portal-flare1" }, + { "time": 1.3 } + ] + }, + "portal-flare10": { + "attachment": [ + { "time": 1.2, "name": "portal-flare2" }, + { "time": 1.2333, "name": "portal-flare1" }, + { "time": 1.2667, "name": "portal-flare3" }, + { "time": 1.3 } + ] + }, + "portal-shade": { + "attachment": [ + { "name": "portal-shade" }, + { "time": 3 } + ] + }, + "portal-streaks1": { + "attachment": [ + { "name": "portal-streaks1" }, + { "time": 3 } + ] + }, + "portal-streaks2": { + "attachment": [ + { "name": "portal-streaks2" }, + { "time": 3 } + ] + } + }, + "bones": { + "portal-root": { + "translate": [ + { + "x": -458.35, + "y": 105.19, + "curve": [ 0.333, -458.22, 0.669, -457.86, 0.934, 105.19, 0.671, 105.19 ] + }, + { + "time": 1, + "x": -456.02, + "y": 105.19, + "curve": [ 1.339, -454.14, 2.208, -447.28, 1.35, 105.19, 2.05, 105.19 ] + }, + { + "time": 2.4, + "x": -439.12, + "y": 105.19, + "curve": [ 2.463, -436.44, 2.502, -432.92, 2.487, 105.19, 2.512, 105.09 ] + }, + { + "time": 2.6, + "x": -432.58, + "y": 105.09, + "curve": [ 2.784, -431.94, 2.978, -446.6, 2.772, 105.09, 2.933, 105.19 ] + }, + { "time": 3.0333, "x": -457.42, "y": 105.19 } + ], + "scale": [ + { + "x": 0.003, + "y": 0.006, + "curve": [ 0.329, 0.044, 0.347, 0.117, 0.329, 0.097, 0.37, 0.249 ] + }, + { + "time": 0.4, + "x": 0.175, + "y": 0.387, + "curve": [ 0.63, 0.619, 0.663, 0.723, 0.609, 1.338, 0.645, 1.524 ] + }, + { + "time": 0.7333, + "x": 0.724, + "y": 1.52, + "curve": [ 0.798, 0.725, 0.907, 0.647, 0.797, 1.517, 0.895, 1.424 ] + }, + { + "time": 1, + "x": 0.645, + "y": 1.426, + "curve": [ 1.095, 0.643, 1.139, 0.688, 1.089, 1.428, 1.115, 1.513 ] + }, + { + "time": 1.2333, + "x": 0.685, + "y": 1.516, + "curve": [ 1.325, 0.683, 1.508, 0.636, 1.343, 1.518, 1.467, 1.4 ] + }, + { + "time": 1.6, + "x": 0.634, + "y": 1.401, + "curve": [ 1.728, 0.631, 1.946, 0.687, 1.722, 1.402, 1.924, 1.522 ] + }, + { + "time": 2.0667, + "x": 0.688, + "y": 1.522, + "curve": [ 2.189, 0.69, 2.289, 0.649, 2.142, 1.522, 2.265, 1.417 ] + }, + { + "time": 2.4, + "x": 0.65, + "y": 1.426, + "curve": [ 2.494, 0.651, 2.504, 0.766, 2.508, 1.434, 2.543, 1.566 ] + }, + { + "time": 2.6, + "x": 0.766, + "y": 1.568, + "curve": [ 2.73, 0.765, 3.006, 0.098, 2.767, 1.564, 2.997, 0.1 ] + }, + { "time": 3.0333, "x": 0.007, "y": 0.015 } + ] + }, + "portal-streaks1": { + "rotate": [ + {}, + { "time": 3.1667, "value": 1200 } + ], + "translate": [ + { + "x": 15.15, + "curve": [ 0.162, 15.15, 0.432, 12.6, 0.162, 0, 0.432, -3.86 ] + }, + { + "time": 0.6667, + "x": 10.9, + "y": -6.44, + "curve": [ 0.794, 9.93, 0.912, 9.21, 0.794, -7.71, 0.912, -8.66 ] + }, + { + "time": 1, + "x": 9.21, + "y": -8.66, + "curve": [ 1.083, 9.21, 1.25, 21.53, 1.083, -8.66, 1.265, -4.9 ] + }, + { + "time": 1.3333, + "x": 21.53, + "y": -3.19, + "curve": [ 1.5, 21.53, 1.939, 12.3, 1.446, -0.37, 1.9, 6.26 ] + }, + { + "time": 2.0667, + "x": 11.26, + "y": 6.26, + "curve": [ 2.239, 9.85, 2.389, 9.68, 2.208, 6.26, 2.523, 0.51 ] + }, + { + "time": 2.5667, + "x": 9.39, + "y": -0.8, + "curve": [ 2.657, 9.24, 2.842, 9.21, 2.646, -3.2, 2.842, -8.91 ] + }, + { "time": 2.9333, "x": 9.21, "y": -8.91 } + ], + "scale": [ + { + "curve": [ 0.167, 1, 0.5, 1.053, 0.167, 1, 0.5, 1.053 ] + }, + { + "time": 0.6667, + "x": 1.053, + "y": 1.053, + "curve": [ 0.833, 1.053, 1.167, 0.986, 0.833, 1.053, 1.167, 0.986 ] + }, + { + "time": 1.3333, + "x": 0.986, + "y": 0.986, + "curve": [ 1.5, 0.986, 1.833, 1.053, 1.5, 0.986, 1.833, 1.053 ] + }, + { "time": 2, "x": 1.053, "y": 1.053 } + ] + }, + "portal-streaks2": { + "rotate": [ + {}, + { "time": 3.1667, "value": 600 } + ], + "translate": [ + { "x": -2.11 }, + { "time": 1, "x": -2.11, "y": 6.63 }, + { "time": 1.9333, "x": -2.11 } + ], + "scale": [ + { + "x": 1.014, + "y": 1.014, + "curve": [ 0.229, 0.909, 0.501, 0.755, 0.242, 0.892, 0.502, 0.768 ] + }, + { + "time": 0.8667, + "x": 0.745, + "y": 0.745, + "curve": [ 1.282, 0.733, 2.021, 0.699, 1.27, 0.719, 2.071, 0.709 ] + }, + { + "time": 2.2, + "x": 0.7, + "y": 0.704, + "curve": [ 2.315, 0.7, 2.421, 0.794, 2.311, 0.701, 2.485, 0.797 ] + }, + { + "time": 2.5667, + "x": 0.794, + "y": 0.794, + "curve": [ 2.734, 0.794, 2.99, 0.323, 2.714, 0.789, 3.019, 0.341 ] + }, + { "time": 3.1667, "x": 0, "y": 0 } + ] + }, + "portal-shade": { + "translate": [ + { "x": -29.68 } + ], + "scale": [ + { "x": 0.714, "y": 0.714 } + ] + }, + "portal": { + "rotate": [ + {}, + { "time": 3.1667, "value": 600 } + ] + }, + "clipping": { + "translate": [ + { "x": -476.55, "y": 2.27 } + ], + "scale": [ + { "x": 0.983, "y": 1.197 } + ] + }, + "hip": { + "rotate": [ + { + "time": 1.0667, + "value": 22.74, + "curve": [ 1.163, 18.84, 1.77, 8.77 ] + }, + { + "time": 1.9, + "value": 7.82, + "curve": [ 2.271, 5.1, 2.89, 0 ] + }, + { "time": 3.1667 } + ], + "translate": [ + { "x": -899.41, "y": 4.47, "curve": "stepped" }, + { + "time": 1.0667, + "x": -694.16, + "y": 183.28, + "curve": [ 1.091, -602.08, 1.138, -427.59, 1.115, 185.6, 1.171, 133.18 ] + }, + { + "time": 1.2333, + "x": -316.97, + "y": 55.29, + "curve": [ 1.317, -220.27, 1.512, -123.21, 1.271, 8.68, 1.461, -83.18 ] + }, + { + "time": 1.6, + "x": -95.53, + "y": -112.23, + "curve": [ 1.718, -58.25, 2.037, -22.54, 1.858, -166.17, 2.109, -31.4 ] + }, + { + "time": 2.1667, + "x": -14.82, + "y": -31.12, + "curve": [ 2.294, -7.28, 2.442, -7.2, 2.274, -30.6, 2.393, -36.76 ] + }, + { + "time": 2.6, + "x": -7.2, + "y": -36.96, + "curve": [ 2.854, -7.2, 3.071, -11.87, 2.786, -36.27, 3.082, -22.98 ] + }, + { "time": 3.1667, "x": -11.97, "y": -23.15 } + ] + }, + "rear-foot-target": { + "rotate": [ + { "time": 1.0667, "value": 41.6, "curve": "stepped" }, + { + "time": 1.2333, + "value": 41.6, + "curve": [ 1.258, 41.6, 1.379, 35.46 ] + }, + { + "time": 1.4, + "value": 30.09, + "curve": [ 1.412, 27.04, 1.433, 10.65 ] + }, + { "time": 1.4333, "value": -0.28 }, + { "time": 1.6, "value": 2.44 } + ], + "translate": [ + { "x": -899.41, "y": 4.47, "curve": "stepped" }, + { + "time": 1.0667, + "x": -591.13, + "y": 438.46, + "curve": [ 1.076, -539.77, 1.206, -268.1, 1.117, 418.44, 1.21, 333.18 ] + }, + { + "time": 1.2333, + "x": -225.28, + "y": 304.53, + "curve": [ 1.265, -175.22, 1.393, -74.21, 1.296, 226.52, 1.401, 49.61 ] + }, + { + "time": 1.4333, + "x": -52.32, + "y": 0.2, + "curve": [ 1.454, -40.85, 1.616, 40.87, 1.466, 0.17, 1.614, 0.04 ] + }, + { "time": 1.6667, "x": 45.87, "y": 0.01 }, + { "time": 1.9333, "x": 48.87 } + ] + }, + "front-foot-target": { + "rotate": [ + { + "time": 1.0667, + "value": 32.08, + "curve": [ 1.108, 32.08, 1.192, 35.16 ] + }, + { + "time": 1.2333, + "value": 35.16, + "curve": [ 1.258, 35.16, 1.317, 2.23 ] + }, + { + "time": 1.3333, + "value": -4.74, + "curve": [ 1.351, -12.14, 1.429, -34.96 ] + }, + { + "time": 1.6, + "value": -34.77, + "curve": [ 1.765, -34.58, 1.897, -17.25 ] + }, + { "time": 1.9333 } + ], + "translate": [ + { "x": -899.41, "y": 4.47, "curve": "stepped" }, + { + "time": 1.0667, + "x": -533.93, + "y": 363.75, + "curve": [ 1.074, -480.85, 1.18, -261.31, 1.094, 362.3, 1.195, 267.77 ] + }, + { + "time": 1.2333, + "x": -201.23, + "y": 199.93, + "curve": [ 1.269, -161.38, 1.294, -140.32, 1.274, 126.67, 1.308, 77.12 ] + }, + { + "time": 1.3333, + "x": -124.08, + "y": 0.2, + "curve": [ 1.426, -85.6, 1.633, -69.06, 1.45, 0.48, 1.633, 0 ] + }, + { "time": 1.7333, "x": -69.06 } + ] + }, + "torso": { + "rotate": [ + { + "time": 1.0667, + "value": 27.02, + "curve": [ 1.187, 26.86, 1.291, 7.81 ] + }, + { + "time": 1.3333, + "value": -2.62, + "curve": [ 1.402, -19.72, 1.429, -48.64 ] + }, + { + "time": 1.4667, + "value": -56.31, + "curve": [ 1.509, -64.87, 1.62, -77.14 ] + }, + { + "time": 1.7333, + "value": -77.34, + "curve": [ 1.837, -76.89, 1.895, -71.32 ] + }, + { + "time": 2, + "value": -57.52, + "curve": [ 2.104, -43.83, 2.189, -28.59 ] + }, + { + "time": 2.3, + "value": -29.03, + "curve": [ 2.413, -29.48, 2.513, -36.79 ] + }, + { + "time": 2.6667, + "value": -36.79, + "curve": [ 2.814, -36.95, 2.947, -22.88 ] + }, + { "time": 3.1667, "value": -22.88 } + ] + }, + "neck": { + "rotate": [ + { + "time": 1.0667, + "value": -3.57, + "curve": [ 1.146, -3.66, 1.15, -13.5 ] + }, + { + "time": 1.2333, + "value": -13.5, + "curve": [ 1.428, -13.5, 1.443, 11.58 ] + }, + { + "time": 1.5667, + "value": 11.42, + "curve": [ 1.658, 11.3, 1.775, 3.78 ] + }, + { + "time": 1.8667, + "value": 3.78, + "curve": [ 1.92, 3.78, 2.036, 8.01 ] + }, + { + "time": 2.1, + "value": 7.93, + "curve": [ 2.266, 7.72, 2.42, 3.86 ] + }, + { + "time": 2.5333, + "value": 3.86, + "curve": [ 2.783, 3.86, 3.004, 3.78 ] + }, + { "time": 3.1667, "value": 3.78 } + ] + }, + "head": { + "rotate": [ + { + "time": 1.0667, + "value": 16.4, + "curve": [ 1.133, 9.9, 1.207, 1.87 ] + }, + { + "time": 1.3333, + "value": 1.67, + "curve": [ 1.46, 1.56, 1.547, 47.54 ] + }, + { + "time": 1.7333, + "value": 47.55, + "curve": [ 1.897, 47.56, 2.042, 5.68 ] + }, + { + "time": 2.0667, + "value": 0.86, + "curve": [ 2.074, -0.61, 2.086, -2.81 ] + }, + { + "time": 2.1, + "value": -5.31, + "curve": [ 2.145, -13.07, 2.216, -23.65 ] + }, + { + "time": 2.2667, + "value": -23.71, + "curve": [ 2.334, -23.79, 2.426, -13.43 ] + }, + { + "time": 2.4667, + "value": -9.18, + "curve": [ 2.498, -5.91, 2.604, 2.53 ] + }, + { + "time": 2.6667, + "value": 2.52, + "curve": [ 2.738, 2.24, 2.85, -8.76 ] + }, + { + "time": 2.9333, + "value": -8.67, + "curve": [ 3.036, -8.55, 3.09, -7.09 ] + }, + { "time": 3.1667, "value": -6.75 } + ], + "scale": [ + { + "time": 1.3333, + "curve": [ 1.392, 1, 1.526, 1, 1.392, 1, 1.508, 1.043 ] + }, + { + "time": 1.5667, + "x": 0.992, + "y": 1.043, + "curve": [ 1.598, 0.985, 1.676, 0.955, 1.584, 1.043, 1.672, 1.04 ] + }, + { + "time": 1.7333, + "x": 0.954, + "y": 1.029, + "curve": [ 1.843, 0.954, 1.933, 1, 1.825, 1.013, 1.933, 1 ] + }, + { "time": 2 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { + "time": 0.9, + "value": 39.24, + "curve": [ 0.968, 39.93, 1.267, 85.31 ] + }, + { + "time": 1.4667, + "value": 112.27, + "curve": [ 1.555, 124.24, 1.576, 126.44 ] + }, + { + "time": 1.6333, + "value": 126.44, + "curve": [ 1.782, 126.44, 1.992, 94.55 ] + }, + { + "time": 2.1, + "value": 79.96, + "curve": [ 2.216, 64.26, 2.407, 34.36 ] + }, + { + "time": 2.5667, + "value": 33.38, + "curve": [ 2.815, 31.87, 3.1, 39.2 ] + }, + { "time": 3.1667, "value": 39.2 } + ] + }, + "back-foot-tip": { + "rotate": [ + { + "time": 1.0667, + "value": 56.07, + "curve": [ 1.138, 59.21, 1.192, 59.65 ] + }, + { + "time": 1.2333, + "value": 59.46, + "curve": [ 1.295, 59.17, 1.45, 22.54 ] + }, + { "time": 1.4667, "value": -0.84 } + ] + }, + "front-upper-arm": { + "rotate": [ + { + "time": 1.0667, + "value": 118.03, + "curve": [ 1.075, 93.64, 1.358, -34.03 ] + }, + { + "time": 1.6667, + "value": -33.94, + "curve": [ 1.808, -33.89, 1.879, -25 ] + }, + { + "time": 1.9667, + "value": -25.19, + "curve": [ 2.09, -25.46, 2.312, -34.58 ] + }, + { + "time": 2.3667, + "value": -38.36, + "curve": [ 2.465, -45.18, 2.557, -60.1 ] + }, + { + "time": 2.8333, + "value": -61.1, + "curve": [ 2.843, -61.06, 3.16, -60.87 ] + }, + { "time": 3.1667, "value": -60.87 } + ] + }, + "front-bracer": { + "rotate": [ + { + "time": 1.0667, + "value": 0.66, + "curve": [ 1.108, 0.66, 1.221, 44.95 ] + }, + { + "time": 1.2333, + "value": 49.25, + "curve": [ 1.263, 59.42, 1.342, 68.06 ] + }, + { + "time": 1.3667, + "value": 68.34, + "curve": [ 1.409, 68.8, 1.476, 4.9 ] + }, + { + "time": 1.5, + "value": -2.05, + "curve": [ 1.529, -10.3, 1.695, -15.95 ] + }, + { + "time": 1.7333, + "value": -17.38, + "curve": [ 1.807, -20.1, 1.878, -21.19 ] + }, + { + "time": 1.9333, + "value": -21.08, + "curve": [ 2.073, -20.8, 2.146, -7.63 ] + }, + { + "time": 2.1667, + "value": -3.64, + "curve": [ 2.186, 0.12, 2.275, 15.28 ] + }, + { + "time": 2.3333, + "value": 21.78, + "curve": [ 2.392, 28.31, 2.575, 37.66 ] + }, + { + "time": 2.7, + "value": 39.43, + "curve": [ 2.947, 42.93, 3.02, 42.46 ] + }, + { "time": 3.1667, "value": 42.46 } + ] + }, + "front-thigh": { + "translate": [ + { "time": 1.1, "x": -6.41, "y": 18.23, "curve": "stepped" }, + { "time": 1.1333, "x": -6.41, "y": 18.23 }, + { "time": 1.2, "x": 1.61, "y": 3.66 }, + { "time": 1.2333, "x": 4.5, "y": -3.15 }, + { "time": 1.3667, "x": -3.79, "y": 2.94 }, + { "time": 1.4, "x": -8.37, "y": 8.72 }, + { "time": 1.4333, "x": -11.26, "y": 16.99 }, + { "time": 1.4667, "x": -9.89, "y": 24.73, "curve": "stepped" }, + { "time": 1.8667, "x": -9.89, "y": 24.73 }, + { "time": 2.1 } + ] + }, + "front-foot-tip": { + "rotate": [ + { "time": 1.0667, "value": 42.55, "curve": "stepped" }, + { "time": 1.1333, "value": 42.55 }, + { "time": 1.2333, "value": 17.71 }, + { "time": 1.3667, "value": 3.63 }, + { "time": 1.4333 } + ] + }, + "rear-bracer": { + "rotate": [ + { + "time": 1.0667, + "value": 108.71, + "curve": [ 1.082, 108.29, 1.437, 50.73 ] + }, + { + "time": 1.5667, + "value": 24.87, + "curve": [ 1.62, 14.2, 1.66, -11.74 ] + }, + { + "time": 1.7333, + "value": -11.74, + "curve": [ 1.961, -11.73, 2.172, 1.66 ] + }, + { + "time": 2.2667, + "value": 7.88, + "curve": [ 2.331, 12.13, 2.439, 18.65 ] + }, + { + "time": 2.5333, + "value": 18.72, + "curve": [ 2.788, 18.91, 3.145, -0.3 ] + }, + { "time": 3.1667 } + ] + }, + "front-fist": { + "rotate": [ + { + "time": 1.1, + "value": 6.32, + "curve": [ 1.11, 3.31, 1.153, -5.07 ] + }, + { + "time": 1.2333, + "value": -5.13, + "curve": [ 1.311, -5.19, 1.364, 34.65 ] + }, + { + "time": 1.4667, + "value": 34.53, + "curve": [ 1.574, 34.41, 1.547, -55.78 ] + }, + { + "time": 1.8667, + "value": -54.7, + "curve": [ 1.947, -54.7, 2.03, -53.94 ] + }, + { + "time": 2.1333, + "value": -42.44, + "curve": [ 2.215, -33.42, 2.358, -4.43 ] + }, + { + "time": 2.4, + "value": 0.03, + "curve": [ 2.444, 4.66, 2.536, 8.2 ] + }, + { + "time": 2.6333, + "value": 8.2, + "curve": [ 2.733, 8.19, 2.804, -0.67 ] + }, + { + "time": 2.9, + "value": -0.82, + "curve": [ 3.127, -1.16, 3.093, 0 ] + }, + { "time": 3.1667 } + ] + }, + "gun": { + "rotate": [ + { + "time": 1.2667, + "curve": [ 1.35, 0, 1.549, 7.49 ] + }, + { + "time": 1.6, + "value": 9.5, + "curve": [ 1.663, 12.02, 1.846, 19.58 ] + }, + { + "time": 1.9333, + "value": 19.43, + "curve": [ 1.985, 19.4, 2.057, 2.98 ] + }, + { + "time": 2.2, + "value": 2.95, + "curve": [ 2.304, 3.55, 2.458, 10.8 ] + }, + { + "time": 2.5, + "value": 10.8, + "curve": [ 2.642, 10.8, 2.873, -2.54 ] + }, + { + "time": 2.9333, + "value": -2.55, + "curve": [ 3.09, -2.57, 3.08, 0 ] + }, + { "time": 3.1667 } + ] + }, + "hair2": { + "rotate": [ + { + "time": 1.0667, + "value": 26.19, + "curve": [ 1.158, 26.19, 1.368, 26 ] + }, + { + "time": 1.4333, + "value": 24.43, + "curve": [ 1.534, 22.03, 2, -29.14 ] + }, + { + "time": 2.2, + "value": -29.14, + "curve": [ 2.292, -29.14, 2.475, 6.71 ] + }, + { + "time": 2.5667, + "value": 6.71, + "curve": [ 2.675, 6.71, 2.814, -5.06 ] + }, + { + "time": 2.9, + "value": -5.06, + "curve": [ 2.973, -5.06, 3.123, 0 ] + }, + { "time": 3.1667 } + ] + }, + "hair4": { + "rotate": [ + { + "time": 1.0667, + "value": 5.21, + "curve": [ 1.108, 5.21, 1.192, 26.19 ] + }, + { + "time": 1.2333, + "value": 26.19, + "curve": [ 1.317, 26.19, 1.483, 10.63 ] + }, + { + "time": 1.5667, + "value": 10.63, + "curve": [ 1.627, 10.63, 1.642, 17.91 ] + }, + { + "time": 1.7, + "value": 17.94, + "curve": [ 1.761, 17.97, 1.774, 8.22 ] + }, + { + "time": 1.8, + "value": 3.33, + "curve": [ 1.839, -4.21, 1.95, -22.67 ] + }, + { + "time": 2, + "value": -22.67, + "curve": [ 2.025, -22.67, 2.123, -21.86 ] + }, + { + "time": 2.1667, + "value": -18.71, + "curve": [ 2.228, -14.31, 2.294, -0.3 ] + }, + { + "time": 2.3667, + "value": 6.36, + "curve": [ 2.433, 12.45, 2.494, 19.21 ] + }, + { + "time": 2.6, + "value": 19.21, + "curve": [ 2.729, 19.21, 2.854, 6.75 ] + }, + { + "time": 2.9333, + "value": 4.62, + "curve": [ 3.09, 0.45, 3.062, 0 ] + }, + { "time": 3.1667 } + ] + }, + "hair3": { + "rotate": [ + { + "time": 1.4333, + "curve": [ 1.45, 0, 1.452, 11.29 ] + }, + { + "time": 1.5, + "value": 11.21, + "curve": [ 1.596, 11.06, 1.573, -14.17 ] + }, + { + "time": 1.7333, + "value": -20.4, + "curve": [ 1.851, -24.98, 1.943, -28.45 ] + }, + { + "time": 2.2, + "value": -28.75, + "curve": [ 2.317, -28.75, 2.55, 7.04 ] + }, + { + "time": 2.6667, + "value": 7.04, + "curve": [ 2.792, 7.04, 2.885, -5.19 ] + }, + { + "time": 2.9667, + "value": -5.19, + "curve": [ 3.037, -5.19, 3.096, 0 ] + }, + { "time": 3.1667 } + ] + }, + "hair1": { + "rotate": [ + { + "time": 1.2333, + "curve": [ 1.283, 0, 1.349, 3.99 ] + }, + { + "time": 1.4333, + "value": 6.58, + "curve": [ 1.497, 8.54, 1.683, 9.35 ] + }, + { + "time": 1.7667, + "value": 9.35, + "curve": [ 1.825, 9.35, 1.945, -8.71 ] + }, + { + "time": 2, + "value": -11.15, + "curve": [ 2.058, -13.71, 2.2, -14.97 ] + }, + { + "time": 2.2667, + "value": -14.97, + "curve": [ 2.367, -14.97, 2.567, 18.77 ] + }, + { + "time": 2.6667, + "value": 18.77, + "curve": [ 2.733, 18.77, 2.817, 8.29 ] + }, + { + "time": 2.8667, + "value": 6.51, + "curve": [ 2.988, 2.17, 3.058, 0 ] + }, + { "time": 3.1667 } + ] + }, + "flare1": { + "rotate": [ + { "time": 1.1, "value": 8.2 } + ], + "translate": [ + { "time": 1.1, "x": -19.97, "y": 149.68 }, + { "time": 1.2, "x": 3.85, "y": 152.43 }, + { "time": 1.2333, "x": -15.42, "y": 152.29 } + ], + "scale": [ + { + "time": 1.1, + "x": 0.805, + "y": 0.805, + "curve": [ 1.119, 0.763, 1.16, 1.162, 1.117, 0.805, 1.15, 0.605 ] + }, + { + "time": 1.1667, + "x": 1.279, + "y": 0.605, + "curve": [ 1.177, 1.47, 1.192, 2.151, 1.175, 0.605, 1.192, 0.911 ] + }, + { + "time": 1.2, + "x": 2.151, + "y": 0.911, + "curve": [ 1.208, 2.151, 1.231, 1.668, 1.208, 0.911, 1.227, 0.844 ] + }, + { + "time": 1.2333, + "x": 1.608, + "y": 0.805, + "curve": [ 1.249, 1.205, 1.283, 0.547, 1.254, 0.685, 1.283, 0.416 ] + }, + { "time": 1.3, "x": 0.547, "y": 0.416 } + ], + "shear": [ + { "time": 1.1, "y": 4.63 }, + { "time": 1.2333, "x": -5.74, "y": 4.63 } + ] + }, + "flare2": { + "rotate": [ + { "time": 1.1, "value": 12.29 } + ], + "translate": [ + { "time": 1.1, "x": -8.63, "y": 132.96 }, + { "time": 1.2, "x": 4.35, "y": 132.93 } + ], + "scale": [ + { "time": 1.1, "x": 0.864, "y": 0.864 }, + { "time": 1.1667, "x": 0.945, "y": 0.945 }, + { "time": 1.2, "x": 1.511, "y": 1.081 } + ], + "shear": [ + { "time": 1.1, "y": 24.03 } + ] + }, + "flare3": { + "rotate": [ + { "time": 1.1667, "value": 2.88 } + ], + "translate": [ + { "time": 1.1667, "x": 3.24, "y": 114.81 } + ], + "scale": [ + { "time": 1.1667, "x": 0.668, "y": 0.668 } + ], + "shear": [ + { "time": 1.1667, "y": 38.59 } + ] + }, + "flare4": { + "rotate": [ + { "time": 1.1667, "value": -8.64 } + ], + "translate": [ + { "time": 1.1667, "x": -3.82, "y": 194.06 }, + { "time": 1.2667, "x": -1.82, "y": 198.47, "curve": "stepped" }, + { "time": 1.3, "x": -1.94, "y": 187.81 } + ], + "scale": [ + { "time": 1.1667, "x": 0.545, "y": 0.545 }, + { "time": 1.2667, "x": 0.757, "y": 0.757 } + ], + "shear": [ + { "time": 1.1667, "x": 7.42, "y": -22.04 } + ] + }, + "flare5": { + "translate": [ + { "time": 1.2, "x": -11.17, "y": 176.42 }, + { "time": 1.2333, "x": -8.56, "y": 179.04, "curve": "stepped" }, + { "time": 1.3, "x": -14.57, "y": 168.69 } + ], + "scale": [ + { "time": 1.2333, "x": 1.146 }, + { "time": 1.3, "x": 0.703, "y": 0.61 } + ], + "shear": [ + { "time": 1.2, "x": 6.9 } + ] + }, + "flare6": { + "rotate": [ + { "time": 1.2333, "value": -5.36 }, + { "time": 1.2667, "value": -0.54 } + ], + "translate": [ + { "time": 1.2333, "x": 14.52, "y": 204.67 }, + { "time": 1.2667, "x": 19.16, "y": 212.9, "curve": "stepped" }, + { "time": 1.3, "x": 9.23, "y": 202.85 } + ], + "scale": [ + { "time": 1.2333, "x": 0.777, "y": 0.49 }, + { "time": 1.2667, "x": 0.777, "y": 0.657 }, + { "time": 1.3, "x": 0.475, "y": 0.401 } + ] + }, + "flare7": { + "rotate": [ + { "time": 1.1, "value": 5.98 }, + { "time": 1.1333, "value": 32.82 } + ], + "translate": [ + { "time": 1.1, "x": -6.34, "y": 112.98 }, + { "time": 1.1333, "x": 2.66, "y": 111.6 } + ], + "scale": [ + { "time": 1.1, "x": 0.588, "y": 0.588 } + ], + "shear": [ + { "time": 1.1333, "x": -19.93 } + ] + }, + "flare8": { + "rotate": [ + { "time": 1.2333, "value": -6.85 } + ], + "translate": [ + { "time": 1.1667, "x": 66.67, "y": 125.52, "curve": "stepped" }, + { "time": 1.2, "x": 58.24, "y": 113.53, "curve": "stepped" }, + { "time": 1.2333, "x": 40.15, "y": 114.69 } + ], + "scale": [ + { "time": 1.1667, "x": 1.313, "y": 1.203 }, + { "time": 1.2333, "x": 1.038, "y": 0.95 } + ], + "shear": [ + { "time": 1.2, "y": -13.01 } + ] + }, + "flare9": { + "rotate": [ + { "time": 1.1667, "value": 2.9 } + ], + "translate": [ + { "time": 1.1667, "x": 28.45, "y": 151.35, "curve": "stepped" }, + { "time": 1.2, "x": 48.8, "y": 191.09, "curve": "stepped" }, + { "time": 1.2333, "x": 52, "y": 182.52, "curve": "stepped" }, + { "time": 1.2667, "x": 77.01, "y": 195.96 } + ], + "scale": [ + { "time": 1.1667, "x": 0.871, "y": 1.073 }, + { "time": 1.2, "x": 0.927, "y": 0.944 }, + { "time": 1.2333, "x": 1.165, "y": 1.336 } + ], + "shear": [ + { "time": 1.1667, "x": 7.95, "y": 25.48 } + ] + }, + "flare10": { + "rotate": [ + { "time": 1.1667, "value": 2.18 } + ], + "translate": [ + { "time": 1.1667, "x": 55.64, "y": 137.64, "curve": "stepped" }, + { "time": 1.2, "x": 90.49, "y": 151.07, "curve": "stepped" }, + { "time": 1.2333, "x": 114.06, "y": 153.05, "curve": "stepped" }, + { "time": 1.2667, "x": 90.44, "y": 164.61 } + ], + "scale": [ + { "time": 1.1667, "x": 2.657, "y": 0.891 }, + { "time": 1.2, "x": 3.314, "y": 1.425 }, + { "time": 1.2333, "x": 2.871, "y": 0.924 }, + { "time": 1.2667, "x": 2.317, "y": 0.775 } + ], + "shear": [ + { "time": 1.1667, "x": -1.35 } + ] + }, + "torso2": { + "rotate": [ + { + "time": 1, + "curve": [ 1.117, 0, 1.255, 24.94 ] + }, + { + "time": 1.4, + "value": 24.94, + "curve": [ 1.477, 24.94, 1.59, -17.62 ] + }, + { + "time": 1.6333, + "value": -19.48, + "curve": [ 1.717, -23.1, 1.784, -26.12 ] + }, + { + "time": 1.9333, + "value": -26.14, + "curve": [ 2.067, -26.15, 2.158, 4.3 ] + }, + { + "time": 2.3, + "value": 4.22, + "curve": [ 2.45, 4.13, 2.579, -1.76 ] + }, + { + "time": 2.7333, + "value": -1.8, + "curve": [ 2.816, -1.82, 2.857, -2.94 ] + }, + { + "time": 2.9333, + "value": -2.99, + "curve": [ 3.056, -3.08, 3.09, 0 ] + }, + { "time": 3.1667 } + ] + }, + "torso3": { + "rotate": [ + { + "time": 1.3, + "curve": [ 1.352, 0, 1.408, 6.47 ] + }, + { + "time": 1.4667, + "value": 6.43, + "curve": [ 1.55, 6.39, 1.723, -5.05 ] + }, + { + "time": 1.7333, + "value": -5.53, + "curve": [ 1.782, -7.72, 1.843, -16.94 ] + }, + { + "time": 1.9667, + "value": -16.86, + "curve": [ 2.111, -16.78, 2.259, -3.97 ] + }, + { + "time": 2.4, + "value": -2.43, + "curve": [ 2.525, -1.12, 2.639, -0.5 ] + }, + { + "time": 2.7333, + "value": -0.49, + "curve": [ 2.931, -0.47, 2.999, -2.15 ] + }, + { "time": 3.1667, "value": -2.15 } + ] + }, + "head-control": { + "translate": [ + { + "time": 1.2333, + "curve": [ 1.25, 0, 1.474, 6.89, 1.25, 0, 1.496, 0.98 ] + }, + { + "time": 1.6667, + "x": 11.99, + "y": -6.42, + "curve": [ 1.743, 14.01, 1.86, 14.33, 1.785, -11.55, 1.86, -27.1 ] + }, + { + "time": 1.9667, + "x": 13.91, + "y": -26.88, + "curve": [ 2.074, 13.49, 2.244, 8.13, 2.074, -26.65, 2.215, -21.78 ] + }, + { + "time": 2.3, + "x": 6.07, + "y": -16.64, + "curve": [ 2.416, 1.84, 2.497, -1.41, 2.417, -9.57, 2.526, -1.72 ] + }, + { + "time": 2.5667, + "x": -3.78, + "y": -1.71, + "curve": [ 2.661, -6.98, 2.76, -8.76, 2.692, -1.68, 2.821, -15.75 ] + }, + { + "time": 2.9, + "x": -8.32, + "y": -16.7, + "curve": [ 2.962, -8.12, 3.082, -0.04, 2.958, -17.39, 3.089, 0 ] + }, + { "time": 3.1667 } + ] + }, + "front-shoulder": { + "translate": [ + { + "time": 1.3333, + "curve": [ 1.488, 0, 1.717, 0.21, 1.488, 0, 1.688, -30.29 ] + }, + { + "time": 1.9, + "x": 0.83, + "y": -30.29, + "curve": [ 2.078, 1.43, 2.274, 2.88, 2.071, -30.29, 2.289, 4.48 ] + }, + { + "time": 2.4333, + "x": 2.89, + "y": 4.59, + "curve": [ 2.604, 2.89, 2.677, -0.68, 2.57, 4.7, 2.694, -2.43 ] + }, + { + "time": 2.7667, + "x": -0.67, + "y": -2.47, + "curve": [ 2.866, -0.67, 2.986, -0.07, 2.882, -2.47, 3.036, -0.06 ] + }, + { "time": 3.1667 } + ] + } + }, + "ik": { + "rear-leg-ik": [ + { "time": 3.1667, "softness": 10, "bendPositive": false } + ] + } + }, + "run": { + "slots": { + "mouth": { + "attachment": [ + { "name": "mouth-grind" } + ] + } + }, + "bones": { + "front-thigh": { + "translate": [ + { + "x": -5.14, + "y": 11.13, + "curve": [ 0.033, -7.77, 0.112, -9.03, 0.034, 11.13, 0.108, 9.74 ] + }, + { + "time": 0.1667, + "x": -9.03, + "y": 7.99, + "curve": [ 0.23, -9.05, 0.314, -1.34, 0.236, 5.93, 0.28, 3.22 ] + }, + { + "time": 0.3333, + "x": 0.41, + "y": 3.19, + "curve": [ 0.352, 2.09, 0.449, 11.16, 0.384, 3.16, 0.449, 4.98 ] + }, + { + "time": 0.5, + "x": 11.17, + "y": 6.76, + "curve": [ 0.571, 10.79, 0.621, -1.83, 0.542, 8.21, 0.625, 11.13 ] + }, + { "time": 0.6667, "x": -5.14, "y": 11.13 } + ] + }, + "torso": { + "rotate": [ + { + "value": -37.66, + "curve": [ 0.034, -37.14, 0.107, -36.21 ] + }, + { + "time": 0.1333, + "value": -36.21, + "curve": [ 0.158, -36.21, 0.209, -38.8 ] + }, + { + "time": 0.2333, + "value": -38.79, + "curve": [ 0.259, -38.78, 0.313, -38.03 ] + }, + { + "time": 0.3333, + "value": -37.66, + "curve": [ 0.357, -37.21, 0.4, -36.21 ] + }, + { + "time": 0.4333, + "value": -36.21, + "curve": [ 0.458, -36.21, 0.539, -38.8 ] + }, + { + "time": 0.5667, + "value": -38.8, + "curve": [ 0.592, -38.8, 0.645, -38 ] + }, + { "time": 0.6667, "value": -37.66 } + ] + }, + "rear-thigh": { + "translate": [ + { + "x": -16.41, + "y": 1.55, + "curve": [ 0.013, -15.67, 0.183, -8.55, 0.03, 2.39, 0.183, 6.17 ] + }, + { + "time": 0.2333, + "x": -8.55, + "y": 6.17, + "curve": [ 0.308, -8.55, 0.492, -19.75, 0.308, 6.17, 0.492, 0.61 ] + }, + { + "time": 0.5667, + "x": -19.75, + "y": 0.61, + "curve": [ 0.592, -19.75, 0.641, -18.06, 0.592, 0.61, 0.632, 0.78 ] + }, + { "time": 0.6667, "x": -16.41, "y": 1.55 } + ] + }, + "front-upper-arm": { + "rotate": [ + { + "value": -39.03, + "curve": [ 0.051, -0.1, 0.145, 88.36 ] + }, + { + "time": 0.2333, + "value": 88.36, + "curve": [ 0.28, 88.76, 0.324, 59.52 ] + }, + { + "time": 0.3333, + "value": 51.13, + "curve": [ 0.358, 30.2, 0.445, -74.91 ] + }, + { + "time": 0.5667, + "value": -75.82, + "curve": [ 0.599, -76.06, 0.642, -55.72 ] + }, + { "time": 0.6667, "value": -39.03 } + ] + }, + "front-bracer": { + "rotate": [ + { + "value": 20.54, + "curve": [ 0.052, 11.42, 0.089, 0.13 ] + }, + { + "time": 0.1333, + "value": 0.15, + "curve": [ 0.186, 0.17, 0.221, 26.29 ] + }, + { + "time": 0.2333, + "value": 32.37, + "curve": [ 0.247, 39.19, 0.286, 61.45 ] + }, + { + "time": 0.3333, + "value": 61.58, + "curve": [ 0.371, 61.69, 0.42, 55.79 ] + }, + { "time": 0.4667, "value": 49.68 }, + { "time": 0.6667, "value": 20.54 } + ] + }, + "front-fist": { + "rotate": [ + { + "value": -36.16, + "curve": [ 0.014, -38.8, 0.036, -43.27 ] + }, + { + "time": 0.0667, + "value": -43.37, + "curve": [ 0.102, -43.49, 0.182, -28.46 ] + }, + { + "time": 0.2, + "value": -23.04, + "curve": [ 0.23, -13.87, 0.264, 3.86 ] + }, + { + "time": 0.3333, + "value": 3.7, + "curve": [ 0.38, 3.64, 0.535, -16.22 ] + }, + { "time": 0.5667, "value": -21.29 }, + { "time": 0.6667, "value": -36.16 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { + "value": 40.5, + "curve": [ 0.028, 23.74, 0.128, -79.86 ] + }, + { + "time": 0.2333, + "value": -79.87, + "curve": [ 0.38, -79.88, 0.403, 63.25 ] + }, + { + "time": 0.5667, + "value": 64.13, + "curve": [ 0.607, 64.35, 0.644, 53.1 ] + }, + { "time": 0.6667, "value": 40.5 } + ], + "translate": [ + { + "x": -3.79, + "y": -0.77, + "curve": [ 0.044, -4.58, 0.169, -5.48, 0.044, 0.93, 0.169, 2.85 ] + }, + { + "time": 0.2333, + "x": -5.48, + "y": 2.85, + "curve": [ 0.346, -5.48, 0.475, -2.68, 0.346, 2.85, 0.475, -3.13 ] + }, + { + "time": 0.5667, + "x": -2.68, + "y": -3.13, + "curve": [ 0.611, -2.68, 0.642, -3.34, 0.611, -3.13, 0.642, -1.73 ] + }, + { "time": 0.6667, "x": -3.79, "y": -0.77 } + ] + }, + "rear-bracer": { + "rotate": [ + { "value": 28.28 }, + { + "time": 0.2333, + "value": -11.12, + "curve": [ 0.252, -14.12, 0.297, -19.37 ] + }, + { + "time": 0.3333, + "value": -19.38, + "curve": [ 0.435, -19.41, 0.522, 38.96 ] + }, + { + "time": 0.5667, + "value": 38.87, + "curve": [ 0.619, 38.76, 0.644, 32.01 ] + }, + { "time": 0.6667, "value": 28.28 } + ] + }, + "neck": { + "rotate": [ + { + "value": 11.88, + "curve": [ 0.024, 11.4, 0.075, 9.74 ] + }, + { + "time": 0.1, + "value": 9.74, + "curve": [ 0.125, 9.74, 0.208, 13.36 ] + }, + { + "time": 0.2333, + "value": 13.36, + "curve": [ 0.258, 13.36, 0.321, 12.2 ] + }, + { + "time": 0.3333, + "value": 11.88, + "curve": [ 0.365, 11.06, 0.408, 9.72 ] + }, + { + "time": 0.4333, + "value": 9.72, + "curve": [ 0.458, 9.72, 0.542, 13.36 ] + }, + { + "time": 0.5667, + "value": 13.36, + "curve": [ 0.592, 13.36, 0.636, 12.48 ] + }, + { "time": 0.6667, "value": 11.88 } + ] + }, + "head": { + "rotate": [ + { + "value": 13.14, + "curve": [ 0.02, 11.99, 0.039, 8.94 ] + }, + { + "time": 0.0667, + "value": 8.93, + "curve": [ 0.122, 8.9, 0.232, 15.8 ] + }, + { + "time": 0.2667, + "value": 15.81, + "curve": [ 0.325, 15.82, 0.357, 8.95 ] + }, + { + "time": 0.4, + "value": 8.93, + "curve": [ 0.444, 8.91, 0.568, 15.8 ] + }, + { + "time": 0.6, + "value": 15.77, + "curve": [ 0.632, 15.74, 0.649, 14.05 ] + }, + { "time": 0.6667, "value": 13.14 } + ], + "scale": [ + { + "curve": [ 0.014, 0.996, 0.068, 0.991, 0.027, 1.005, 0.083, 1.012 ] + }, + { + "time": 0.1, + "x": 0.991, + "y": 1.012, + "curve": [ 0.128, 0.991, 0.205, 1.018, 0.128, 1.012, 0.197, 0.988 ] + }, + { + "time": 0.2333, + "x": 1.018, + "y": 0.988, + "curve": [ 0.272, 1.018, 0.305, 1.008, 0.262, 0.988, 0.311, 0.995 ] + }, + { + "time": 0.3333, + "curve": [ 0.351, 0.995, 0.417, 0.987, 0.359, 1.006, 0.417, 1.013 ] + }, + { + "time": 0.4333, + "x": 0.987, + "y": 1.013, + "curve": [ 0.467, 0.987, 0.533, 1.02, 0.467, 1.013, 0.533, 0.989 ] + }, + { + "time": 0.5667, + "x": 1.02, + "y": 0.989, + "curve": [ 0.592, 1.02, 0.652, 1.004, 0.592, 0.989, 0.644, 0.996 ] + }, + { "time": 0.6667 } + ] + }, + "gun": { + "rotate": [ + { + "value": 12.36, + "curve": [ 0.022, 16.28, 0.087, 20.25 ] + }, + { + "time": 0.1333, + "value": 20.19, + "curve": [ 0.168, 20.32, 0.254, -8.82 ] + }, + { + "time": 0.2667, + "value": -11.88, + "curve": [ 0.291, -17.91, 0.344, -24.11 ] + }, + { + "time": 0.4, + "value": -23.88, + "curve": [ 0.448, -23.69, 0.533, -15.47 ] + }, + { "time": 0.5667, "value": -8.69 }, + { "time": 0.6667, "value": 12.36 } + ] + }, + "hip": { + "rotate": [ + { "value": -8.24 } + ], + "translate": [ + { + "x": -3.6, + "y": -34.1, + "curve": [ 0.042, -3.84, 0.118, 7.62, 0.042, -33.74, 0.112, 20.55 ] + }, + { + "time": 0.1667, + "x": 7.61, + "y": 20.36, + "curve": [ 0.194, 7.6, 0.21, 5.06, 0.204, 20.65, 0.217, -8.69 ] + }, + { + "time": 0.2333, + "x": 1.68, + "y": -18.48, + "curve": [ 0.279, -4.99, 0.297, -5.64, 0.254, -31.08, 0.292, -34.55 ] + }, + { + "time": 0.3333, + "x": -5.76, + "y": -35, + "curve": [ 0.379, -5.9, 0.451, 6.8, 0.384, -35.56, 0.428, 17.6 ] + }, + { + "time": 0.5, + "x": 6.61, + "y": 17.01, + "curve": [ 0.536, 6.47, 0.545, 3.56, 0.533, 16.75, 0.548, -8.71 ] + }, + { + "time": 0.5667, + "x": 0.35, + "y": -18.81, + "curve": [ 0.597, -4.07, 0.642, -3.45, 0.584, -28.58, 0.642, -34.32 ] + }, + { "time": 0.6667, "x": -3.6, "y": -34.1 } + ] + }, + "front-foot-target": { + "rotate": [ + { + "value": -62.54, + "curve": [ 0.015, -74.19, 0.056, -103.19 ] + }, + { + "time": 0.0667, + "value": -111.08, + "curve": [ 0.092, -129.44, 0.189, -146.55 ] + }, + { + "time": 0.2333, + "value": -146.32, + "curve": [ 0.285, -146.06, 0.32, -125.1 ] + }, + { "time": 0.3333, "value": -117.24 }, + { + "time": 0.5, + "value": -35.07, + "curve": [ 0.522, -28.64, 0.546, -24.84 ] + }, + { + "time": 0.5667, + "value": -24.9, + "curve": [ 0.595, -25, 0.623, -40.82 ] + }, + { "time": 0.6667, "value": -62.54 } + ], + "translate": [ + { "x": 16.34, "y": 0.18 }, + { + "time": 0.0667, + "x": -101.43, + "y": 8.04, + "curve": [ 0.085, -131.35, 0.129, -207.69, 0.08, 14.9, 0.124, 113.28 ] + }, + { + "time": 0.1667, + "x": -207.92, + "y": 145.81, + "curve": [ 0.196, -208.13, 0.21, -202.91, 0.186, 160.26, 0.206, 163.48 ] + }, + { + "time": 0.2333, + "x": -189.94, + "y": 163.85, + "curve": [ 0.27, -169.94, 0.31, -126.19, 0.269, 164.35, 0.316, 85.97 ] + }, + { + "time": 0.3333, + "x": -90.56, + "y": 78.57, + "curve": [ 0.355, -57.99, 0.376, -29.14, 0.35, 71.55, 0.376, 66.4 ] + }, + { + "time": 0.4, + "x": 2.87, + "y": 66.38, + "curve": [ 0.412, 19.24, 0.469, 90.73, 0.429, 66.37, 0.469, 70.66 ] + }, + { + "time": 0.5, + "x": 117.18, + "y": 70.46, + "curve": [ 0.522, 136.24, 0.542, 151.33, 0.539, 70.2, 0.555, 38.25 ] + }, + { + "time": 0.5667, + "x": 151.49, + "y": 25.29, + "curve": [ 0.578, 146.76, 0.586, 133.13, 0.572, 19.7, 0.582, 12.23 ] + }, + { "time": 0.6, "x": 115.02, "y": 0.1 }, + { "time": 0.6667, "x": 16.34, "y": 0.18 } + ] + }, + "front-leg-target": { + "translate": [ + { "x": -13.95, "y": -30.34 } + ] + }, + "rear-foot-target": { + "rotate": [ + { "value": 18.55 }, + { + "time": 0.2333, + "value": 167.84, + "curve": [ 0.246, 153.66, 0.256, 129.74 ] + }, + { + "time": 0.2667, + "value": 124.32, + "curve": [ 0.296, 124.43, 0.313, 129.93 ] + }, + { + "time": 0.3667, + "value": 129.87, + "curve": [ 0.421, 128.32, 0.519, 0.98 ] + }, + { + "time": 0.5667, + "curve": [ 0.6, 0.27, 0.642, 4.73 ] + }, + { "time": 0.6667, "value": 18.55 } + ], + "translate": [ + { + "x": -176.39, + "y": 134.12, + "curve": [ 0.018, -142.26, 0.054, -94.41, 0.01, 120.96, 0.044, 84.08 ] + }, + { + "time": 0.0667, + "x": -73.56, + "y": 76.68, + "curve": [ 0.086, -42.82, 0.194, 101.2, 0.098, 66.73, 0.198, 60.88 ] + }, + { "time": 0.2333, "x": 98.32, "y": 32.17 }, + { "time": 0.2667, "x": 49.13, "y": -0.63 }, + { + "time": 0.4, + "x": -147.9, + "y": 0.32, + "curve": [ 0.414, -168.78, 0.478, -284.76, 0.43, 30.09, 0.478, 129.14 ] + }, + { + "time": 0.5, + "x": -283.37, + "y": 167.12, + "curve": [ 0.526, -285.66, 0.548, -280.54, 0.516, 194.84, 0.55, 216.53 ] + }, + { + "time": 0.5667, + "x": -266.98, + "y": 216.12, + "curve": [ 0.581, -256.27, 0.643, -206.54, 0.61, 214.82, 0.65, 145.33 ] + }, + { "time": 0.6667, "x": -176.39, "y": 134.12 } + ] + }, + "rear-leg-target": { + "translate": [ + { "x": 85, "y": -33.59 } + ] + }, + "back-foot-tip": { + "rotate": [ + { + "value": -147.04, + "curve": [ 0.033, -113.4, 0.161, 44.34 ] + }, + { + "time": 0.2333, + "value": 43.48, + "curve": [ 0.24, 43.41, 0.282, 35.72 ] + }, + { + "time": 0.3, + "value": 0.29, + "curve": [ 0.347, 0.28, 0.396, 4.27 ] + }, + { + "time": 0.4, + "curve": [ 0.424, -23.8, 0.525, -181.39 ] + }, + { + "time": 0.5667, + "value": -181.39, + "curve": [ 0.592, -181.39, 0.642, -169.09 ] + }, + { "time": 0.6667, "value": -147.04 } + ] + }, + "front-foot-tip": { + "rotate": [ + { + "value": -0.25, + "curve": [ 0.008, -0.25, 0.056, 1.73 ] + }, + { + "time": 0.0667, + "value": -7.68, + "curve": [ 0.075, -43.13, 0.15, -130.44 ] + }, + { + "time": 0.2, + "value": -130.08, + "curve": [ 0.239, -129.79, 0.272, -126.8 ] + }, + { + "time": 0.3, + "value": -116.24, + "curve": [ 0.333, -103.91, 0.348, -86.1 ] + }, + { + "time": 0.3667, + "value": -71.08, + "curve": [ 0.386, -55.25, 0.415, -32.44 ] + }, + { + "time": 0.4333, + "value": -21.63, + "curve": [ 0.47, -0.01, 0.542, 33.42 ] + }, + { + "time": 0.5667, + "value": 33.2, + "curve": [ 0.622, 32.7, 0.569, 0.64 ] + }, + { "time": 0.6667, "value": -0.25 } + ] + }, + "hair1": { + "rotate": [ + { + "value": -6.81, + "curve": [ 0.087, -6.81, 0.143, -5.75 ] + }, + { + "time": 0.1667, + "value": -4.3, + "curve": [ 0.183, -3.28, 0.209, 2.79 ] + }, + { + "time": 0.2333, + "value": 2.78, + "curve": [ 0.262, 2.77, 0.305, -6.63 ] + }, + { + "time": 0.3333, + "value": -6.64, + "curve": [ 0.419, -6.68, 0.49, -4.84 ] + }, + { + "time": 0.5, + "value": -4.38, + "curve": [ 0.518, -3.56, 0.574, 2.32 ] + }, + { + "time": 0.6, + "value": 2.33, + "curve": [ 0.643, 2.35, 0.633, -6.81 ] + }, + { "time": 0.6667, "value": -6.81 } + ] + }, + "hair2": { + "rotate": [ + { + "value": -6.81, + "curve": [ 0.014, -3.17, 0.109, 43.93 ] + }, + { + "time": 0.1333, + "value": 43.95, + "curve": [ 0.177, 43.97, 0.192, -13.76 ] + }, + { + "time": 0.2667, + "value": -13.83, + "curve": [ 0.302, -13.72, 0.322, -8.86 ] + }, + { + "time": 0.3333, + "value": -6.6, + "curve": [ 0.349, -3.5, 0.436, 41.1 ] + }, + { + "time": 0.4667, + "value": 41.05, + "curve": [ 0.51, 40.99, 0.549, -14.06 ] + }, + { + "time": 0.6, + "value": -14.18, + "curve": [ 0.63, -14.26, 0.656, -9.04 ] + }, + { "time": 0.6667, "value": -6.81 } + ] + }, + "hair3": { + "rotate": [ + { + "value": -6.81, + "curve": [ 0.079, -6.83, 0.108, 0.3 ] + }, + { + "time": 0.1333, + "value": 1.96, + "curve": [ 0.177, 4.89, 0.208, 6.28 ] + }, + { + "time": 0.2333, + "value": 6.29, + "curve": [ 0.313, 6.31, 0.383, 3.49 ] + }, + { + "time": 0.4, + "value": 2.58, + "curve": [ 0.442, 0.28, 0.523, -6.81 ] + }, + { "time": 0.6, "value": -6.81 } + ] + }, + "hair4": { + "rotate": [ + { + "value": -6.81, + "curve": [ 0.011, -4.06, 0.108, 24.92 ] + }, + { + "time": 0.1333, + "value": 24.92, + "curve": [ 0.158, 24.92, 0.208, -10.62 ] + }, + { + "time": 0.2333, + "value": -10.62, + "curve": [ 0.254, -10.62, 0.312, -9.73 ] + }, + { + "time": 0.3333, + "value": -6.4, + "curve": [ 0.356, -2.95, 0.438, 24.93 ] + }, + { + "time": 0.4667, + "value": 24.93, + "curve": [ 0.492, 24.93, 0.575, -9.78 ] + }, + { + "time": 0.6, + "value": -9.78, + "curve": [ 0.617, -9.78, 0.655, -8.63 ] + }, + { "time": 0.6667, "value": -6.81 } + ] + }, + "torso2": { + "rotate": [ + { + "value": 3.5, + "curve": [ 0.07, 3.51, 0.075, 8.69 ] + }, + { + "time": 0.1, + "value": 8.69, + "curve": [ 0.139, 8.69, 0.214, 6.9 ] + }, + { + "time": 0.2333, + "value": 6.33, + "curve": [ 0.266, 5.34, 0.285, 3.48 ] + }, + { + "time": 0.3333, + "value": 3.48, + "curve": [ 0.398, 3.48, 0.408, 8.68 ] + }, + { + "time": 0.4333, + "value": 8.68, + "curve": [ 0.458, 8.68, 0.551, 6.8 ] + }, + { + "time": 0.5667, + "value": 6.26, + "curve": [ 0.598, 5.17, 0.642, 3.49 ] + }, + { "time": 0.6667, "value": 3.5 } + ] + }, + "torso3": { + "rotate": [ + { + "value": 4.52, + "curve": [ 0.067, 4.54, 0.075, -7.27 ] + }, + { + "time": 0.1, + "value": -7.27, + "curve": [ 0.125, -7.27, 0.227, 0.84 ] + }, + { + "time": 0.2333, + "value": 1.24, + "curve": [ 0.254, 2.5, 0.301, 4.51 ] + }, + { + "time": 0.3333, + "value": 4.52, + "curve": [ 0.386, 4.54, 0.408, -7.35 ] + }, + { + "time": 0.4333, + "value": -7.35, + "curve": [ 0.458, -7.35, 0.549, -0.14 ] + }, + { + "time": 0.5667, + "value": 0.95, + "curve": [ 0.586, 2.18, 0.632, 4.54 ] + }, + { "time": 0.6667, "value": 4.52 } + ] + }, + "aim-constraint-target": { + "rotate": [ + { "value": 30.57 } + ] + }, + "rear-foot": { + "rotate": [ + { "value": -6.5 } + ] + }, + "front-foot": { + "rotate": [ + { "value": 4.5 } + ] + }, + "head-control": { + "translate": [ + { + "y": -9.94, + "curve": [ 0.058, 0, 0.175, -15.32, 0.044, -4.19, 0.175, 5 ] + }, + { + "time": 0.2333, + "x": -15.32, + "y": 5, + "curve": [ 0.317, -15.32, 0.429, -9.74, 0.317, 5, 0.382, -31.71 ] + }, + { + "time": 0.4667, + "x": -7.81, + "y": -31.59, + "curve": [ 0.507, -5.76, 0.617, 0, 0.549, -31.47, 0.628, -13.33 ] + }, + { "time": 0.6667, "y": -9.94 } + ] + }, + "front-shoulder": { + "translate": [ + { + "x": -0.74, + "y": 11.22, + "curve": [ 0.061, -0.74, 0.144, 1.17, 0.061, 11.22, 0.143, -17.93 ] + }, + { + "time": 0.2333, + "x": 1.19, + "y": -17.9, + "curve": [ 0.54, 1.25, 0.558, -0.74, 0.545, -17.8, 0.558, 11.22 ] + }, + { "time": 0.6667, "x": -0.74, "y": 11.22 } + ] + }, + "back-shoulder": { + "translate": [ + { + "curve": [ 0.083, 0, 0.25, 0, 0.083, 0, 0.25, 8.93 ] + }, + { + "time": 0.3333, + "y": 8.93, + "curve": [ 0.417, 0, 0.583, 0, 0.417, 8.93, 0.583, 0 ] + }, + { "time": 0.6667 } + ] + } + }, + "ik": { + "front-leg-ik": [ + { "softness": 10, "bendPositive": false }, + { "time": 0.5667, "softness": 14.8, "bendPositive": false }, + { "time": 0.6, "softness": 48.2, "bendPositive": false }, + { "time": 0.6667, "softness": 10, "bendPositive": false } + ], + "rear-leg-ik": [ + { "bendPositive": false }, + { "time": 0.1667, "softness": 22.5, "bendPositive": false }, + { "time": 0.3, "softness": 61.4, "bendPositive": false }, + { "time": 0.6667, "bendPositive": false } + ] + }, + "events": [ + { "time": 0.2333, "name": "footstep" }, + { "time": 0.5667, "name": "footstep" } + ] + }, + "run-to-idle": { + "slots": { + "front-fist": { + "attachment": [ + { "name": "front-fist-open" } + ] + } + }, + "bones": { + "front-foot-target": { + "translate": [ + { + "x": -16.5, + "y": 3.41, + "curve": [ 0.033, -16.5, 0.1, -69.06, 0.033, 3.41, 0.1, 0 ] + }, + { "time": 0.1333, "x": -69.06 } + ] + }, + "hip": { + "translate": [ + { + "x": -28.78, + "y": -72.96, + "curve": [ 0.036, -28.63, 0.2, -10.85, 0.135, -62.35, 0.2, -23.15 ] + }, + { "time": 0.2667, "x": -11.97, "y": -23.15 } + ] + }, + "rear-foot-target": { + "translate": [ + { + "x": 33.15, + "y": 31.61, + "curve": [ 0.017, 33.15, 0.05, 24.41, 0.017, 31.61, 0.041, 20.73 ] + }, + { + "time": 0.0667, + "x": 24.41, + "y": 0.19, + "curve": [ 0.117, 24.41, 0.217, 48.87, 0.117, 0.19, 0.217, 0 ] + }, + { "time": 0.2667, "x": 48.87 } + ] + }, + "front-upper-arm": { + "rotate": [ + { + "value": -80.61, + "curve": [ 0.067, -80.61, 0.2, -60.87 ] + }, + { "time": 0.2667, "value": -60.87 } + ] + }, + "front-bracer": { + "rotate": [ + { + "value": 8.79, + "curve": [ 0.041, 8.79, 0.115, 6.3 ] + }, + { + "time": 0.1667, + "value": 6.41, + "curve": [ 0.201, 6.48, 0.241, 42.46 ] + }, + { "time": 0.2667, "value": 42.46 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { + "value": 55.3, + "curve": [ 0.067, 55.3, 0.2, 39.2 ] + }, + { "time": 0.2667, "value": 39.2 } + ] + }, + "head": { + "rotate": [ + { + "curve": [ 0.05, 0, 0.083, 2.67 ] + }, + { + "time": 0.1333, + "value": 2.67, + "curve": [ 0.15, 2.67, 0.25, -6.75 ] + }, + { "time": 0.2667, "value": -6.75 } + ] + }, + "front-fist": { + "rotate": [ + { + "value": 38.26, + "curve": [ 0.041, 38.26, 0.127, -2.19 ] + }, + { + "time": 0.1667, + "value": -3, + "curve": [ 0.209, -3.84, 0.241, 0 ] + }, + { "time": 0.2667 } + ], + "scale": [ + { + "x": 0.844, + "curve": [ 0.067, 0.844, 0.2, 1, 0.067, 1, 0.2, 1 ] + }, + { "time": 0.2667 } + ] + }, + "rear-bracer": { + "rotate": [ + { + "value": 57.24, + "curve": [ 0.067, 57.24, 0.2, 0 ] + }, + { "time": 0.2667 } + ] + }, + "gun": { + "rotate": [ + { + "value": 2.28, + "curve": [ 0.041, 2.28, 0.105, 15.34 ] + }, + { + "time": 0.1667, + "value": 15.32, + "curve": [ 0.205, 15.31, 0.241, 0 ] + }, + { "time": 0.2667 } + ] + }, + "torso": { + "rotate": [ + { + "value": -12.98, + "curve": [ 0.033, -12.98, 0.103, -14.81 ] + }, + { + "time": 0.1333, + "value": -16.63, + "curve": [ 0.168, -18.69, 0.233, -22.88 ] + }, + { "time": 0.2667, "value": -22.88 } + ], + "scale": [ + { + "x": 0.963, + "y": 1.074, + "curve": [ 0.067, 0.963, 0.132, 1, 0.067, 1.074, 0.132, 1 ] + }, + { "time": 0.2667 } + ] + }, + "neck": { + "rotate": [ + {}, + { "time": 0.2667, "value": 3.78 } + ] + }, + "hair3": { + "rotate": [ + { + "curve": [ 0.033, 0, 0.1, 0.88 ] + }, + { + "time": 0.1333, + "value": 0.88, + "curve": [ 0.167, 0.88, 0.233, 0 ] + }, + { "time": 0.2667 } + ] + }, + "hair4": { + "rotate": [ + { + "curve": [ 0.033, 0, 0.1, 15.97 ] + }, + { + "time": 0.1333, + "value": 15.97, + "curve": [ 0.167, 15.97, 0.233, 0 ] + }, + { "time": 0.2667 } + ] + }, + "hair1": { + "rotate": [ + { + "curve": [ 0.033, 0, 0.1, 10.76 ] + }, + { + "time": 0.1333, + "value": 10.76, + "curve": [ 0.167, 10.76, 0.233, 0 ] + }, + { "time": 0.2667 } + ] + }, + "hair2": { + "rotate": [ + { + "curve": [ 0.014, -2.28, 0.042, -7.84 ] + }, + { + "time": 0.0667, + "value": -7.82, + "curve": [ 0.108, -7.79, 0.166, 6.57 ] + }, + { + "time": 0.2, + "value": 6.67, + "curve": [ 0.222, 6.73, 0.255, 1.98 ] + }, + { "time": 0.2667 } + ] + }, + "torso2": { + "rotate": [ + { + "curve": [ 0.041, 0, 0.107, 3.03 ] + }, + { + "time": 0.1667, + "value": 3.03, + "curve": [ 0.205, 3.03, 0.241, 0 ] + }, + { "time": 0.2667 } + ] + }, + "torso3": { + "rotate": [ + { + "curve": [ 0.049, 0, 0.166, 0.66 ] + }, + { + "time": 0.2, + "value": 0.66, + "curve": [ 0.232, 0.65, 0.249, -2.15 ] + }, + { "time": 0.2667, "value": -2.15 } + ] + }, + "head-control": { + "translate": [ + { "x": -10.12, "y": 8.71 }, + { "time": 0.2667 } + ] + }, + "front-shoulder": { + "translate": [ + { "x": 4.91, "y": 11.54 }, + { "time": 0.2667 } + ] + } + } + }, + "shoot": { + "slots": { + "muzzle": { + "rgba": [ + { "time": 0.1333, "color": "ffffffff" }, + { "time": 0.2, "color": "ffffff62" } + ], + "attachment": [ + { "time": 0.0333, "name": "muzzle01" }, + { "time": 0.0667, "name": "muzzle02" }, + { "time": 0.1, "name": "muzzle03" }, + { "time": 0.1333, "name": "muzzle04" }, + { "time": 0.1667, "name": "muzzle05" }, + { "time": 0.2 } + ] + }, + "muzzle-glow": { + "rgba": [ + { "color": "ff0c0c00" }, + { + "time": 0.0333, + "color": "ffc9adff", + "curve": [ 0.255, 1, 0.273, 1, 0.255, 0.76, 0.273, 0.4, 0.255, 0.65, 0.273, 0.22, 0.255, 1, 0.273, 1 ] + }, + { "time": 0.3, "color": "ff400cff" }, + { "time": 0.6333, "color": "ff0c0c00" } + ], + "attachment": [ + { "name": "muzzle-glow" } + ] + }, + "muzzle-ring": { + "rgba": [ + { + "time": 0.0333, + "color": "d8baffff", + "curve": [ 0.202, 0.85, 0.214, 0.84, 0.202, 0.73, 0.214, 0.73, 0.202, 1, 0.214, 1, 0.202, 1, 0.214, 0.21 ] + }, + { "time": 0.2333, "color": "d7baff00" } + ], + "attachment": [ + { "time": 0.0333, "name": "muzzle-ring" }, + { "time": 0.2333 } + ] + }, + "muzzle-ring2": { + "rgba": [ + { + "time": 0.0333, + "color": "d8baffff", + "curve": [ 0.174, 0.85, 0.184, 0.84, 0.174, 0.73, 0.184, 0.73, 0.174, 1, 0.184, 1, 0.174, 1, 0.184, 0.21 ] + }, + { "time": 0.2, "color": "d7baff00" } + ], + "attachment": [ + { "time": 0.0333, "name": "muzzle-ring" }, + { "time": 0.2 } + ] + }, + "muzzle-ring3": { + "rgba": [ + { + "time": 0.0333, + "color": "d8baffff", + "curve": [ 0.174, 0.85, 0.184, 0.84, 0.174, 0.73, 0.184, 0.73, 0.174, 1, 0.184, 1, 0.174, 1, 0.184, 0.21 ] + }, + { "time": 0.2, "color": "d7baff00" } + ], + "attachment": [ + { "time": 0.0333, "name": "muzzle-ring" }, + { "time": 0.2 } + ] + }, + "muzzle-ring4": { + "rgba": [ + { + "time": 0.0333, + "color": "d8baffff", + "curve": [ 0.174, 0.85, 0.184, 0.84, 0.174, 0.73, 0.184, 0.73, 0.174, 1, 0.184, 1, 0.174, 1, 0.184, 0.21 ] + }, + { "time": 0.2, "color": "d7baff00" } + ], + "attachment": [ + { "time": 0.0333, "name": "muzzle-ring" }, + { "time": 0.2 } + ] + } + }, + "bones": { + "gun": { + "rotate": [ + { + "time": 0.0667, + "curve": [ 0.094, 25.89, 0.112, 45.27 ] + }, + { + "time": 0.1333, + "value": 45.35, + "curve": [ 0.192, 45.28, 0.18, -0.09 ] + }, + { "time": 0.6333 } + ] + }, + "muzzle": { + "translate": [ + { "x": -11.02, "y": 25.16 } + ] + }, + "rear-upper-arm": { + "translate": [ + { + "time": 0.0333, + "curve": [ 0.045, 0.91, 0.083, 3.46, 0.044, 0.86, 0.083, 3.32 ] + }, + { + "time": 0.1, + "x": 3.46, + "y": 3.32, + "curve": [ 0.133, 3.46, 0.176, -0.1, 0.133, 3.32, 0.169, 0 ] + }, + { "time": 0.2333 } + ] + }, + "rear-bracer": { + "translate": [ + { + "time": 0.0333, + "curve": [ 0.075, -3.78, 0.083, -4.36, 0.08, -2.7, 0.083, -2.88 ] + }, + { + "time": 0.1, + "x": -4.36, + "y": -2.88, + "curve": [ 0.133, -4.36, 0.168, 0.18, 0.133, -2.88, 0.167, 0 ] + }, + { "time": 0.2333 } + ] + }, + "gun-tip": { + "translate": [ + {}, + { "time": 0.3, "x": 3.15, "y": 0.39 } + ], + "scale": [ + { "x": 0.366, "y": 0.366 }, + { "time": 0.0333, "x": 1.453, "y": 1.453 }, + { "time": 0.3, "x": 0.366, "y": 0.366 } + ] + }, + "muzzle-ring": { + "translate": [ + { "time": 0.0333 }, + { "time": 0.2333, "x": 64.47 } + ], + "scale": [ + { "time": 0.0333 }, + { "time": 0.2333, "x": 5.951, "y": 5.951 } + ] + }, + "muzzle-ring2": { + "translate": [ + { "time": 0.0333 }, + { "time": 0.2, "x": 172.57 } + ], + "scale": [ + { "time": 0.0333 }, + { "time": 0.2, "x": 4, "y": 4 } + ] + }, + "muzzle-ring3": { + "translate": [ + { "time": 0.0333 }, + { "time": 0.2, "x": 277.17 } + ], + "scale": [ + { "time": 0.0333 }, + { "time": 0.2, "x": 2, "y": 2 } + ] + }, + "muzzle-ring4": { + "translate": [ + { "time": 0.0333 }, + { "time": 0.2, "x": 392.06 } + ] + } + } + }, + "walk": { + "bones": { + "rear-foot-target": { + "rotate": [ + { + "value": -32.82, + "curve": [ 0.035, -42.69, 0.057, -70.49 ] + }, + { + "time": 0.1, + "value": -70.59, + "curve": [ 0.236, -70.78, 0.335, -9.87 ] + }, + { + "time": 0.3667, + "value": -1.56, + "curve": [ 0.393, 5.5, 0.477, 13.96 ] + }, + { + "time": 0.5, + "value": 13.96, + "curve": [ 0.519, 13.96, 0.508, 0.13 ] + }, + { "time": 0.5667, "value": -0.28 }, + { + "time": 0.7333, + "value": -0.28, + "curve": [ 0.827, -0.06, 0.958, -21.07 ] + }, + { "time": 1, "value": -32.82 } + ], + "translate": [ + { + "x": -167.32, + "y": 0.58, + "curve": [ 0.022, -180.55, 0.075, -235.51, 0.045, 0.58, 0.075, 30.12 ] + }, + { + "time": 0.1, + "x": -235.51, + "y": 39.92, + "curve": [ 0.142, -235.51, 0.208, -201.73, 0.138, 54.94, 0.18, 60.78 ] + }, + { + "time": 0.2333, + "x": -176.33, + "y": 61.48, + "curve": [ 0.272, -136.61, 0.321, -45.18, 0.275, 62.02, 0.321, 56.6 ] + }, + { + "time": 0.3667, + "x": 8.44, + "y": 49.67, + "curve": [ 0.403, 51.03, 0.486, 66.86, 0.401, 44.37, 0.48, 23.11 ] + }, + { "time": 0.5, "x": 66.57, "y": 14.22 }, + { "time": 0.5333, "x": 52.58, "y": 0.6 }, + { "time": 1, "x": -167.32, "y": 0.58 } + ] + }, + "front-foot-target": { + "rotate": [ + { + "value": 18.19, + "curve": [ 0.01, 11.17, 0.043, 1.37 ] + }, + { "time": 0.1, "value": 0.47 }, + { + "time": 0.2333, + "value": 0.55, + "curve": [ 0.364, 0.3, 0.515, -80.48 ] + }, + { + "time": 0.7333, + "value": -80.78, + "curve": [ 0.788, -80.38, 0.921, 17.42 ] + }, + { "time": 1, "value": 18.19 } + ], + "translate": [ + { + "x": 139.21, + "y": 22.94, + "curve": [ 0.025, 139.21, 0.069, 111.46, 0.031, 3.25, 0.075, 0.06 ] + }, + { "time": 0.1, "x": 96.69, "y": 0.06 }, + { + "time": 0.5, + "x": -94.87, + "y": -0.03, + "curve": [ 0.518, -106.82, 0.575, -152.56, 0.534, 5.42, 0.557, 38.46 ] + }, + { + "time": 0.6, + "x": -152.56, + "y": 57.05, + "curve": [ 0.633, -152.56, 0.688, -128.05, 0.643, 75.61, 0.7, 84.14 ] + }, + { + "time": 0.7333, + "x": -109.42, + "y": 84.14, + "curve": [ 0.771, -93.91, 0.832, -30.64, 0.787, 84.14, 0.799, 89.65 ] + }, + { + "time": 0.8667, + "x": 17, + "y": 75.25, + "curve": [ 0.903, 66.18, 0.967, 139.21, 0.932, 61.53, 0.967, 44.02 ] + }, + { "time": 1, "x": 139.21, "y": 22.94 } + ] + }, + "hip": { + "rotate": [ + { "value": -4.35 } + ], + "translate": [ + { + "x": -2.86, + "y": -13.86, + "curve": [ 0.025, -2.84, 0.067, -2.82, 0.028, -19.14, 0.054, -24.02 ] + }, + { + "time": 0.1, + "x": -2.61, + "y": -24.19, + "curve": [ 0.143, -2.34, 0.202, -1.79, 0.152, -23.98, 0.213, -14.81 ] + }, + { + "time": 0.2667, + "x": -1.21, + "y": -7.12, + "curve": [ 0.308, -0.86, 0.345, -0.51, 0.306, -1.63, 0.341, 3.15 ] + }, + { + "time": 0.3667, + "x": -0.33, + "y": 3.15, + "curve": [ 0.41, 0.02, 0.458, 0.26, 0.427, 3.3, 0.481, -6.75 ] + }, + { + "time": 0.5, + "x": 0.26, + "y": -10.59, + "curve": [ 0.553, 0.26, 0.559, 0.2, 0.519, -14.41, 0.548, -23.88 ] + }, + { + "time": 0.6, + "x": -0.17, + "y": -23.71, + "curve": [ 0.663, -0.72, 0.798, -2.09, 0.702, -23.36, 0.802, 3.53 ] + }, + { + "time": 0.8667, + "x": -2.46, + "y": 3.48, + "curve": [ 0.901, -2.63, 0.967, -2.87, 0.913, 3.45, 0.967, -7.64 ] + }, + { "time": 1, "x": -2.86, "y": -13.86 } + ] + }, + "front-foot-tip": { + "rotate": [ + { + "value": 28.96, + "curve": [ 0.056, 28.74, 0.049, 19.6 ] + }, + { "time": 0.0667, "value": 1.68 }, + { + "time": 0.5, + "value": -10, + "curve": [ 0.525, -10, 0.592, -54.69 ] + }, + { + "time": 0.6, + "value": -59.66, + "curve": [ 0.623, -74.54, 0.674, -101.78 ] + }, + { + "time": 0.7333, + "value": -101.78, + "curve": [ 0.812, -101.78, 0.855, -84.67 ] + }, + { + "time": 0.8667, + "value": -63.53, + "curve": [ 0.869, -58.38, 0.975, 28.96 ] + }, + { "time": 1, "value": 28.96 } + ] + }, + "torso": { + "rotate": [ + { + "value": -20.72, + "curve": [ 0.025, -20.57, 0.071, -20.04 ] + }, + { + "time": 0.1333, + "value": -20.04, + "curve": [ 0.187, -20.04, 0.285, -21.16 ] + }, + { + "time": 0.3667, + "value": -21.16, + "curve": [ 0.405, -21.16, 0.47, -20.9 ] + }, + { + "time": 0.5, + "value": -20.71, + "curve": [ 0.518, -20.6, 0.582, -20.03 ] + }, + { + "time": 0.6333, + "value": -20.04, + "curve": [ 0.709, -20.05, 0.815, -21.18 ] + }, + { + "time": 0.8667, + "value": -21.18, + "curve": [ 0.908, -21.18, 0.971, -20.93 ] + }, + { "time": 1, "value": -20.72 } + ] + }, + "neck": { + "rotate": [ + { + "value": 17.78, + "curve": [ 0.025, 17.93, 0.071, 18.46 ] + }, + { + "time": 0.1333, + "value": 18.46, + "curve": [ 0.187, 18.46, 0.285, 17.34 ] + }, + { + "time": 0.3667, + "value": 17.34, + "curve": [ 0.405, 17.34, 0.47, 17.6 ] + }, + { + "time": 0.5, + "value": 17.79, + "curve": [ 0.518, 17.9, 0.582, 18.47 ] + }, + { + "time": 0.6333, + "value": 18.46, + "curve": [ 0.709, 18.45, 0.815, 17.32 ] + }, + { + "time": 0.8667, + "value": 17.32, + "curve": [ 0.908, 17.32, 0.971, 17.57 ] + }, + { "time": 1, "value": 17.78 } + ] + }, + "head": { + "rotate": [ + { + "value": -12.23, + "curve": [ 0.061, -12.23, 0.191, -7.45 ] + }, + { + "time": 0.2667, + "value": -7.43, + "curve": [ 0.341, -7.42, 0.421, -12.23 ] + }, + { + "time": 0.5, + "value": -12.23, + "curve": [ 0.567, -12.26, 0.694, -7.46 ] + }, + { + "time": 0.7667, + "value": -7.47, + "curve": [ 0.853, -7.49, 0.943, -12.23 ] + }, + { "time": 1, "value": -12.23 } + ], + "scale": [ + { + "curve": [ 0.039, 1, 0.084, 0.991, 0.039, 1, 0.084, 1.019 ] + }, + { + "time": 0.1333, + "x": 0.991, + "y": 1.019, + "curve": [ 0.205, 0.991, 0.318, 1.019, 0.205, 1.019, 0.337, 0.992 ] + }, + { + "time": 0.4, + "x": 1.019, + "y": 0.992, + "curve": [ 0.456, 1.019, 0.494, 1.001, 0.483, 0.991, 0.493, 0.999 ] + }, + { + "time": 0.5, + "curve": [ 0.508, 0.998, 0.584, 0.991, 0.51, 1.002, 0.584, 1.019 ] + }, + { + "time": 0.6333, + "x": 0.991, + "y": 1.019, + "curve": [ 0.705, 0.991, 0.818, 1.019, 0.705, 1.019, 0.837, 0.992 ] + }, + { + "time": 0.9, + "x": 1.019, + "y": 0.992, + "curve": [ 0.956, 1.019, 0.955, 1, 0.983, 0.991, 0.955, 1 ] + }, + { "time": 1 } + ] + }, + "back-foot-tip": { + "rotate": [ + { "value": 4.09 }, + { "time": 0.0333, "value": 3.05 }, + { + "time": 0.1, + "value": -59.01, + "curve": [ 0.124, -72.97, 0.169, -100.05 ] + }, + { + "time": 0.2333, + "value": -99.71, + "curve": [ 0.326, -99.21, 0.349, -37.4 ] + }, + { + "time": 0.3667, + "value": -17.85, + "curve": [ 0.388, 4.74, 0.451, 32.35 ] + }, + { + "time": 0.5, + "value": 32.4, + "curve": [ 0.537, 32.44, 0.566, 6.43 ] + }, + { "time": 0.5667, "value": 2 }, + { "time": 1, "value": 4.09 } + ] + }, + "front-thigh": { + "translate": [ + { + "x": 17.15, + "y": -0.09, + "curve": [ 0.178, 17.14, 0.295, -4.26, 0.009, -0.09, 0.475, 0.02 ] + }, + { + "time": 0.5, + "x": -4.26, + "y": 0.02, + "curve": [ 0.705, -4.27, 0.848, 17.15, 0.525, 0.02, 0.975, -0.09 ] + }, + { "time": 1, "x": 17.15, "y": -0.09 } + ] + }, + "rear-thigh": { + "translate": [ + { + "x": -17.71, + "y": -4.63, + "curve": [ 0.036, -19.81, 0.043, -20.86, 0.036, -4.63, 0.05, -7.03 ] + }, + { + "time": 0.1, + "x": -20.95, + "y": -7.06, + "curve": [ 0.162, -21.05, 0.4, 7.79, 0.2, -7.13, 0.4, -1.9 ] + }, + { + "time": 0.5, + "x": 7.79, + "y": -1.94, + "curve": [ 0.612, 7.69, 0.875, -10.49, 0.592, -1.97, 0.917, -3.25 ] + }, + { "time": 1, "x": -17.71, "y": -4.63 } + ] + }, + "torso2": { + "rotate": [ + { + "value": 1, + "curve": [ 0.006, 1.2, 0.084, 2.88 ] + }, + { + "time": 0.1333, + "value": 2.88, + "curve": [ 0.205, 2.88, 0.284, -1.17 ] + }, + { + "time": 0.3667, + "value": -1.17, + "curve": [ 0.411, -1.17, 0.481, 0.57 ] + }, + { + "time": 0.5, + "value": 1, + "curve": [ 0.515, 1.33, 0.59, 2.83 ] + }, + { + "time": 0.6333, + "value": 2.85, + "curve": [ 0.683, 2.86, 0.796, -1.2 ] + }, + { + "time": 0.8667, + "value": -1.2, + "curve": [ 0.916, -1.2, 0.984, 0.62 ] + }, + { "time": 1, "value": 1 } + ] + }, + "torso3": { + "rotate": [ + { "value": -1.81 } + ] + }, + "front-upper-arm": { + "rotate": [ + { + "value": -9.51, + "curve": [ 0.021, -13.32, 0.058, -19.4 ] + }, + { + "time": 0.1, + "value": -19.4, + "curve": [ 0.238, -19.69, 0.337, 7.78 ] + }, + { + "time": 0.3667, + "value": 16.2, + "curve": [ 0.399, 25.42, 0.497, 60.19 ] + }, + { + "time": 0.6, + "value": 60.26, + "curve": [ 0.719, 60.13, 0.845, 27.61 ] + }, + { + "time": 0.8667, + "value": 22.45, + "curve": [ 0.892, 16.38, 0.979, -3.27 ] + }, + { "time": 1, "value": -9.51 } + ] + }, + "front-bracer": { + "rotate": [ + { + "value": 13.57, + "curve": [ 0.022, 9.71, 0.147, -3.78 ] + }, + { + "time": 0.3667, + "value": -3.69, + "curve": [ 0.457, -3.66, 0.479, 0.83 ] + }, + { + "time": 0.5, + "value": 4.05, + "curve": [ 0.513, 6.08, 0.635, 30.8 ] + }, + { + "time": 0.8, + "value": 30.92, + "curve": [ 0.974, 31, 0.98, 18.35 ] + }, + { "time": 1, "value": 13.57 } + ] + }, + "front-fist": { + "rotate": [ + { + "value": -28.72, + "curve": [ 0.024, -31.74, 0.176, -43.4 ] + }, + { + "time": 0.3667, + "value": -43.6, + "curve": [ 0.403, -43.65, 0.47, -40.15 ] + }, + { + "time": 0.5, + "value": -35.63, + "curve": [ 0.547, -28.59, 0.624, -4.57 ] + }, + { + "time": 0.7333, + "value": -4.59, + "curve": [ 0.891, -4.62, 0.954, -24.28 ] + }, + { "time": 1, "value": -28.48 } + ] + }, + "rear-upper-arm": { + "rotate": [ + { + "value": 28.28, + "curve": [ 0.034, 30.94, 0.068, 32.05 ] + }, + { + "time": 0.1, + "value": 31.88, + "curve": [ 0.194, 31.01, 0.336, -0.11 ] + }, + { + "time": 0.3667, + "value": -7.11, + "curve": [ 0.421, -19.73, 0.53, -46.21 ] + }, + { + "time": 0.6, + "value": -45.75, + "curve": [ 0.708, -45.03, 0.844, -13.56 ] + }, + { + "time": 0.8667, + "value": -6.48, + "curve": [ 0.909, 6.59, 0.958, 24.21 ] + }, + { "time": 1, "value": 28.28 } + ] + }, + "hair2": { + "rotate": [ + { + "value": -2.79, + "curve": [ 0.074, -2.84, 0.121, 25.08 ] + }, + { + "time": 0.2333, + "value": 24.99, + "curve": [ 0.35, 24.89, 0.427, -2.86 ] + }, + { + "time": 0.5, + "value": -2.8, + "curve": [ 0.575, -2.73, 0.652, 24.5 ] + }, + { + "time": 0.7333, + "value": 24.55, + "curve": [ 0.828, 24.6, 0.932, -2.69 ] + }, + { "time": 1, "value": -2.79 } + ] + }, + "hair4": { + "rotate": [ + { + "value": -6.01, + "curve": [ 0.106, -5.97, 0.151, 18.62 ] + }, + { + "time": 0.2333, + "value": 18.72, + "curve": [ 0.336, 18.7, 0.405, -11.37 ] + }, + { + "time": 0.5, + "value": -11.45, + "curve": [ 0.626, -11.46, 0.629, 18.94 ] + }, + { + "time": 0.7333, + "value": 18.92, + "curve": [ 0.833, 18.92, 0.913, -6.06 ] + }, + { "time": 1, "value": -6.01 } + ], + "translate": [ + { "x": 0.03, "y": 1.35 } + ] + }, + "rear-bracer": { + "rotate": [ + { + "value": 10.06, + "curve": [ 0.044, 11.16, 0.063, 11.49 ] + }, + { + "time": 0.1, + "value": 11.49, + "curve": [ 0.215, 11.49, 0.336, 2.92 ] + }, + { + "time": 0.3667, + "value": 0.84, + "curve": [ 0.416, -2.52, 0.498, -10.84 ] + }, + { + "time": 0.6, + "value": -10.83, + "curve": [ 0.762, -10.71, 0.845, -3.05 ] + }, + { + "time": 0.8667, + "value": -1.34, + "curve": [ 0.917, 2.54, 0.977, 8.81 ] + }, + { "time": 1, "value": 10.06 } + ] + }, + "gun": { + "rotate": [ + { + "value": -14.67, + "curve": [ 0.086, -14.67, 0.202, 8.31 ] + }, + { + "time": 0.2333, + "value": 12.14, + "curve": [ 0.279, 17.71, 0.391, 25.79 ] + }, + { + "time": 0.5, + "value": 25.77, + "curve": [ 0.631, 25.74, 0.694, 4.53 ] + }, + { + "time": 0.7333, + "value": -0.65, + "curve": [ 0.768, -5.21, 0.902, -14.4 ] + }, + { "time": 1, "value": -14.67 } + ] + }, + "front-leg-target": { + "translate": [ + { + "x": -2.83, + "y": -8.48, + "curve": [ 0.008, -2.83, 0.058, 0.09, 0.001, 4.97, 0.058, 6.68 ] + }, + { + "time": 0.0667, + "x": 0.09, + "y": 6.68, + "curve": [ 0.3, 0.09, 0.767, -2.83, 0.3, 6.68, 0.767, -8.48 ] + }, + { "time": 1, "x": -2.83, "y": -8.48 } + ] + }, + "hair1": { + "rotate": [ + { + "curve": [ 0.028, 1.24, 0.016, 3.46 ] + }, + { + "time": 0.1, + "value": 3.45, + "curve": [ 0.159, 3.45, 0.189, 0.23 ] + }, + { + "time": 0.2333, + "value": -2.29, + "curve": [ 0.265, -4.32, 0.305, -5.92 ] + }, + { + "time": 0.3667, + "value": -5.94, + "curve": [ 0.446, -5.96, 0.52, 3.41 ] + }, + { + "time": 0.6, + "value": 3.42, + "curve": [ 0.717, 3.42, 0.772, -5.93 ] + }, + { + "time": 0.8667, + "value": -5.97, + "curve": [ 0.933, -5.99, 0.982, -0.94 ] + }, + { "time": 1 } + ] + }, + "hair3": { + "rotate": [ + { + "curve": [ 0.067, 0, 0.159, -10.48 ] + }, + { + "time": 0.2333, + "value": -10.49, + "curve": [ 0.334, -10.5, 0.439, -0.09 ] + }, + { + "time": 0.5, + "value": -0.09, + "curve": [ 0.569, -0.09, 0.658, -10.75 ] + }, + { + "time": 0.7333, + "value": -10.7, + "curve": [ 0.833, -10.63, 0.947, 0 ] + }, + { "time": 1 } + ] + }, + "gun-tip": { + "rotate": [ + { "time": 0.2333, "value": 0.11 } + ] + }, + "muzzle-ring": { + "rotate": [ + { "time": 0.2333, "value": 0.11 } + ] + }, + "muzzle-ring2": { + "rotate": [ + { "time": 0.2667, "value": 0.11 } + ] + }, + "muzzle-ring3": { + "rotate": [ + { "time": 0.2667, "value": 0.11 } + ] + }, + "muzzle-ring4": { + "rotate": [ + { "time": 0.2667, "value": 0.11 } + ] + }, + "back-shoulder": { + "translate": [ + { + "x": -0.18, + "y": -4.49, + "curve": [ 0.133, -0.18, 0.333, 7.69, 0.133, -4.49, 0.333, 2.77 ] + }, + { + "time": 0.4667, + "x": 7.69, + "y": 2.77, + "curve": [ 0.6, 7.69, 0.858, -0.18, 0.6, 2.77, 0.858, -4.49 ] + }, + { "time": 1, "x": -0.18, "y": -4.49 } + ] + }, + "front-shoulder": { + "translate": [ + { + "x": 1.46, + "y": 9.37, + "curve": [ 0.162, 1.41, 0.333, -1.66, 0.162, 9.37, 0.301, -7.23 ] + }, + { + "time": 0.5, + "x": -1.6, + "y": -7.27, + "curve": [ 0.735, -1.5, 0.847, 1.46, 0.723, -7.31, 0.838, 9.32 ] + }, + { "time": 1, "x": 1.46, "y": 9.37 } + ] + }, + "head-control": { + "translate": [ + { + "x": -6.46, + "y": -8.4, + "curve": [ 0.053, -5.31, 0.167, -3.64, 0.093, -8.4, 0.196, -3.81 ] + }, + { + "time": 0.2333, + "x": -3.64, + "y": -1.32, + "curve": [ 0.309, -3.64, 0.436, -5.84, 0.275, 1.43, 0.38, 10.3 ] + }, + { + "time": 0.5, + "x": -7.03, + "y": 10.29, + "curve": [ 0.538, -7.75, 0.66, -10.54, 0.598, 10.27, 0.694, 1.56 ] + }, + { + "time": 0.7333, + "x": -10.54, + "y": -1.26, + "curve": [ 0.797, -10.54, 0.933, -7.91, 0.768, -3.79, 0.875, -8.4 ] + }, + { "time": 1, "x": -6.46, "y": -8.4 } + ] + } + }, + "ik": { + "front-leg-ik": [ + { + "softness": 25.7, + "bendPositive": false, + "curve": [ 0.008, 1, 0.025, 1, 0.008, 25.7, 0.025, 9.9 ] + }, + { + "time": 0.0333, + "softness": 9.9, + "bendPositive": false, + "curve": [ 0.15, 1, 0.383, 1, 0.15, 9.9, 0.383, 43.2 ] + }, + { + "time": 0.5, + "softness": 43.2, + "bendPositive": false, + "curve": [ 0.625, 1, 0.875, 1, 0.625, 43.2, 0.846, 45.57 ] + }, + { "time": 1, "softness": 25.7, "bendPositive": false } + ], + "rear-leg-ik": [ + { "softness": 5, "bendPositive": false }, + { "time": 0.4333, "softness": 4.9, "bendPositive": false }, + { "time": 0.5, "softness": 28.81, "bendPositive": false }, + { "time": 0.6, "softness": 43.8, "bendPositive": false }, + { "time": 1, "softness": 5, "bendPositive": false } + ] + }, + "events": [ + { "name": "footstep" }, + { "time": 0.5, "name": "footstep" } + ] + } +} +} \ No newline at end of file diff --git a/spine-ts/spine-pixi/example/assets/spineboy-pro.skel b/spine-ts/spine-pixi/example/assets/spineboy-pro.skel new file mode 100644 index 0000000000000000000000000000000000000000..c14f3040574295bdba8bd3db5774a6e3c65b1541 GIT binary patch literal 67563 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

)S&(Q40tOq{T(K=J> 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 TbP(T=00000NkvXXu0mjfc$fID literal 0 HcmV?d00001 diff --git a/spine-ts/spine-pixi/example/index.html b/spine-ts/spine-pixi/example/index.html new file mode 100644 index 0000000000..2e45c1e195 --- /dev/null +++ b/spine-ts/spine-pixi/example/index.html @@ -0,0 +1,136 @@ + + + + + spine-pixi + + + + + + + + + + + \ No newline at end of file diff --git a/spine-ts/spine-pixi/package.json b/spine-ts/spine-pixi/package.json new file mode 100644 index 0000000000..9148bd50ab --- /dev/null +++ b/spine-ts/spine-pixi/package.json @@ -0,0 +1,43 @@ +{ + "name": "@esotericsoftware/spine-pixi", + "version": "4.1.31", + "description": "The official Spine Runtimes for the web.", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "files": [ + "dist/**/*", + "README.md", + "LICENSE" + ], + "scripts": {}, + "repository": { + "type": "git", + "url": "git+https://github.com/esotericsoftware/spine-runtimes.git" + }, + "keywords": [ + "gamedev", + "animations", + "2d", + "spine", + "game-dev", + "runtimes", + "skeletal" + ], + "author": "Esoteric Software LLC", + "license": "LicenseRef-LICENSE", + "bugs": { + "url": "https://github.com/esotericsoftware/spine-runtimes/issues" + }, + "homepage": "https://github.com/esotericsoftware/spine-runtimes#readme", + "dependencies": { + "@esotericsoftware/spine-core": "4.1.31" + }, + "peerDependencies": { + "@pixi/core": "^7.2.4", + "@pixi/display": "^7.2.4", + "@pixi/graphics": "^7.2.4", + "@pixi/text": "^7.2.4", + "@pixi/assets": "^7.2.4", + "@pixi/mesh": "^7.2.4" + } +} \ No newline at end of file diff --git a/spine-ts/spine-pixi/src/DarkSlotMesh.ts b/spine-ts/spine-pixi/src/DarkSlotMesh.ts new file mode 100644 index 0000000000..a08246f09a --- /dev/null +++ b/spine-ts/spine-pixi/src/DarkSlotMesh.ts @@ -0,0 +1,88 @@ +import { SpineTexture } from "./SpineTexture"; +import type { BlendMode, NumberArrayLike } from "@esotericsoftware/spine-core"; +import { DarkTintMesh } from "./darkTintMesh/DarkTintMesh"; +import type { ISlotMesh } from "./Spine"; + +export class DarkSlotMesh extends DarkTintMesh implements ISlotMesh { + public name: string = ""; + + private static auxColor = [0, 0, 0, 0]; + + constructor() { + super(); + } + public updateFromSpineData( + slotTexture: SpineTexture, + slotBlendMode: BlendMode, + slotName: string, + finalVertices: NumberArrayLike, + finalVerticesLength: number, + finalIndices: NumberArrayLike, + finalIndicesLength: number, + darkTint: boolean + ): void { + this.texture = slotTexture.texture; + + const vertLenght = (finalVerticesLength / (darkTint ? 12 : 8)) * 2; + + if (this.geometry.getBuffer("aTextureCoord").data?.length !== vertLenght) { + this.geometry.getBuffer("aTextureCoord").data = new Float32Array(vertLenght); + } + + if (this.geometry.getBuffer("aVertexPosition").data?.length !== vertLenght) { + this.geometry.getBuffer("aVertexPosition").data = new Float32Array(vertLenght); + } + + let vertIndex = 0; + + for (let i = 0; i < finalVerticesLength; i += darkTint ? 12 : 8) { + let auxi = i; + + this.geometry.getBuffer("aVertexPosition").data[vertIndex] = finalVertices[auxi++]; + this.geometry.getBuffer("aVertexPosition").data[vertIndex + 1] = finalVertices[auxi++]; + + auxi += 4; // color + + this.geometry.getBuffer("aTextureCoord").data[vertIndex] = finalVertices[auxi++]; + this.geometry.getBuffer("aTextureCoord").data[vertIndex + 1] = finalVertices[auxi++]; + + vertIndex += 2; + } + + if (darkTint) { + DarkSlotMesh.auxColor[0] = finalVertices[8]; + DarkSlotMesh.auxColor[1] = finalVertices[9]; + DarkSlotMesh.auxColor[2] = finalVertices[10]; + DarkSlotMesh.auxColor[3] = finalVertices[11]; + this.darkTint = DarkSlotMesh.auxColor; + + DarkSlotMesh.auxColor[0] = finalVertices[2]; + DarkSlotMesh.auxColor[1] = finalVertices[3]; + DarkSlotMesh.auxColor[2] = finalVertices[4]; + DarkSlotMesh.auxColor[3] = finalVertices[5]; + this.tint = DarkSlotMesh.auxColor; + } else { + DarkSlotMesh.auxColor[0] = finalVertices[2]; + DarkSlotMesh.auxColor[1] = finalVertices[3]; + DarkSlotMesh.auxColor[2] = finalVertices[4]; + DarkSlotMesh.auxColor[3] = finalVertices[5]; + + this.tint = DarkSlotMesh.auxColor; + } + this.blendMode = SpineTexture.toPixiBlending(slotBlendMode); + + if (this.geometry.indexBuffer.data.length !== finalIndices.length) { + this.geometry.indexBuffer.data = new Uint32Array(finalIndices); + } else { + for (let i = 0; i < finalIndicesLength; i++) { + this.geometry.indexBuffer.data[i] = finalIndices[i]; + } + } + + this.name = slotName; + + this.geometry.getBuffer("aVertexPosition").update(); + this.geometry.getBuffer("aTextureCoord").update(); + this.geometry.indexBuffer.update(); + } +} diff --git a/spine-ts/spine-pixi/src/SlotMesh.ts b/spine-ts/spine-pixi/src/SlotMesh.ts new file mode 100644 index 0000000000..a9a34318db --- /dev/null +++ b/spine-ts/spine-pixi/src/SlotMesh.ts @@ -0,0 +1,89 @@ +import { SpineTexture } from "./SpineTexture"; +import type { BlendMode, NumberArrayLike } from "@esotericsoftware/spine-core"; +import type { ISlotMesh } from "./Spine"; +import { Mesh, MeshGeometry, MeshMaterial } from "@pixi/mesh"; +import { Texture } from "@pixi/core"; + +export class SlotMesh extends Mesh implements ISlotMesh { + public name: string = ""; + + private static readonly auxColor = [0, 0, 0, 0]; + private warnedTwoTint: boolean = false; + + constructor() { + const geometry = new MeshGeometry(); + + geometry.getBuffer("aVertexPosition").static = false; + geometry.getBuffer("aTextureCoord").static = false; + + const meshMaterial = new MeshMaterial(Texture.EMPTY); + super(geometry, meshMaterial); + } + public updateFromSpineData( + slotTexture: SpineTexture, + slotBlendMode: BlendMode, + slotName: string, + finalVertices: NumberArrayLike, + finalVerticesLength: number, + finalIndices: NumberArrayLike, + finalIndicesLength: number, + darkTint: boolean + ): void { + this.texture = slotTexture.texture; + + const vertLenght = (finalVerticesLength / (darkTint ? 12 : 8)) * 2; + + if (this.geometry.getBuffer("aTextureCoord").data?.length !== vertLenght) { + this.geometry.getBuffer("aTextureCoord").data = new Float32Array(vertLenght); + } + + if (this.geometry.getBuffer("aVertexPosition").data?.length !== vertLenght) { + this.geometry.getBuffer("aVertexPosition").data = new Float32Array(vertLenght); + } + + let vertIndex = 0; + + for (let i = 0; i < finalVerticesLength; i += darkTint ? 12 : 8) { + let auxi = i; + + this.geometry.getBuffer("aVertexPosition").data[vertIndex] = finalVertices[auxi++]; + this.geometry.getBuffer("aVertexPosition").data[vertIndex + 1] = finalVertices[auxi++]; + + auxi += 4; // color + + this.geometry.getBuffer("aTextureCoord").data[vertIndex] = finalVertices[auxi++]; + this.geometry.getBuffer("aTextureCoord").data[vertIndex + 1] = finalVertices[auxi++]; + + vertIndex += 2; + } + + // console.log(vertLenght, auxVert.length); + + if (darkTint && !this.warnedTwoTint) { + console.warn("DarkTint is not enabled by default. To enable use a DarkSlotMesh factory while creating the Spine object."); + this.warnedTwoTint = true; + } + + SlotMesh.auxColor[0] = finalVertices[2]; + SlotMesh.auxColor[1] = finalVertices[3]; + SlotMesh.auxColor[2] = finalVertices[4]; + SlotMesh.auxColor[3] = finalVertices[5]; + + this.tint = SlotMesh.auxColor; + this.blendMode = SpineTexture.toPixiBlending(slotBlendMode); + + if (this.geometry.indexBuffer.data.length !== finalIndices.length) { + this.geometry.indexBuffer.data = new Uint32Array(finalIndices); + } else { + for (let i = 0; i < finalIndicesLength; i++) { + this.geometry.indexBuffer.data[i] = finalIndices[i]; + } + } + + this.name = slotName; + + this.geometry.getBuffer("aVertexPosition").update(); + this.geometry.getBuffer("aTextureCoord").update(); + this.geometry.indexBuffer.update(); + } +} diff --git a/spine-ts/spine-pixi/src/Spine.ts b/spine-ts/spine-pixi/src/Spine.ts new file mode 100644 index 0000000000..4edcc25817 --- /dev/null +++ b/spine-ts/spine-pixi/src/Spine.ts @@ -0,0 +1,407 @@ +import type { BlendMode, Bone, Event, NumberArrayLike, SkeletonData, Slot, TextureAtlas, TrackEntry } from "@esotericsoftware/spine-core"; +import { + AnimationState, + AnimationStateData, + AtlasAttachmentLoader, + ClippingAttachment, + Color, + MeshAttachment, + RegionAttachment, + Skeleton, + SkeletonBinary, + SkeletonClipping, + SkeletonJson, + Utils, + Vector2, +} from "@esotericsoftware/spine-core"; +import type { SpineTexture } from "./SpineTexture"; +import { SlotMesh } from "./SlotMesh"; +import type { ISpineDebugRenderer } from "./SpineDebugRenderer"; +import { Assets } from "@pixi/assets"; +import type { IPointData } from "@pixi/core"; +import { Ticker, utils } from "@pixi/core"; +import type { IDestroyOptions, DisplayObject } from "@pixi/display"; +import { Container } from "@pixi/display"; + +export interface ISpineOptions { + removeUnusedSlots?: boolean; + autoUpdate?: boolean; + slotMeshFactory?: () => ISlotMesh; +} + +export interface SpineEvents { + complete: [trackEntry: TrackEntry]; + dispose: [trackEntry: TrackEntry]; + end: [trackEntry: TrackEntry]; + event: [trackEntry: TrackEntry, event: Event]; + interrupt: [trackEntry: TrackEntry]; + start: [trackEntry: TrackEntry]; +} + +export class Spine extends Container { + public skeleton: Skeleton; + public state: AnimationState; + + private _debug?: ISpineDebugRenderer | undefined = undefined; + public get debug(): ISpineDebugRenderer | undefined { + return this._debug; + } + public set debug(value: ISpineDebugRenderer | undefined) { + if (this._debug) { + this._debug.unregisterSpine(this); + } + if (value) { + value.registerSpine(this); + } + this._debug = value; + } + + // Each slot is a pixi mesh, by default we just visible=false the ones we don't need. This forces a removeChild and addChild every time we need to show a slot. + public removeUnusedSlots: boolean; + protected slotMeshFactory: () => ISlotMesh; + + private autoUpdateWarned: boolean = false; + private _autoUpdate: boolean = true; + public get autoUpdate(): boolean { + return this._autoUpdate; + } + public set autoUpdate(value: boolean) { + if (value) { + Ticker.shared.add(this.internalUpdate, this); + this.autoUpdateWarned = false; + } else { + Ticker.shared.remove(this.internalUpdate, this); + } + this._autoUpdate = value; + } + + private meshesCache = new Map(); + + private static vectorAux: Vector2 = new Vector2(); + private static clipper: SkeletonClipping = new SkeletonClipping(); + + private static QUAD_TRIANGLES = [0, 1, 2, 2, 3, 0]; + private static VERTEX_SIZE = 2 + 2 + 4; + private static DARK_VERTEX_SIZE = 2 + 2 + 4 + 4; + + private lightColor = new Color(); + private darkColor = new Color(); + + + constructor(skeletonData: SkeletonData, options?: ISpineOptions) { + super(); + + this.skeleton = new Skeleton(skeletonData); + const animData = new AnimationStateData(skeletonData); + this.state = new AnimationState(animData); + this.removeUnusedSlots = options?.removeUnusedSlots ?? false; + this.autoUpdate = options?.autoUpdate ?? true; + this.slotMeshFactory = options?.slotMeshFactory ?? ((): ISlotMesh => new SlotMesh()); + + + /** + * This is locked behind https://github.com/pixijs/pixijs/issues/8957 + * I don't want to make a custom event emitter and do `this.spineEvents.on` because that's just as "far" as `this.state.addListener` + * So, until pixi fixes the custom event system, I'll stick to spine native events. - @miltoncandelero + + this.spineListeners = { + complete: (trackEntry) => this.emit("complete", trackEntry), + dispose: (trackEntry) => this.emit("dispose", trackEntry), + end: (trackEntry) => this.emit("end", trackEntry), + event: (trackEntry, event) => this.emit("event", trackEntry, event), + interrupt: (trackEntry) => this.emit("interrupt", trackEntry), + start: (trackEntry) => this.emit("start", trackEntry), + }; + this.state.addListener(this.spineListeners); + */ + } + + public update(deltaSeconds: number): void { + if (this.autoUpdate && !this.autoUpdateWarned) { + console.warn("You are calling update on a Spine instance that has autoUpdate set to true. This is probably not what you want."); + this.autoUpdateWarned = true; + } + this.internalUpdate(0, deltaSeconds); + } + + protected internalUpdate(_deltaFrame: number, deltaSeconds?: number): void { + // Because reasons, pixi uses deltaFrames at 60fps. We ignore the default deltaFrames and use the deltaSeconds from pixi ticker. + this.state.update(deltaSeconds ?? Ticker.shared.deltaMS / 1000); + } + + public override updateTransform(): void { + this.updateSpineTransform(); + this.debug?.renderDebug(this); + super.updateTransform(); + } + + protected updateSpineTransform(): void { + // if I ever create the linked spines, this will be useful. + + this.state.apply(this.skeleton); + this.skeleton.updateWorldTransform(); + this.updateGeometry(); + this.sortChildren(); + } + + public override destroy(options?: boolean | IDestroyOptions | undefined): void { + for (const [, mesh] of this.meshesCache) { + mesh?.destroy(); + } + this.state.clearListeners(); + this.debug = undefined; + this.meshesCache.clear(); + super.destroy(options); + } + + private recycleMeshes(): void { + for (const [, mesh] of this.meshesCache) { + if (this.removeUnusedSlots) { + mesh.parent?.removeChild(mesh); + } + mesh.zIndex = -1; + mesh.visible = false; + } + } + + /** + * If you want to manually handle which meshes go on which slot and how you cache, overwrite this method. + */ + protected getMeshForSlot(slot: Slot): ISlotMesh { + if (!this.meshesCache.has(slot)) { + let mesh = this.slotMeshFactory(); + this.addChild(mesh); + this.meshesCache.set(slot, mesh); + return mesh; + } else { + let mesh = this.meshesCache.get(slot)!; + + if (this.removeUnusedSlots) { + this.addChild(mesh); + } + mesh.visible = true; + return mesh; + } + } + + private verticesCache: NumberArrayLike = Utils.newFloatArray(1024); + + private updateGeometry(): void { + this.recycleMeshes(); + + let triangles: Array | null = null; + let uvs: NumberArrayLike | null = null; + const drawOrder = this.skeleton.drawOrder; + + for (let i = 0, n = drawOrder.length; i < n; i++) { + const slot = drawOrder[i]; + const useDarkColor = slot.darkColor != null; + const vertexSize = Spine.clipper.isClipping() ? 2 : useDarkColor ? Spine.DARK_VERTEX_SIZE : Spine.VERTEX_SIZE; + if (!slot.bone.active) { + Spine.clipper.clipEndWithSlot(slot); + continue; + } + const attachment = slot.getAttachment(); + let attachmentColor: Color | null; + let texture: SpineTexture | null; + let numFloats = 0; + if (attachment instanceof RegionAttachment) { + const region = attachment; + attachmentColor = region.color; + numFloats = vertexSize * 4; + region.computeWorldVertices(slot, this.verticesCache, 0, vertexSize); + triangles = Spine.QUAD_TRIANGLES; + uvs = region.uvs; + texture = region.region?.texture; + } else if (attachment instanceof MeshAttachment) { + const mesh = attachment; + attachmentColor = mesh.color; + numFloats = (mesh.worldVerticesLength >> 1) * vertexSize; + if (numFloats > this.verticesCache.length) { + this.verticesCache = Utils.newFloatArray(numFloats); + } + mesh.computeWorldVertices(slot, 0, mesh.worldVerticesLength, this.verticesCache, 0, vertexSize); + triangles = mesh.triangles; + uvs = mesh.uvs; + texture = mesh.region?.texture; + } else if (attachment instanceof ClippingAttachment) { + Spine.clipper.clipStart(slot, attachment); + continue; + } else { + Spine.clipper.clipEndWithSlot(slot); + continue; + } + if (texture != null) { + const skeleton = slot.bone.skeleton; + const skeletonColor = skeleton.color; + const slotColor = slot.color; + const alpha = skeletonColor.a * slotColor.a * attachmentColor.a; + this.lightColor.set( + skeletonColor.r * slotColor.r * attachmentColor.r, + skeletonColor.g * slotColor.g * attachmentColor.g, + skeletonColor.b * slotColor.b * attachmentColor.b, + alpha + ); + if (slot.darkColor != null) { + this.darkColor.setFromColor(slot.darkColor); + } else { + this.darkColor.set(0, 0, 0, 0); + } + + let finalVertices: NumberArrayLike; + let finalVerticesLength: number; + let finalIndices: NumberArrayLike; + let finalIndicesLength: number; + + if (Spine.clipper.isClipping()) { + Spine.clipper.clipTriangles(this.verticesCache, numFloats, triangles, triangles.length, uvs, this.lightColor, this.darkColor, useDarkColor); + + finalVertices = Spine.clipper.clippedVertices; + finalVerticesLength = finalVertices.length; + + finalIndices = Spine.clipper.clippedTriangles; + finalIndicesLength = finalIndices.length; + } else { + const verts = this.verticesCache; + for (let v = 2, u = 0, n = numFloats; v < n; v += vertexSize, u += 2) { + let tempV = v; + verts[tempV++] = this.lightColor.r; + verts[tempV++] = this.lightColor.g; + verts[tempV++] = this.lightColor.b; + verts[tempV++] = this.lightColor.a; + + verts[tempV++] = uvs[u]; + verts[tempV++] = uvs[u + 1]; + + if (useDarkColor) { + verts[tempV++] = this.darkColor.r; + verts[tempV++] = this.darkColor.g; + verts[tempV++] = this.darkColor.b; + } + } + finalVertices = this.verticesCache; + finalVerticesLength = numFloats; + finalIndices = triangles; + finalIndicesLength = triangles.length; + } + + if (finalVerticesLength == 0 || finalIndicesLength == 0) { + Spine.clipper.clipEndWithSlot(slot); + continue; + } + + const mesh = this.getMeshForSlot(slot); + mesh.zIndex = i; + mesh.updateFromSpineData(texture, slot.data.blendMode, slot.data.name, finalVertices, finalVerticesLength, finalIndices, finalIndicesLength, useDarkColor); + } + + Spine.clipper.clipEndWithSlot(slot); + } + Spine.clipper.clipEnd(); + } + + public setBonePosition(bone: string | Bone, position: IPointData): void { + const boneAux = bone; + if (typeof bone === "string") { + bone = this.skeleton.findBone(bone)!; + this.skeleton.findBone; + this.skeleton.findIkConstraint; + this.skeleton.findPathConstraint; + this.skeleton.findSlot; + this.skeleton.findTransformConstraint; + } + + if (!bone) { + console.error(`Cant set bone position! Bone ${String(boneAux)} not found`); + return; + } + + Spine.vectorAux.set(position.x, position.y); + + if (bone.parent) + { + const aux = bone.parent.worldToLocal(Spine.vectorAux); + bone.x = aux.x; + bone.y = aux.y; + } + else + { + bone.x = Spine.vectorAux.x; + bone.y = Spine.vectorAux.y; + } + } + + public getBonePosition(bone: string | Bone, outPos?: IPointData): IPointData | undefined { + const boneAux = bone; + if (typeof bone === "string") { + bone = this.skeleton.findBone(bone)!; + this.skeleton.findBone; + this.skeleton.findIkConstraint; + this.skeleton.findPathConstraint; + this.skeleton.findSlot; + this.skeleton.findTransformConstraint; + } + + if (!bone) { + console.error(`Cant set bone position! Bone ${String(boneAux)} not found`); + return outPos; + } + + if (!outPos) { + outPos = { x: 0, y: 0 }; + } + + outPos.x = bone.worldX; + outPos.y = bone.worldY; + return outPos; + } + + public static readonly skeletonCache: Record = Object.create(null); + + public static from(skeletonAssetName: string, atlasAssetName: string, options?: ISpineOptions & { scale?: number }): Spine { + const cacheKey = `${skeletonAssetName}-${atlasAssetName}-${options?.scale ?? 1}`; + + let skeletonData = Spine.skeletonCache[cacheKey]; + if (skeletonData) { + return new Spine(skeletonData, options); + } + + const skeletonAsset = Assets.get(skeletonAssetName); + + const atlasAsset = Assets.get(atlasAssetName); + + // If you want a custom attachment laoder, you don't use .from(...) + const attachmentLoader = new AtlasAttachmentLoader(atlasAsset); + + // What parser do we need? + let parser: SkeletonBinary | SkeletonJson; + if (skeletonAsset instanceof Uint8Array) { + parser = new SkeletonBinary(attachmentLoader); + } else { + parser = new SkeletonJson(attachmentLoader); + } + parser.scale = options?.scale ?? 1; + + skeletonData = parser.readSkeletonData(skeletonAsset); + + Spine.skeletonCache[cacheKey] = skeletonData; + + return new this(skeletonData, options); + } +} + +Skeleton.yDown = true; + +export interface ISlotMesh extends DisplayObject { + name: string; + updateFromSpineData( + slotTexture: SpineTexture, + slotBlendMode: BlendMode, + slotName: string, + finalVertices: NumberArrayLike, + finalVerticesLength: number, + finalIndices: NumberArrayLike, + finalIndicesLength: number, + darkTint: boolean + ): void; +} diff --git a/spine-ts/spine-pixi/src/SpineDebugRenderer.ts b/spine-ts/spine-pixi/src/SpineDebugRenderer.ts new file mode 100644 index 0000000000..cc31d30082 --- /dev/null +++ b/spine-ts/spine-pixi/src/SpineDebugRenderer.ts @@ -0,0 +1,543 @@ +import { Container } from "@pixi/display"; +import { Graphics } from "@pixi/graphics"; +import { Text } from "@pixi/text"; +import type { Spine } from "./Spine"; +import type { AnimationStateListener } from "@esotericsoftware/spine-core"; +import { ClippingAttachment, MeshAttachment, PathAttachment, RegionAttachment, SkeletonBounds } from "@esotericsoftware/spine-core"; + +/** + * Make a class that extends from this interface to create your own debug renderer. + * @public + */ +export interface ISpineDebugRenderer { + /** + * This will be called every frame, after the spine has been updated. + */ + renderDebug(spine: Spine): void; + + /** + * This is called when the `spine.debug` object is set to null or when the spine is destroyed. + */ + unregisterSpine(spine: Spine): void; + + /** + * This is called when the `spine.debug` object is set to a new instance of a debug renderer. + */ + registerSpine(spine: Spine): void; +} + +type DebugDisplayObjects = { + bones: Container; + skeletonXY: Graphics; + regionAttachmentsShape: Graphics; + meshTrianglesLine: Graphics; + meshHullLine: Graphics; + clippingPolygon: Graphics; + boundingBoxesRect: Graphics; + boundingBoxesCircle: Graphics; + boundingBoxesPolygon: Graphics; + pathsCurve: Graphics; + pathsLine: Graphics; + parentDebugContainer: Container; + eventText: Container; + eventCallback: AnimationStateListener; +}; + +/** + * This is a debug renderer that uses PixiJS Graphics under the hood. + * @public + */ +export class SpineDebugRenderer implements ISpineDebugRenderer { + private registeredSpines: Map = new Map(); + + public drawMeshHull = true; + public drawMeshTriangles = true; + public drawBones = true; + public drawPaths = true; + public drawBoundingBoxes = true; + public drawClipping = true; + public drawRegionAttachments = true; + public drawEvents = true; + + public lineWidth = 1; + public regionAttachmentsColor = 0x0078ff; + public meshHullColor = 0x0078ff; + public meshTrianglesColor = 0xffcc00; + public clippingPolygonColor = 0xff00ff; + public boundingBoxesRectColor = 0x00ff00; + public boundingBoxesPolygonColor = 0x00ff00; + public boundingBoxesCircleColor = 0x00ff00; + public pathsCurveColor = 0xff0000; + public pathsLineColor = 0xff00ff; + public skeletonXYColor = 0xff0000; + public bonesColor = 0x00eecc; + public eventFontSize: number = 24; + public eventFontColor: number = 0x0; + + /** + * The debug is attached by force to each spine object. So we need to create it inside the spine when we get the first update + */ + public registerSpine(spine: Spine): void { + if (this.registeredSpines.has(spine)) { + console.warn("SpineDebugRenderer.registerSpine() - this spine is already registered!", spine); + return; + } + const debugDisplayObjects: DebugDisplayObjects = { + parentDebugContainer: new Container(), + bones: new Container(), + skeletonXY: new Graphics(), + regionAttachmentsShape: new Graphics(), + meshTrianglesLine: new Graphics(), + meshHullLine: new Graphics(), + clippingPolygon: new Graphics(), + boundingBoxesRect: new Graphics(), + boundingBoxesCircle: new Graphics(), + boundingBoxesPolygon: new Graphics(), + pathsCurve: new Graphics(), + pathsLine: new Graphics(), + eventText: new Container(), + eventCallback: { + event: (_, event) => { + if (this.drawEvents) { + const scale = Math.abs(spine.scale.x || spine.scale.y || 1); + const text = new Text(event.data.name, { fontSize: this.eventFontSize / scale, fill: this.eventFontColor, fontFamily: "monospace" }); + text.scale.x = Math.sign(spine.scale.x); + text.anchor.set(0.5); + debugDisplayObjects.eventText.addChild(text); + setTimeout(() => { + if (!text.destroyed) { + text.destroy(); + } + }, 250); + } + }, + }, + }; + + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.bones); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.skeletonXY); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.regionAttachmentsShape); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.meshTrianglesLine); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.meshHullLine); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.clippingPolygon); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.boundingBoxesRect); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.boundingBoxesCircle); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.boundingBoxesPolygon); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.pathsCurve); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.pathsLine); + debugDisplayObjects.parentDebugContainer.addChild(debugDisplayObjects.eventText); + + debugDisplayObjects.parentDebugContainer.zIndex = 9999999; + + // Disable screen reader and mouse input on debug objects. + (debugDisplayObjects.parentDebugContainer as any).accessibleChildren = false; + (debugDisplayObjects.parentDebugContainer as any).eventMode = "none"; + (debugDisplayObjects.parentDebugContainer as any ).interactiveChildren = false; + + spine.addChild(debugDisplayObjects.parentDebugContainer); + + spine.state.addListener(debugDisplayObjects.eventCallback); + + this.registeredSpines.set(spine, debugDisplayObjects); + } + public renderDebug(spine: Spine): void { + if (!this.registeredSpines.has(spine)) { + // This should never happen. Spines are registered when you assign spine.debug + this.registerSpine(spine); + } + + const debugDisplayObjects = this.registeredSpines.get(spine); + + if (!debugDisplayObjects) { + return; + } + spine.addChild(debugDisplayObjects.parentDebugContainer); + + debugDisplayObjects.skeletonXY.clear(); + debugDisplayObjects.regionAttachmentsShape.clear(); + debugDisplayObjects.meshTrianglesLine.clear(); + debugDisplayObjects.meshHullLine.clear(); + debugDisplayObjects.clippingPolygon.clear(); + debugDisplayObjects.boundingBoxesRect.clear(); + debugDisplayObjects.boundingBoxesCircle.clear(); + debugDisplayObjects.boundingBoxesPolygon.clear(); + debugDisplayObjects.pathsCurve.clear(); + debugDisplayObjects.pathsLine.clear(); + + for (let len = debugDisplayObjects.bones.children.length; len > 0; len--) { + debugDisplayObjects.bones.children[len - 1].destroy({ children: true, texture: true, baseTexture: true }); + } + + const scale = Math.abs(spine.scale.x || spine.scale.y || 1); + const lineWidth = this.lineWidth / scale; + + if (this.drawBones) { + this.drawBonesFunc(spine, debugDisplayObjects, lineWidth, scale); + } + + if (this.drawPaths) { + this.drawPathsFunc(spine, debugDisplayObjects, lineWidth); + } + + if (this.drawBoundingBoxes) { + this.drawBoundingBoxesFunc(spine, debugDisplayObjects, lineWidth); + } + + if (this.drawClipping) { + this.drawClippingFunc(spine, debugDisplayObjects, lineWidth); + } + + if (this.drawMeshHull || this.drawMeshTriangles) { + this.drawMeshHullAndMeshTriangles(spine, debugDisplayObjects, lineWidth); + } + + if (this.drawRegionAttachments) { + this.drawRegionAttachmentsFunc(spine, debugDisplayObjects, lineWidth); + } + + if (this.drawEvents) { + for (const child of debugDisplayObjects.eventText.children) { + child.alpha -= 0.05; + child.y -= 2; + } + } + } + + private drawBonesFunc(spine: Spine, debugDisplayObjects: DebugDisplayObjects, lineWidth: number, scale: number): void { + const skeleton = spine.skeleton; + const skeletonX = skeleton.x; + const skeletonY = skeleton.y; + const bones = skeleton.bones; + + debugDisplayObjects.skeletonXY.lineStyle(lineWidth, this.skeletonXYColor, 1); + + for (let i = 0, len = bones.length; i < len; i++) { + const bone = bones[i]; + const boneLen = bone.data.length; + const starX = skeletonX + bone.worldX; + const starY = skeletonY + bone.worldY; + const endX = skeletonX + boneLen * bone.a + bone.worldX; + const endY = skeletonY + boneLen * bone.b + bone.worldY; + + if (bone.data.name === "root" || bone.data.parent === null) { + continue; + } + + const w = Math.abs(starX - endX); + const h = Math.abs(starY - endY); + // a = w, // side length a + const a2 = Math.pow(w, 2); // square root of side length a + const b = h; // side length b + const b2 = Math.pow(h, 2); // square root of side length b + const c = Math.sqrt(a2 + b2); // side length c + const c2 = Math.pow(c, 2); // square root of side length c + const rad = Math.PI / 180; + // A = Math.acos([a2 + c2 - b2] / [2 * a * c]) || 0, // Angle A + // C = Math.acos([a2 + b2 - c2] / [2 * a * b]) || 0, // C angle + const B = Math.acos((c2 + b2 - a2) / (2 * b * c)) || 0; // angle of corner B + + if (c === 0) { + continue; + } + + const gp = new Graphics(); + + debugDisplayObjects.bones.addChild(gp); + + // draw bone + const refRation = c / 50 / scale; + + gp.beginFill(this.bonesColor, 1); + gp.drawPolygon(0, 0, 0 - refRation, c - refRation * 3, 0, c - refRation, 0 + refRation, c - refRation * 3); + gp.endFill(); + gp.x = starX; + gp.y = starY; + gp.pivot.y = c; + + // Calculate bone rotation angle + let rotation = 0; + + if (starX < endX && starY < endY) { + // bottom right + rotation = -B + 180 * rad; + } else if (starX > endX && starY < endY) { + // bottom left + rotation = 180 * rad + B; + } else if (starX > endX && starY > endY) { + // top left + rotation = -B; + } else if (starX < endX && starY > endY) { + // bottom left + rotation = B; + } else if (starY === endY && starX < endX) { + // To the right + rotation = 90 * rad; + } else if (starY === endY && starX > endX) { + // go left + rotation = -90 * rad; + } else if (starX === endX && starY < endY) { + // down + rotation = 180 * rad; + } else if (starX === endX && starY > endY) { + // up + rotation = 0; + } + gp.rotation = rotation; + + // Draw the starting rotation point of the bone + gp.lineStyle(lineWidth + refRation / 2.4, this.bonesColor, 1); + gp.beginFill(0x000000, 0.6); + gp.drawCircle(0, c, refRation * 1.2); + gp.endFill(); + } + + // Draw the skeleton starting point "X" form + const startDotSize = lineWidth * 3; + + debugDisplayObjects.skeletonXY.moveTo(skeletonX - startDotSize, skeletonY - startDotSize); + debugDisplayObjects.skeletonXY.lineTo(skeletonX + startDotSize, skeletonY + startDotSize); + debugDisplayObjects.skeletonXY.moveTo(skeletonX + startDotSize, skeletonY - startDotSize); + debugDisplayObjects.skeletonXY.lineTo(skeletonX - startDotSize, skeletonY + startDotSize); + } + + private drawRegionAttachmentsFunc(spine: Spine, debugDisplayObjects: DebugDisplayObjects, lineWidth: number): void { + const skeleton = spine.skeleton; + const slots = skeleton.slots; + + debugDisplayObjects.regionAttachmentsShape.lineStyle(lineWidth, this.regionAttachmentsColor, 1); + + for (let i = 0, len = slots.length; i < len; i++) { + const slot = slots[i]; + const attachment = slot.getAttachment(); + + if (attachment == null || !(attachment instanceof RegionAttachment)) { + continue; + } + + const regionAttachment = attachment; + + const vertices = new Float32Array(8); + + regionAttachment.computeWorldVertices(slot, vertices, 0, 2); + debugDisplayObjects.regionAttachmentsShape.drawPolygon(Array.from(vertices.slice(0, 8))); + } + } + + private drawMeshHullAndMeshTriangles(spine: Spine, debugDisplayObjects: DebugDisplayObjects, lineWidth: number): void { + const skeleton = spine.skeleton; + const slots = skeleton.slots; + + debugDisplayObjects.meshHullLine.lineStyle(lineWidth, this.meshHullColor, 1); + debugDisplayObjects.meshTrianglesLine.lineStyle(lineWidth, this.meshTrianglesColor, 1); + + for (let i = 0, len = slots.length; i < len; i++) { + const slot = slots[i]; + + if (!slot.bone.active) { + continue; + } + const attachment = slot.getAttachment(); + + if (attachment == null || !(attachment instanceof MeshAttachment)) { + continue; + } + + const meshAttachment = attachment; + + const vertices = new Float32Array(meshAttachment.worldVerticesLength); + const triangles = meshAttachment.triangles; + let hullLength = meshAttachment.hullLength; + + meshAttachment.computeWorldVertices(slot, 0, meshAttachment.worldVerticesLength, vertices, 0, 2); + // draw the skinned mesh (triangle) + if (this.drawMeshTriangles) { + for (let i = 0, len = triangles.length; i < len; i += 3) { + const v1 = triangles[i] * 2; + const v2 = triangles[i + 1] * 2; + const v3 = triangles[i + 2] * 2; + + debugDisplayObjects.meshTrianglesLine.moveTo(vertices[v1], vertices[v1 + 1]); + debugDisplayObjects.meshTrianglesLine.lineTo(vertices[v2], vertices[v2 + 1]); + debugDisplayObjects.meshTrianglesLine.lineTo(vertices[v3], vertices[v3 + 1]); + } + } + + // draw skin border + if (this.drawMeshHull && hullLength > 0) { + hullLength = (hullLength >> 1) * 2; + let lastX = vertices[hullLength - 2]; + let lastY = vertices[hullLength - 1]; + + for (let i = 0, len = hullLength; i < len; i += 2) { + const x = vertices[i]; + const y = vertices[i + 1]; + + debugDisplayObjects.meshHullLine.moveTo(x, y); + debugDisplayObjects.meshHullLine.lineTo(lastX, lastY); + lastX = x; + lastY = y; + } + } + } + } + + private drawClippingFunc(spine: Spine, debugDisplayObjects: DebugDisplayObjects, lineWidth: number): void { + const skeleton = spine.skeleton; + const slots = skeleton.slots; + + debugDisplayObjects.clippingPolygon.lineStyle(lineWidth, this.clippingPolygonColor, 1); + for (let i = 0, len = slots.length; i < len; i++) { + const slot = slots[i]; + + if (!slot.bone.active) { + continue; + } + const attachment = slot.getAttachment(); + + if (attachment == null || !(attachment instanceof ClippingAttachment)) { + continue; + } + + const clippingAttachment = attachment; + + const nn = clippingAttachment.worldVerticesLength; + const world = new Float32Array(nn); + + clippingAttachment.computeWorldVertices(slot, 0, nn, world, 0, 2); + debugDisplayObjects.clippingPolygon.drawPolygon(Array.from(world)); + } + } + + private drawBoundingBoxesFunc(spine: Spine, debugDisplayObjects: DebugDisplayObjects, lineWidth: number): void { + // draw the total outline of the bounding box + debugDisplayObjects.boundingBoxesRect.lineStyle(lineWidth, this.boundingBoxesRectColor, 5); + + const bounds = new SkeletonBounds(); + + bounds.update(spine.skeleton, true); + debugDisplayObjects.boundingBoxesRect.drawRect(bounds.minX, bounds.minY, bounds.getWidth(), bounds.getHeight()); + + const polygons = bounds.polygons; + const drawPolygon = (polygonVertices: ArrayLike, _offset: unknown, count: number): void => { + debugDisplayObjects.boundingBoxesPolygon.lineStyle(lineWidth, this.boundingBoxesPolygonColor, 1); + debugDisplayObjects.boundingBoxesPolygon.beginFill(this.boundingBoxesPolygonColor, 0.1); + + if (count < 3) { + throw new Error("Polygon must contain at least 3 vertices"); + } + const paths = []; + const dotSize = lineWidth * 2; + + for (let i = 0, len = polygonVertices.length; i < len; i += 2) { + const x1 = polygonVertices[i]; + const y1 = polygonVertices[i + 1]; + + // draw the bounding box node + debugDisplayObjects.boundingBoxesCircle.lineStyle(0); + debugDisplayObjects.boundingBoxesCircle.beginFill(this.boundingBoxesCircleColor); + debugDisplayObjects.boundingBoxesCircle.drawCircle(x1, y1, dotSize); + debugDisplayObjects.boundingBoxesCircle.endFill(); + + paths.push(x1, y1); + } + + // draw the bounding box area + debugDisplayObjects.boundingBoxesPolygon.drawPolygon(paths); + debugDisplayObjects.boundingBoxesPolygon.endFill(); + }; + + for (let i = 0, len = polygons.length; i < len; i++) { + const polygon = polygons[i]; + + drawPolygon(polygon, 0, polygon.length); + } + } + + private drawPathsFunc(spine: Spine, debugDisplayObjects: DebugDisplayObjects, lineWidth: number): void { + const skeleton = spine.skeleton; + const slots = skeleton.slots; + + debugDisplayObjects.pathsCurve.lineStyle(lineWidth, this.pathsCurveColor, 1); + debugDisplayObjects.pathsLine.lineStyle(lineWidth, this.pathsLineColor, 1); + + for (let i = 0, len = slots.length; i < len; i++) { + const slot = slots[i]; + + if (!slot.bone.active) { + continue; + } + const attachment = slot.getAttachment(); + + if (attachment == null || !(attachment instanceof PathAttachment)) { + continue; + } + + const pathAttachment = attachment; + let nn = pathAttachment.worldVerticesLength; + const world = new Float32Array(nn); + + pathAttachment.computeWorldVertices(slot, 0, nn, world, 0, 2); + let x1 = world[2]; + let y1 = world[3]; + let x2 = 0; + let y2 = 0; + + if (pathAttachment.closed) { + const cx1 = world[0]; + const cy1 = world[1]; + const cx2 = world[nn - 2]; + const cy2 = world[nn - 1]; + + x2 = world[nn - 4]; + y2 = world[nn - 3]; + + // curve + debugDisplayObjects.pathsCurve.moveTo(x1, y1); + debugDisplayObjects.pathsCurve.bezierCurveTo(cx1, cy1, cx2, cy2, x2, y2); + + // handle + debugDisplayObjects.pathsLine.moveTo(x1, y1); + debugDisplayObjects.pathsLine.lineTo(cx1, cy1); + debugDisplayObjects.pathsLine.moveTo(x2, y2); + debugDisplayObjects.pathsLine.lineTo(cx2, cy2); + } + nn -= 4; + for (let ii = 4; ii < nn; ii += 6) { + const cx1 = world[ii]; + const cy1 = world[ii + 1]; + const cx2 = world[ii + 2]; + const cy2 = world[ii + 3]; + + x2 = world[ii + 4]; + y2 = world[ii + 5]; + // curve + debugDisplayObjects.pathsCurve.moveTo(x1, y1); + debugDisplayObjects.pathsCurve.bezierCurveTo(cx1, cy1, cx2, cy2, x2, y2); + + // handle + debugDisplayObjects.pathsLine.moveTo(x1, y1); + debugDisplayObjects.pathsLine.lineTo(cx1, cy1); + debugDisplayObjects.pathsLine.moveTo(x2, y2); + debugDisplayObjects.pathsLine.lineTo(cx2, cy2); + x1 = x2; + y1 = y2; + } + } + } + + public unregisterSpine(spine: Spine): void { + if (!this.registeredSpines.has(spine)) { + console.warn("SpineDebugRenderer.unregisterSpine() - spine is not registered, can't unregister!", spine); + } + const debugDisplayObjects = this.registeredSpines.get(spine); + + if (!debugDisplayObjects) { + return; + } + + spine.state.removeListener(debugDisplayObjects.eventCallback); + + debugDisplayObjects.parentDebugContainer.destroy({ baseTexture: true, children: true, texture: true }); + this.registeredSpines.delete(spine); + } +} diff --git a/spine-ts/spine-pixi/src/SpineTexture.ts b/spine-ts/spine-pixi/src/SpineTexture.ts new file mode 100644 index 0000000000..08e103f7e2 --- /dev/null +++ b/spine-ts/spine-pixi/src/SpineTexture.ts @@ -0,0 +1,109 @@ +import { BlendMode, Texture, TextureFilter, TextureWrap } from "@esotericsoftware/spine-core"; +import type { BaseTexture as PixiBaseTexture, BaseImageResource } from "@pixi/core"; +import { Texture as PixiTexture, SCALE_MODES, MIPMAP_MODES, WRAP_MODES, BLEND_MODES } from "@pixi/core"; + +export class SpineTexture extends Texture { + private static textureMap: Map = new Map(); + + public static from(texture: PixiBaseTexture): SpineTexture { + if (SpineTexture.textureMap.has(texture)) { + return SpineTexture.textureMap.get(texture)!; + } + return new SpineTexture(texture); + } + + public readonly texture: PixiTexture; + + private constructor(image: PixiBaseTexture) { + // Todo: maybe add error handling if you feed a video texture to spine? + super((image.resource as BaseImageResource).source as any); + this.texture = PixiTexture.from(image); + } + + public setFilters(minFilter: TextureFilter, _magFilter: TextureFilter): void { + this.texture.baseTexture.scaleMode = SpineTexture.toPixiTextureFilter(minFilter); + this.texture.baseTexture.mipmap = SpineTexture.toPixiMipMap(minFilter); + + // pixi only has one filter for both min and mag, too bad + } + + public setWraps(uWrap: TextureWrap, _vWrap: TextureWrap): void { + this.texture.baseTexture.wrapMode = SpineTexture.toPixiTextureWrap(uWrap); + + // Pixi only has one setting + } + + public dispose(): void { + // I am not entirely sure about this... + this.texture.destroy(); + } + + private static toPixiTextureFilter(filter: TextureFilter): SCALE_MODES { + switch (filter) { + case TextureFilter.Nearest: + case TextureFilter.MipMapNearestLinear: + case TextureFilter.MipMapNearestNearest: + return SCALE_MODES.NEAREST; + + case TextureFilter.Linear: + case TextureFilter.MipMapLinearLinear: // TextureFilter.MipMapLinearLinear == TextureFilter.MipMap + case TextureFilter.MipMapLinearNearest: + return SCALE_MODES.LINEAR; + + default: + throw new Error(`Unknown texture filter: ${String(filter)}`); + } + } + + private static toPixiMipMap(filter: TextureFilter): MIPMAP_MODES { + switch (filter) { + case TextureFilter.Nearest: + case TextureFilter.Linear: + return MIPMAP_MODES.OFF; + + case TextureFilter.MipMapNearestLinear: + case TextureFilter.MipMapNearestNearest: + case TextureFilter.MipMapLinearLinear: // TextureFilter.MipMapLinearLinear == TextureFilter.MipMap + case TextureFilter.MipMapLinearNearest: + return MIPMAP_MODES.ON; + + default: + throw new Error(`Unknown texture filter: ${String(filter)}`); + } + } + + private static toPixiTextureWrap(wrap: TextureWrap): WRAP_MODES { + switch (wrap) { + case TextureWrap.ClampToEdge: + return WRAP_MODES.CLAMP; + + case TextureWrap.MirroredRepeat: + return WRAP_MODES.MIRRORED_REPEAT; + + case TextureWrap.Repeat: + return WRAP_MODES.REPEAT; + + default: + throw new Error(`Unknown texture wrap: ${String(wrap)}`); + } + } + + public static toPixiBlending(blend: BlendMode): BLEND_MODES { + switch (blend) { + case BlendMode.Normal: + return BLEND_MODES.NORMAL; + + case BlendMode.Additive: + return BLEND_MODES.ADD; + + case BlendMode.Multiply: + return BLEND_MODES.MULTIPLY; + + case BlendMode.Screen: + return BLEND_MODES.SCREEN; + + default: + throw new Error(`Unknown blendMode: ${String(blend)}`); + } + } +} diff --git a/spine-ts/spine-pixi/src/assets/atlasLoader.ts b/spine-ts/spine-pixi/src/assets/atlasLoader.ts new file mode 100644 index 0000000000..93b97f3b1c --- /dev/null +++ b/spine-ts/spine-pixi/src/assets/atlasLoader.ts @@ -0,0 +1,93 @@ +import { TextureAtlas } from "@esotericsoftware/spine-core"; +import { SpineTexture } from "../SpineTexture"; +import type { AssetExtension, LoadAsset, Loader } from "@pixi/assets"; +import { LoaderParserPriority, checkExtension } from "@pixi/assets"; +import type { Texture } from "@pixi/core"; +import { ExtensionType, settings, utils, BaseTexture, extensions } from "@pixi/core"; + +type RawAtlas = string; + +const spineTextureAtlasLoader: AssetExtension = { + extension: ExtensionType.Asset, + + loader: { + extension: { + type: ExtensionType.LoadParser, + priority: LoaderParserPriority.Normal, + name: "spineTextureAtlasLoader", + }, + + test(url: string): boolean { + return checkExtension(url, ".atlas"); + }, + + async load(url: string): Promise { + const response = await settings.ADAPTER.fetch(url); + + const txt = await response.text(); + + return txt; + }, + + testParse(asset: unknown, options: LoadAsset): Promise { + const isExtensionRight = checkExtension(options.src, ".atlas"); + const isString = typeof asset === "string"; + + return Promise.resolve(isExtensionRight && isString); + }, + + unload(atlas: TextureAtlas) { + atlas.dispose(); + }, + + async parse(asset: RawAtlas, options: LoadAsset, loader: Loader): Promise { + const metadata: ISpineAtlasMetadata = options.data || {}; + let basePath = utils.path.dirname(options.src); + + if (basePath && basePath.lastIndexOf("/") !== basePath.length - 1) { + basePath += "/"; + } + + // Retval is going to be a texture atlas. However we need to wait for it's callback to resolve this promise. + const retval = new TextureAtlas(asset); + + // If the user gave me only one texture, that one is assumed to be the "first" texture in the atlas + if (metadata.images instanceof BaseTexture || typeof metadata.images === "string") { + const pixiTexture = metadata.images; + metadata.images = {} as Record; + metadata.images[retval.pages[0].name] = pixiTexture; + } + + // we will wait for all promises for the textures at the same time at the end. + const textureLoadingPromises = []; + + // fill the pages + for (const page of retval.pages) { + const pageName = page.name; + const providedPage = metadata?.images ? metadata.images[pageName] : undefined; + if (providedPage instanceof BaseTexture) { + page.setTexture(SpineTexture.from(providedPage)); + } else { + const url: string = providedPage ?? utils.path.normalize([...basePath.split(utils.path.sep), pageName].join(utils.path.sep)); + const pixiPromise = loader.load({ src: url, data: metadata.imageMetadata }).then((texture) => { + page.setTexture(SpineTexture.from(texture.baseTexture)); + }); + textureLoadingPromises.push(pixiPromise); + } + } + + await Promise.all(textureLoadingPromises); + + return retval; + }, + }, +} as AssetExtension; + +extensions.add(spineTextureAtlasLoader); + +export interface ISpineAtlasMetadata { + // If you are downloading an .atlas file, this metadata will go to the Texture loader + imageMetadata?: any; + // If you already have atlas pages loaded as pixi textures and want to use that to create the atlas, you can pass them here + images?: BaseTexture | string | Record; +} diff --git a/spine-ts/spine-pixi/src/assets/skeletonLoader.ts b/spine-ts/spine-pixi/src/assets/skeletonLoader.ts new file mode 100644 index 0000000000..2ac3b1987b --- /dev/null +++ b/spine-ts/spine-pixi/src/assets/skeletonLoader.ts @@ -0,0 +1,45 @@ +import type { AssetExtension, LoadAsset } from "@pixi/assets"; +import { LoaderParserPriority, checkExtension } from "@pixi/assets"; +import { ExtensionType, settings, extensions } from "@pixi/core"; + +type SkeletonJsonAsset = any; +type SkeletonBinaryAsset = Uint8Array; + +function isJson(resource: any): resource is SkeletonJsonAsset { + return resource.hasOwnProperty("bones"); +} + +function isBuffer(resource: any): resource is SkeletonBinaryAsset { + return resource instanceof Uint8Array; +} + +const spineLoaderExtension: AssetExtension = { + extension: ExtensionType.Asset, + + loader: { + extension: { + type: ExtensionType.LoadParser, + priority: LoaderParserPriority.Normal, + }, + + test(url) { + return checkExtension(url, ".skel"); + }, + + async load(url: string): Promise { + const response = await settings.ADAPTER.fetch(url); + + const buffer = new Uint8Array(await response.arrayBuffer()); + + return buffer; + }, + testParse(asset: unknown, options: LoadAsset): Promise { + const isJsonSpineModel = checkExtension(options.src, ".json") && isJson(asset); + const isBinarySpineModel = checkExtension(options.src, ".skel") && isBuffer(asset); + + return Promise.resolve(isJsonSpineModel || isBinarySpineModel); + }, + }, +} as AssetExtension; + +extensions.add(spineLoaderExtension); diff --git a/spine-ts/spine-pixi/src/darkTintMesh/DarkTintBatchGeom.ts b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintBatchGeom.ts new file mode 100644 index 0000000000..7f2e5d33e7 --- /dev/null +++ b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintBatchGeom.ts @@ -0,0 +1,32 @@ +import { Geometry, Buffer, TYPES } from "@pixi/core"; + +/** + * Geometry used to batch standard PIXI content (e.g. Mesh, Sprite, Graphics objects). + * @memberof PIXI + */ +export class DarkTintBatchGeometry extends Geometry { + // eslint-disable-next-line @typescript-eslint/naming-convention + public _buffer: Buffer; + + // eslint-disable-next-line @typescript-eslint/naming-convention + public _indexBuffer: Buffer; + + /** + * @param {boolean} [_static=false] - Optimization flag, where `false` + * is updated every frame, `true` doesn't change frame-to-frame. + */ + constructor(_static = false) { + super(); + + this._buffer = new Buffer(undefined, _static, false); + + this._indexBuffer = new Buffer(undefined, _static, true); + + this.addAttribute("aVertexPosition", this._buffer, 2, false, TYPES.FLOAT) + .addAttribute("aTextureCoord", this._buffer, 2, false, TYPES.FLOAT) + .addAttribute("aColor", this._buffer, 4, true, TYPES.UNSIGNED_BYTE) + .addAttribute("aDarkColor", this._buffer, 4, true, TYPES.UNSIGNED_BYTE) + .addAttribute("aTextureId", this._buffer, 1, true, TYPES.FLOAT) + .addIndex(this._indexBuffer); + } +} diff --git a/spine-ts/spine-pixi/src/darkTintMesh/DarkTintGeom.ts b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintGeom.ts new file mode 100644 index 0000000000..084aa1f51a --- /dev/null +++ b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintGeom.ts @@ -0,0 +1,23 @@ +import { Geometry, Buffer, TYPES } from "@pixi/core"; + +/** + * Geometry used to batch standard PIXI content (e.g. Mesh, Sprite, Graphics objects). + * @memberof PIXI + */ +export class DarkTintGeometry extends Geometry { + /** + * @param {boolean} [_static=false] - Optimization flag, where `false` + * is updated every frame, `true` doesn't change frame-to-frame. + */ + constructor(_static = false) { + super(); + + const verticesBuffer = new Buffer(undefined); + const uvsBuffer = new Buffer(undefined, true); + const indexBuffer = new Buffer(undefined, true, true); + + this.addAttribute("aVertexPosition", verticesBuffer, 2, false, TYPES.FLOAT); + this.addAttribute("aTextureCoord", uvsBuffer, 2, false, TYPES.FLOAT); + this.addIndex(indexBuffer); + } +} diff --git a/spine-ts/spine-pixi/src/darkTintMesh/DarkTintMaterial.ts b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintMaterial.ts new file mode 100644 index 0000000000..4233f18374 --- /dev/null +++ b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintMaterial.ts @@ -0,0 +1,175 @@ +import type { ColorSource } from "@pixi/core"; +import { Shader, TextureMatrix, Color, Texture, Matrix, Program } from "@pixi/core"; + +const vertex = ` +attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; + +uniform mat3 projectionMatrix; +uniform mat3 translationMatrix; +uniform mat3 uTextureMatrix; + +varying vec2 vTextureCoord; + +void main(void) +{ + gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + + vTextureCoord = (uTextureMatrix * vec3(aTextureCoord, 1.0)).xy; +} +`; + +const fragment = ` +varying vec2 vTextureCoord; +uniform vec4 uColor; +uniform vec4 uDarkColor; + +uniform sampler2D uSampler; + +void main(void) +{ + vec4 texColor = texture2D(uSampler, vTextureCoord); + gl_FragColor.a = texColor.a * uColor.a; + gl_FragColor.rgb = ((texColor.a - 1.0) * uDarkColor.a + 1.0 - texColor.rgb) * uDarkColor.rgb + texColor.rgb * uColor.rgb; +} +`; + +export interface IDarkTintMaterialOptions { + alpha?: number; + tint?: ColorSource; + darkTint?: ColorSource; + pluginName?: string; + uniforms?: Record; +} + +export class DarkTintMaterial extends Shader { + public readonly uvMatrix: TextureMatrix; + + public batchable: boolean; + + public pluginName: string; + + // eslint-disable-next-line @typescript-eslint/naming-convention + public _tintRGB: number; + // eslint-disable-next-line @typescript-eslint/naming-convention + public _darkTintRGB: number; + + /** + * Only do update if tint or alpha changes. + * @private + * @default false + */ + private _colorDirty: boolean; + private _alpha: number; + + private _tintColor: Color; + private _darkTintColor: Color; + + constructor(texture?: Texture) { + const uniforms = { + uSampler: texture ?? Texture.EMPTY, + alpha: 1, + uTextureMatrix: Matrix.IDENTITY, + uColor: new Float32Array([1, 1, 1, 1]), + uDarkColor: new Float32Array([0, 0, 0, 0]), + }; + + // Set defaults + const options = { + tint: 0xffffff, + darkTint: 0x0, + alpha: 1, + pluginName: "darkTintBatch", + }; + + super(Program.from(vertex, fragment), uniforms); + + this._colorDirty = false; + + this.uvMatrix = new TextureMatrix(uniforms.uSampler); + this.batchable = true; + this.pluginName = options.pluginName; + + this._tintColor = new Color(options.tint); + this._darkTintColor = new Color(options.darkTint); + this._tintRGB = this._tintColor.toLittleEndianNumber(); + this._darkTintRGB = this._darkTintColor.toLittleEndianNumber(); + this._alpha = options.alpha; + this._colorDirty = true; + } + + public get texture(): Texture { + return this.uniforms.uSampler; + } + public set texture(value: Texture) { + if (this.uniforms.uSampler !== value) { + if (!this.uniforms.uSampler.baseTexture.alphaMode !== !value.baseTexture.alphaMode) { + this._colorDirty = true; + } + + this.uniforms.uSampler = value; + this.uvMatrix.texture = value; + } + } + + public set alpha(value: number) { + if (value === this._alpha) { + return; + } + + this._alpha = value; + this._colorDirty = true; + } + public get alpha(): number { + return this._alpha; + } + + public set tint(value: ColorSource) { + if (value === this.tint) { + return; + } + + this._tintColor.setValue(value); + this._tintRGB = this._tintColor.toLittleEndianNumber(); + this._colorDirty = true; + } + public get tint(): ColorSource { + return this._tintColor.value!; + } + + public set darkTint(value: ColorSource) { + if (value === this.darkTint) { + return; + } + + this._darkTintColor.setValue(value); + this._darkTintRGB = this._darkTintColor.toLittleEndianNumber(); + this._colorDirty = true; + } + public get darkTint(): ColorSource { + return this._darkTintColor.value!; + } + + public get tintValue(): number { + return this._tintColor.toNumber(); + } + + public get darkTintValue(): number { + return this._darkTintColor.toNumber(); + } + + /** Gets called automatically by the Mesh. Intended to be overridden for custom {@link PIXI.MeshMaterial} objects. */ + public update(): void { + if (this._colorDirty) { + this._colorDirty = false; + const baseTexture = this.texture.baseTexture; + const applyToChannels = baseTexture.alphaMode as unknown as boolean; + + Color.shared.setValue(this._tintColor).premultiply(this._alpha, applyToChannels).toArray(this.uniforms.uColor); + Color.shared.setValue(this._darkTintColor).premultiply(this._alpha, applyToChannels).toArray(this.uniforms.uDarkColor); + } + if (this.uvMatrix.update()) { + this.uniforms.uTextureMatrix = this.uvMatrix.mapCoord; + } + } +} diff --git a/spine-ts/spine-pixi/src/darkTintMesh/DarkTintMesh.ts b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintMesh.ts new file mode 100644 index 0000000000..740420ad05 --- /dev/null +++ b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintMesh.ts @@ -0,0 +1,62 @@ +import type { Texture, ColorSource, Renderer, BLEND_MODES } from "@pixi/core"; +import { Mesh } from "@pixi/mesh"; +import { DarkTintGeometry } from "./DarkTintGeom"; +import { DarkTintMaterial } from "./DarkTintMaterial"; + +export interface IDarkTintElement { + // eslint-disable-next-line @typescript-eslint/naming-convention + _texture: Texture; + vertexData: Float32Array; + indices: Uint16Array | Uint32Array | Array; + uvs: Float32Array; + worldAlpha: number; + // eslint-disable-next-line @typescript-eslint/naming-convention + _tintRGB: number; + // eslint-disable-next-line @typescript-eslint/naming-convention + _darkTintRGB: number; + blendMode: BLEND_MODES; +} + +export class DarkTintMesh extends Mesh { + // eslint-disable-next-line @typescript-eslint/naming-convention + public _darkTintRGB: number = 0; + + constructor(texture?: Texture) { + super(new DarkTintGeometry(), new DarkTintMaterial(texture), undefined, undefined); + } + + public get darkTint(): ColorSource | null { + return "darkTint" in this.shader ? (this.shader as unknown as DarkTintMaterial).darkTint : null; + } + + public set darkTint(value: ColorSource | null) { + (this.shader as unknown as DarkTintMaterial).darkTint = value!; + } + + public get darkTintValue(): number { + return (this.shader as unknown as DarkTintMaterial).darkTintValue; + } + + // eslint-disable-next-line @typescript-eslint/naming-convention + protected override _renderToBatch(renderer: Renderer): void { + const geometry = this.geometry; + const shader = this.shader; + + if (shader.uvMatrix) { + shader.uvMatrix.update(); + this.calculateUvs(); + } + + // set properties for batching.. + this.calculateVertices(); + this.indices = geometry.indexBuffer.data as Uint16Array; + this._tintRGB = shader._tintRGB; + this._darkTintRGB = shader._darkTintRGB; + this._texture = shader.texture; + + const pluginName = this.material.pluginName; + + renderer.batch.setObjectRenderer(renderer.plugins[pluginName]); + renderer.plugins[pluginName].render(this); + } +} diff --git a/spine-ts/spine-pixi/src/darkTintMesh/DarkTintRenderer.ts b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintRenderer.ts new file mode 100644 index 0000000000..5484898284 --- /dev/null +++ b/spine-ts/spine-pixi/src/darkTintMesh/DarkTintRenderer.ts @@ -0,0 +1,90 @@ +import type { IDarkTintElement } from "./DarkTintMesh"; +import { DarkTintBatchGeometry } from "./DarkTintBatchGeom"; +import type { ExtensionMetadata, Renderer, ViewableBuffer } from "@pixi/core"; +import { BatchRenderer, ExtensionType, BatchShaderGenerator, Color } from "@pixi/core"; + +const vertex = ` +precision highp float; +attribute vec2 aVertexPosition; +attribute vec2 aTextureCoord; +attribute vec4 aColor; +attribute vec4 aDarkColor; +attribute float aTextureId; + +uniform mat3 projectionMatrix; +uniform mat3 translationMatrix; +uniform vec4 tint; + +varying vec2 vTextureCoord; +varying vec4 vColor; +varying vec4 vDarkColor; +varying float vTextureId; + +void main(void){ + gl_Position = vec4((projectionMatrix * translationMatrix * vec3(aVertexPosition, 1.0)).xy, 0.0, 1.0); + + vTextureCoord = aTextureCoord; + vTextureId = aTextureId; + vColor = aColor * tint; + vDarkColor = aDarkColor * tint; + +} +`; + +const fragment = ` +varying vec2 vTextureCoord; +varying vec4 vColor; +varying vec4 vDarkColor; +varying float vTextureId; +uniform sampler2D uSamplers[%count%]; + +void main(void){ + vec4 color; + %forloop% + + + gl_FragColor.a = color.a * vColor.a; + gl_FragColor.rgb = ((color.a - 1.0) * vDarkColor.a + 1.0 - color.rgb) * vDarkColor.rgb + color.rgb * vColor.rgb; +} +`; + +export class DarkTintRenderer extends BatchRenderer { + public static override extension: ExtensionMetadata = { + name: "darkTintBatch", + type: ExtensionType.RendererPlugin, + }; + + constructor(renderer: Renderer) { + super(renderer); + this.shaderGenerator = new BatchShaderGenerator(vertex, fragment); + this.geometryClass = DarkTintBatchGeometry; + // Pixi's default 6 + 1 for uDarkTint. (this is size in _floats_. color is 4 bytes which roughly equals one float :P ) + this.vertexSize = 7; + } + + public override packInterleavedGeometry(element: IDarkTintElement, attributeBuffer: ViewableBuffer, indexBuffer: Uint16Array, aIndex: number, iIndex: number): void { + const { uint32View, float32View } = attributeBuffer; + const packedVertices = aIndex / this.vertexSize; + const uvs = element.uvs; + const indicies = element.indices; + const vertexData = element.vertexData; + const textureId = element._texture.baseTexture._batchLocation; + const alpha = Math.min(element.worldAlpha, 1.0); + const argb = Color.shared.setValue(element._tintRGB).toPremultiplied(alpha, (element._texture.baseTexture.alphaMode ?? 0) > 0); + const darkargb = Color.shared.setValue(element._darkTintRGB).toPremultiplied(alpha, (element._texture.baseTexture.alphaMode ?? 0) > 0); + + // lets not worry about tint! for now.. + for (let i = 0; i < vertexData.length; i += 2) { + float32View[aIndex++] = vertexData[i]; + float32View[aIndex++] = vertexData[i + 1]; + float32View[aIndex++] = uvs[i]; + float32View[aIndex++] = uvs[i + 1]; + uint32View[aIndex++] = argb; + uint32View[aIndex++] = darkargb; + float32View[aIndex++] = textureId; + } + for (let i = 0; i < indicies.length; i++) { + indexBuffer[iIndex++] = packedVertices + indicies[i]; + } + } +} diff --git a/spine-ts/spine-pixi/src/index.ts b/spine-ts/spine-pixi/src/index.ts new file mode 100644 index 0000000000..5892138e4a --- /dev/null +++ b/spine-ts/spine-pixi/src/index.ts @@ -0,0 +1,18 @@ +export * from './require-shim'; +export * from './Spine'; +export * from './SpineDebugRenderer'; +export * from './SpineTexture'; +export * from './SlotMesh'; +export * from './DarkSlotMesh'; +export * from './assets/atlasLoader'; +export * from './assets/skeletonLoader'; +export * from './darkTintMesh/DarkTintBatchGeom'; +export * from './darkTintMesh/DarkTintGeom'; +export * from './darkTintMesh/DarkTintMaterial'; +export * from './darkTintMesh/DarkTintMesh'; +export * from './darkTintMesh/DarkTintRenderer'; +export * from "@esotericsoftware/spine-core"; + + +import './assets/atlasLoader'; // Side effects install the loaders into pixi +import './assets/skeletonLoader'; // Side effects install the loaders into pixi diff --git a/spine-ts/spine-pixi/src/require-shim.ts b/spine-ts/spine-pixi/src/require-shim.ts new file mode 100644 index 0000000000..a0c390c352 --- /dev/null +++ b/spine-ts/spine-pixi/src/require-shim.ts @@ -0,0 +1,43 @@ +/****************************************************************************** + * Spine Runtimes License Agreement + * Last updated September 24, 2021. Replaces all prior versions. + * + * Copyright (c) 2013-2021, Esoteric Software LLC + * + * Integration of the Spine Runtimes into software or otherwise creating + * derivative works of the Spine Runtimes is permitted under the terms and + * conditions of Section 2 of the Spine Editor License Agreement: + * http://esotericsoftware.com/spine-editor-license + * + * Otherwise, it is permitted to integrate the Spine Runtimes into software + * or otherwise create derivative works of the Spine Runtimes (collectively, + * "Products"), provided that each user of the Products must obtain their own + * Spine Editor license and redistribution of the Products in any form must + * include this license and copyright notice. + * + * THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, + * BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *****************************************************************************/ + +declare global { + var require: any; + var PIXI: any; +} + +if (window.PIXI) { + let prevRequire = window.require; + window.require = (x: string) => { + if (prevRequire) return prevRequire(x); + else if (x.startsWith("@pixi/")) return window.PIXI; + } +} + +export { } diff --git a/spine-ts/spine-pixi/tsconfig.json b/spine-ts/spine-pixi/tsconfig.json new file mode 100644 index 0000000000..fa33fe0e25 --- /dev/null +++ b/spine-ts/spine-pixi/tsconfig.json @@ -0,0 +1,24 @@ +{ + "extends": "../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "rootDir": "./src", + "outDir": "./dist", + "paths": { + "@esotericsoftware/spine-core": [ + "../spine-core/src" + ] + } + }, + "include": [ + "**/*.ts", + ], + "exclude": [ + "dist/**/*.d.ts" + ], + "references": [ + { + "path": "../spine-core" + } + ] +} \ No newline at end of file diff --git a/spine-ts/tsconfig.json b/spine-ts/tsconfig.json index d981bf5106..d739fc1050 100644 --- a/spine-ts/tsconfig.json +++ b/spine-ts/tsconfig.json @@ -18,6 +18,9 @@ }, { "path": "./spine-threejs" + }, + { + "path": "./spine-pixi" } ] } \ No newline at end of file