{ "v": "5.4.3", "fr": 30, "ip": 0, "op": 51, "w": 500, "h": 500, "nm": "Dog Anim animation 2", "ddd": 0, "assets": [ { "id": "image_0", "w": 171, "h": 216, "u": "images/", "p": "img_0.png", "e": 0 }, { "id": "image_1", "w": 81, "h": 82, "u": "images/", "p": "img_1.png", "e": 0 }, { "id": "image_2", "w": 263, "h": 70, "u": "images/", "p": "img_2.png", "e": 0 }, { "id": "image_3", "w": 163, "h": 275, "u": "images/", "p": "img_3.png", "e": 0 }, { "id": "image_4", "w": 205, "h": 345, "u": "images/", "p": "img_4.png", "e": 0 }, { "id": "image_5", "w": 96, "h": 59, "u": "images/", "p": "img_5.png", "e": 0 }, { "id": "image_6", "w": 71, "h": 82, "u": "images/", "p": "img_6.png", "e": 0 }, { "id": "image_7", "w": 148, "h": 322, "u": "images/", "p": "img_7.png", "e": 0 }, { "id": "image_8", "w": 358, "h": 266, "u": "images/", "p": "img_8.png", "e": 0 }, { "id": "image_9", "w": 534, "h": 596, "u": "images/", "p": "img_9.png", "e": 0 }, { "id": "image_10", "w": 184, "h": 233, "u": "images/", "p": "img_10.png", "e": 0 }, { "id": "image_11", "w": 289, "h": 291, "u": "images/", "p": "img_11.png", "e": 0 }, { "id": "image_12", "w": 374, "h": 457, "u": "images/", "p": "img_12.png", "e": 0 }, { "id": "image_13", "w": 106, "h": 247, "u": "images/", "p": "img_13.png", "e": 0 }, { "id": "image_14", "w": 162, "h": 179, "u": "images/", "p": "img_14.png", "e": 0 }, { "id": "image_15", "w": 93, "h": 58, "u": "images/", "p": "img_15.png", "e": 0 }, { "id": "image_16", "w": 254, "h": 278, "u": "images/", "p": "img_16.png", "e": 0 }, { "id": "image_17", "w": 759, "h": 454, "u": "images/", "p": "img_17.png", "e": 0 }, { "id": "image_18", "w": 324, "h": 258, "u": "images/", "p": "img_18.png", "e": 0 }, { "id": "image_19", "w": 447, "h": 350, "u": "images/", "p": "img_19.png", "e": 0 }, { "id": "comp_0", "layers": [ { "ddd": 0, "ind": 10, "ty": 3, "nm": "C | Hips", "parent": 11, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [4.543, -115.652, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Controller", "np": 13, "mn": "Pseudo/DUIK controller", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Icon", "mn": "Pseudo/DUIK controller-0001", "ix": 1, "v": 0 }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK controller-0002", "ix": 2, "v": { "a": 0, "k": [0.92549020052, 0.0941176489, 0.0941176489, 1], "ix": 2 } }, { "ty": 3, "nm": "Position", "mn": "Pseudo/DUIK controller-0003", "ix": 3, "v": { "a": 0, "k": [0, 0], "ix": 3 } }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK controller-0004", "ix": 4, "v": { "a": 0, "k": 128, "ix": 4 } }, { "ty": 0, "nm": "Orientation", "mn": "Pseudo/DUIK controller-0005", "ix": 5, "v": { "a": 0, "k": 0, "ix": 5 } }, { "ty": 0, "nm": "Opacity", "mn": "Pseudo/DUIK controller-0006", "ix": 6, "v": { "a": 0, "k": 100, "ix": 6 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK controller-0007", "ix": 7, "v": 0 }, { "ty": 6, "nm": "Anchor", "mn": "Pseudo/DUIK controller-0008", "ix": 8, "v": 0 }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK controller-0009", "ix": 9, "v": { "a": 0, "k": [0, 0, 0, 1], "ix": 9 } }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK controller-0010", "ix": 10, "v": { "a": 0, "k": 128, "ix": 10 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK controller-0011", "ix": 11, "v": 0 } ] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 11, "ty": 3, "nm": "C | Body", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -12.2, "ix": 10 }, "p": { "s": true, "x": { "a": 0, "k": 350.022, "ix": 3 }, "y": { "a": 0, "k": 1250, "ix": 4 } }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Controller", "np": 13, "mn": "Pseudo/DUIK controller", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Icon", "mn": "Pseudo/DUIK controller-0001", "ix": 1, "v": 0 }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK controller-0002", "ix": 2, "v": { "a": 0, "k": [0.92549020052, 0.0941176489, 0.0941176489, 1], "ix": 2 } }, { "ty": 3, "nm": "Position", "mn": "Pseudo/DUIK controller-0003", "ix": 3, "v": { "a": 0, "k": [0, 0], "ix": 3 } }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK controller-0004", "ix": 4, "v": { "a": 0, "k": 128, "ix": 4 } }, { "ty": 0, "nm": "Orientation", "mn": "Pseudo/DUIK controller-0005", "ix": 5, "v": { "a": 0, "k": 0, "ix": 5 } }, { "ty": 0, "nm": "Opacity", "mn": "Pseudo/DUIK controller-0006", "ix": 6, "v": { "a": 0, "k": 100, "ix": 6 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK controller-0007", "ix": 7, "v": 0 }, { "ty": 6, "nm": "Anchor", "mn": "Pseudo/DUIK controller-0008", "ix": 8, "v": 0 }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK controller-0009", "ix": 9, "v": { "a": 0, "k": [0, 0, 0, 1], "ix": 9 } }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK controller-0010", "ix": 10, "v": { "a": 0, "k": 128, "ix": 10 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK controller-0011", "ix": 11, "v": 0 } ] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 18, "ty": 3, "nm": "S | Head", "parent": 19, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('Goal')(1);\n} catch (e) {\n}\n;\nif (ctrl != null) {\n var goal = ctrl.effect('S | Head Follow')(1).value;\n result = sum(result, div(ctrl.rotation.value, 1));\n if (!goal) {\n var layer = thisLayer;\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, div(layer.rotation, 1));\n }\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [0, -301, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 17, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "Goal", "np": 3, "mn": "ADBE Layer Control", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Layer", "mn": "ADBE Layer Control-0001", "ix": 1, "v": { "a": 0, "k": 7, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 19, "ty": 3, "nm": "S | Neck", "parent": 20, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('Goal')(1);\n} catch (e) {\n}\n;\nif (ctrl != null) {\n var goal = ctrl.effect('S | Neck Follow')(1).value;\n result = sum(result, div(ctrl.rotation.value, 1));\n if (!goal) {\n var layer = thisLayer;\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, div(layer.rotation, 1));\n }\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [315.69, -7.081, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 18, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "Goal", "np": 3, "mn": "ADBE Layer Control", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Layer", "mn": "ADBE Layer Control-0001", "ix": 1, "v": { "a": 0, "k": 6, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 20, "ty": 3, "nm": "S | Spine 2", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -178.715, "ix": 10, "x": "var $bm_rt;\nvar c = null;\nvar result = value;\nvar thisFx = effect('Bezier IK');\ntry {\n c = thisFx(5);\n} catch (e) {\n}\nif (c != null) {\n var n = c;\n try {\n n = thisFx(6);\n if (n.index == index)\n n = c;\n } catch (e) {\n }\n var fx = c.effect('IK | Spine');\n var autoOrient = fx(1).value;\n var C = n.toWorld(n.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var vec = sub(O, C);\n var angle = Math.atan2(vec[1], vec[0]);\n var ik = radiansToDegrees(angle);\n if (autoOrient == 1)\n result = sum(result, ik);\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [892, 1274, 0], "ix": 2, "x": "var $bm_rt;\nvar end = null;\nvar root = null;\nvar curve = null;\nvar result = value;\nvar thisFx = effect('Bezier IK');\ntry {\n end = thisFx(5);\n curve = thisFx(4);\n root = thisFx(3);\n} catch (e) {\n}\n;\nif (root != null) {\n var ind = 0.58029634796746;\n var fx = end.effect('IK | Spine');\n var offset = div(thisFx(1), 100);\n var generalOffset = div(fx(2), 100);\n var endPosition = end.toComp(end.anchorPoint);\n var rootPosition = root.toComp(root.anchorPoint);\n var curvePosition1 = curve.toComp(curve.content('Handle Out').transform.position);\n var curvePosition2 = curve.toComp(curve.content('Handle In').transform.position);\n var t = sum(sum(ind, generalOffset), offset);\n var c = mul(3, sub(curvePosition1, endPosition));\n var b = sub(mul(3, sub(curvePosition2, curvePosition1)), c);\n var a = sub(sub(sub(rootPosition, endPosition), c), b);\n result = sum(result, sum(mul(sum(mul(sum(mul(a, t), b), t), c), t), endPosition));\n result = sub(result, [\n 892,\n 1274,\n 0\n ]);\n}\n$bm_rt = result;" }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 19, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "Bezier IK", "np": 9, "mn": "Pseudo/DUIK bezier ik layer", "ix": 2, "en": 1, "ef": [ { "ty": 0, "nm": "Offset", "mn": "Pseudo/DUIK bezier ik layer-0001", "ix": 1, "v": { "a": 0, "k": 0, "ix": 1 } }, { "ty": 6, "nm": "Controllers", "mn": "Pseudo/DUIK bezier ik layer-0002", "ix": 2, "v": 0 }, { "ty": 10, "nm": "Root", "mn": "Pseudo/DUIK bezier ik layer-0003", "ix": 3, "v": { "a": 0, "k": 9, "ix": 3 } }, { "ty": 10, "nm": "Curve", "mn": "Pseudo/DUIK bezier ik layer-0004", "ix": 4, "v": { "a": 0, "k": 8, "ix": 4 } }, { "ty": 10, "nm": "End", "mn": "Pseudo/DUIK bezier ik layer-0005", "ix": 5, "v": { "a": 0, "k": 6, "ix": 5 } }, { "ty": 10, "nm": "Next", "mn": "Pseudo/DUIK bezier ik layer-0006", "ix": 6, "v": { "a": 0, "k": 6, "ix": 6 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK bezier ik layer-0007", "ix": 7, "v": 0 } ] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 22, "ty": 3, "nm": "S | Hips", "parent": 10, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 4.236, "ix": 10, "x": "var $bm_rt;\nvar W, FK, R;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n var C = ctrl.toWorld(ctrl.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var fx = ctrl.effect('IK | Hips');\n W = div(fx(2).value, 100);\n FK = fx(3).value;\n R = fx(6).value;\n var useIK = fx(1).value;\n var parentRot = fx(5).value;\n result = sum(value, FK);\n if (useIK) {\n var vec = R == 1 ? sub(O, C) : sub(C, O);\n var layer = thisLayer;\n if (layer.hasParent && parentRot)\n result = sum(result, layer.parent.rotation.value);\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, layer.rotation);\n }\n var angle = Math.atan2(vec[1], vec[0]);\n angle = radiansToDegrees(angle);\n angle = mul(angle, W);\n result = sum(result, angle);\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [0, 0, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 21, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.093999996781, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 9, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 25, "ty": 3, "nm": "S | Claws 4", "parent": 27, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -25.88, "ix": 10, "x": "var $bm_rt;\nvar W, FK, R;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n var C = ctrl.toWorld(ctrl.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var fx = ctrl.effect('IK | Claws');\n W = div(fx(2).value, 100);\n FK = fx(3).value;\n R = fx(6).value;\n var useIK = fx(1).value;\n var parentRot = fx(5).value;\n result = sum(value, FK);\n if (useIK) {\n var vec = R == 1 ? sub(O, C) : sub(C, O);\n var layer = thisLayer;\n if (layer.hasParent && parentRot)\n result = sum(result, layer.parent.rotation.value);\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, layer.rotation);\n }\n var angle = Math.atan2(vec[1], vec[0]);\n angle = radiansToDegrees(angle);\n angle = mul(angle, W);\n result = sum(result, angle);\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [106, 122, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 23, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.470999985933, 0.470999985933, 0.925000011921, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 23, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 27, "ty": 3, "nm": "S | Foot 2", "parent": 28, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -49.014, "ix": 10, "x": "var $bm_rt;\nvar W, FK, R;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK 2')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n var C = ctrl.toWorld(ctrl.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var fx = ctrl.effect('IK | Foot');\n W = div(fx(2).value, 100);\n FK = fx(3).value;\n R = fx(6).value;\n var useIK = fx(1).value;\n var parentRot = fx(5).value;\n result = sum(value, FK);\n if (useIK) {\n var vec = R == 1 ? sub(O, C) : sub(C, O);\n var layer = thisLayer;\n if (layer.hasParent && parentRot)\n result = sum(result, layer.parent.rotation.value);\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, layer.rotation);\n }\n var angle = Math.atan2(vec[1], vec[0]);\n angle = radiansToDegrees(angle);\n angle = mul(angle, W);\n result = sum(result, angle);\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [-12.5, 158.5, 0], "ix": 2, "x": "var $bm_rt;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n result = ctrl.effect('IK | Foot')(36).value;\n}\n$bm_rt = result;" }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 25, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 26, "ix": 1 } }] }, { "ty": 5, "nm": "IK 2", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 3, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 24, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 28, "ty": 3, "nm": "S | Calf 2", "parent": 29, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar IKFK, layer1, layer2;\nvar controller = null;\nvar result = value;\ntry {\n controller = effect('IK')(1);\n} catch (e) {\n}\nif (controller != null) {\n var fx = controller.effect('IK | Foot');\n IKFK = fx(1).value;\n layer1 = null;\n layer2 = thisLayer;\n try {\n layer1 = fx(27);\n } catch (e) {\n }\n if (layer1 != null) {\n function ik() {\n var endPos, cw, A, B, C, E, a, b, c, x, alpha, y, gamma, V1, adj1, V2, adj2, IK;\n endPos = fx(36).value;\n cw = fx(2).value;\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n A = getWorldPos(layer1);\n B = getWorldPos(layer2);\n C = layer2.toWorld(endPos);\n E = getWorldPos(controller);\n a = length(B, C);\n b = length(E, A);\n c = length(A, B);\n x = div(sub(sum(mul(b, b), mul(c, c)), mul(a, a)), mul(2, b));\n alpha = Math.acos(clamp(div(x, c), -1, 1));\n y = sub(b, x);\n gamma = Math.acos(clamp(div(y, a), -1, 1));\n result = mul(cw ? 1 : -1, radiansToDegrees(sum(gamma, alpha)));\n V1 = sub(B, A);\n adj1 = radiansToDegrees(Math.atan2(V1[1], V1[0]));\n V2 = sub(C, B);\n adj2 = radiansToDegrees(Math.atan2(V2[1], V2[0]));\n IK = sum(sub(sum(result, adj1), adj2), value);\n return IK;\n }\n function fk() {\n var FK;\n var ctrlRot = fx(6);\n var delay = fx(8).value;\n var amp = fx(7).value;\n var follow = fx(15).value;\n var ftEnabled = fx(4).value;\n if (!ftEnabled) {\n amp = 0;\n delay = 0;\n } else {\n delay = div(delay, 100);\n amp = div(amp, 100);\n }\n FK = ctrlRot.valueAtTime(sub(time, delay));\n if (follow && hasParent) {\n var cP = layer1;\n while (cP.hasParent) {\n cP = cP.parent;\n FK = sub(FK, sub(cP.rotation.value, cP.rotation.valueAtTime(sub(time, delay))));\n }\n }\n FK = sub(FK, ctrlRot.value);\n FK = mul(FK, amp);\n FK = sub(FK, mul(ctrlRot.velocity, div(delay, 5)));\n FK = sum(FK, fx(12).value);\n return FK;\n }\n result = IKFK ? ik() : fk();\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [-27, 176, 0], "ix": 2, "x": "var $bm_rt;\nvar fx, layer1, stretch, auto, IK, shrinkVal, dist1, dist2, IKLength, IKStretched, boneStretch, proportion, posC, posR, distC, shrinkMax, shrink, shrink, boneStretch, boneStretch, boneStretch, coef, coef, coef, coef;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n fx = ctrl.effect('IK | Foot');\n layer1 = null;\n result = [\n 211,\n 25\n ];\n try {\n layer1 = fx(27);\n } catch (e) {\n }\n if (layer1 != null) {\n stretch = fx(19).value;\n auto = fx(18).value;\n IK = fx(1).value;\n shrinkVal = div(fx(20).value, 100);\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n dist1 = fx(40).value;\n dist2 = fx(41).value;\n IKLength = sum(dist1, dist2);\n IKStretched = sum(IKLength, stretch);\n boneStretch = 0;\n proportion = div(dist1, IKLength);\n posC = getWorldPos(ctrl);\n posR = getWorldPos(layer1);\n distC = length(posC, posR);\n shrinkMax = mul(IKLength, shrinkVal);\n shrink = 0;\n if (distC < IKStretched && IK)\n shrink = sub(1, div(distC, IKStretched));\n boneStretch = sub(boneStretch, mul(easeOut(shrink, 0, shrinkMax), proportion));\n if (distC > IKStretched && auto && IK)\n boneStretch = sum(boneStretch, mul(sub(distC, IKLength), proportion));\n else\n boneStretch = sum(boneStretch, mul(stretch, proportion));\n coef = 1;\n dist1 != 0 ? coef = div(sum(dist1, boneStretch), dist1) : coef = 1;\n result = sum(mul(sub([\n -26.9999999999999,\n 176,\n 0\n ], [\n 0,\n 0,\n 0\n ]), coef), [\n 0,\n 0,\n 0\n ]);\n }\n}\n$bm_rt = result;" }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 27, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 26, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 29, "ty": 3, "nm": "S | Thigh 2", "parent": 22, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar IKFK;\nvar controller = null;\nvar result = value;\ntry {\n controller = effect('IK')(1);\n} catch (e) {\n}\nif (controller != null) {\n var fx = controller.effect('IK | Foot');\n IKFK = fx(1).value;\n function ik() {\n var layer1, layer2, endPos, limit, cw, A, C, B, E, a, b, c, x, alpha, D, delta, V, adj1, IK, IK;\n layer1 = thisLayer;\n layer2 = null;\n try {\n layer2 = fx(28);\n } catch (e) {\n return value;\n }\n if (layer2 != null) {\n endPos = fx(36).value;\n limit = fx(23).value;\n cw = fx(2).value;\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n A = getWorldPos(layer1);\n C = layer2.toWorld(endPos);\n B = getWorldPos(layer2);\n E = getWorldPos(controller);\n a = length(B, C);\n b = length(E, A);\n c = length(A, B);\n x = div(sub(sum(mul(b, b), mul(c, c)), mul(a, a)), mul(2, b));\n alpha = Math.acos(clamp(div(x, c), -1, 1));\n D = sub(E, A);\n delta = Math.atan2(D[1], D[0]);\n result = radiansToDegrees(sub(delta, mul(cw ? 1 : -1, alpha)));\n V = sub(B, A);\n adj1 = radiansToDegrees(Math.atan2(V[1], V[0]));\n IK = sum(sub(result, adj1), value);\n if (IK < limit)\n IK = sum(IK, 360);\n return IK;\n }\n }\n function fk() {\n var follow = fx(15).value;\n var FK = sum(fx(11).value, fx(6).value);\n var p = thisLayer;\n if (!follow) {\n while (p.hasParent) {\n p = p.parent;\n FK = sub(FK, p.rotation.value);\n }\n }\n return FK;\n }\n result = IKFK ? ik() : fk();\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [10, 51, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 28, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 26, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 32, "ty": 3, "nm": "S | Claws 3", "parent": 34, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -25.88, "ix": 10, "x": "var $bm_rt;\nvar W, FK, R;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n var C = ctrl.toWorld(ctrl.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var fx = ctrl.effect('IK | Claws');\n W = div(fx(2).value, 100);\n FK = fx(3).value;\n R = fx(6).value;\n var useIK = fx(1).value;\n var parentRot = fx(5).value;\n result = sum(value, FK);\n if (useIK) {\n var vec = R == 1 ? sub(O, C) : sub(C, O);\n var layer = thisLayer;\n if (layer.hasParent && parentRot)\n result = sum(result, layer.parent.rotation.value);\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, layer.rotation);\n }\n var angle = Math.atan2(vec[1], vec[0]);\n angle = radiansToDegrees(angle);\n angle = mul(angle, W);\n result = sum(result, angle);\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [106, 122, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 30, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.470999985933, 0.470999985933, 0.925000011921, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 30, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 34, "ty": 3, "nm": "S | Foot", "parent": 35, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -49.014, "ix": 10, "x": "var $bm_rt;\nvar W, FK, R;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK 2')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n var C = ctrl.toWorld(ctrl.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var fx = ctrl.effect('IK | Foot');\n W = div(fx(2).value, 100);\n FK = fx(3).value;\n R = fx(6).value;\n var useIK = fx(1).value;\n var parentRot = fx(5).value;\n result = sum(value, FK);\n if (useIK) {\n var vec = R == 1 ? sub(O, C) : sub(C, O);\n var layer = thisLayer;\n if (layer.hasParent && parentRot)\n result = sum(result, layer.parent.rotation.value);\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, layer.rotation);\n }\n var angle = Math.atan2(vec[1], vec[0]);\n angle = radiansToDegrees(angle);\n angle = mul(angle, W);\n result = sum(result, angle);\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [-12.5, 158.5, 0], "ix": 2, "x": "var $bm_rt;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n result = ctrl.effect('IK | Foot')(36).value;\n}\n$bm_rt = result;" }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 32, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 33, "ix": 1 } }] }, { "ty": 5, "nm": "IK 2", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 3, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 31, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 35, "ty": 3, "nm": "S | Calf", "parent": 36, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar IKFK, layer1, layer2;\nvar controller = null;\nvar result = value;\ntry {\n controller = effect('IK')(1);\n} catch (e) {\n}\nif (controller != null) {\n var fx = controller.effect('IK | Foot');\n IKFK = fx(1).value;\n layer1 = null;\n layer2 = thisLayer;\n try {\n layer1 = fx(27);\n } catch (e) {\n }\n if (layer1 != null) {\n function ik() {\n var endPos, cw, A, B, C, E, a, b, c, x, alpha, y, gamma, V1, adj1, V2, adj2, IK;\n endPos = fx(36).value;\n cw = fx(2).value;\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n A = getWorldPos(layer1);\n B = getWorldPos(layer2);\n C = layer2.toWorld(endPos);\n E = getWorldPos(controller);\n a = length(B, C);\n b = length(E, A);\n c = length(A, B);\n x = div(sub(sum(mul(b, b), mul(c, c)), mul(a, a)), mul(2, b));\n alpha = Math.acos(clamp(div(x, c), -1, 1));\n y = sub(b, x);\n gamma = Math.acos(clamp(div(y, a), -1, 1));\n result = mul(cw ? 1 : -1, radiansToDegrees(sum(gamma, alpha)));\n V1 = sub(B, A);\n adj1 = radiansToDegrees(Math.atan2(V1[1], V1[0]));\n V2 = sub(C, B);\n adj2 = radiansToDegrees(Math.atan2(V2[1], V2[0]));\n IK = sum(sub(sum(result, adj1), adj2), value);\n return IK;\n }\n function fk() {\n var FK;\n var ctrlRot = fx(6);\n var delay = fx(8).value;\n var amp = fx(7).value;\n var follow = fx(15).value;\n var ftEnabled = fx(4).value;\n if (!ftEnabled) {\n amp = 0;\n delay = 0;\n } else {\n delay = div(delay, 100);\n amp = div(amp, 100);\n }\n FK = ctrlRot.valueAtTime(sub(time, delay));\n if (follow && hasParent) {\n var cP = layer1;\n while (cP.hasParent) {\n cP = cP.parent;\n FK = sub(FK, sub(cP.rotation.value, cP.rotation.valueAtTime(sub(time, delay))));\n }\n }\n FK = sub(FK, ctrlRot.value);\n FK = mul(FK, amp);\n FK = sub(FK, mul(ctrlRot.velocity, div(delay, 5)));\n FK = sum(FK, fx(12).value);\n return FK;\n }\n result = IKFK ? ik() : fk();\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [-27, 176, 0], "ix": 2, "x": "var $bm_rt;\nvar fx, layer1, stretch, auto, IK, shrinkVal, dist1, dist2, IKLength, IKStretched, boneStretch, proportion, posC, posR, distC, shrinkMax, shrink, shrink, boneStretch, boneStretch, boneStretch, coef, coef, coef, coef;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n fx = ctrl.effect('IK | Foot');\n layer1 = null;\n result = [\n 211,\n 25\n ];\n try {\n layer1 = fx(27);\n } catch (e) {\n }\n if (layer1 != null) {\n stretch = fx(19).value;\n auto = fx(18).value;\n IK = fx(1).value;\n shrinkVal = div(fx(20).value, 100);\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n dist1 = fx(40).value;\n dist2 = fx(41).value;\n IKLength = sum(dist1, dist2);\n IKStretched = sum(IKLength, stretch);\n boneStretch = 0;\n proportion = div(dist1, IKLength);\n posC = getWorldPos(ctrl);\n posR = getWorldPos(layer1);\n distC = length(posC, posR);\n shrinkMax = mul(IKLength, shrinkVal);\n shrink = 0;\n if (distC < IKStretched && IK)\n shrink = sub(1, div(distC, IKStretched));\n boneStretch = sub(boneStretch, mul(easeOut(shrink, 0, shrinkMax), proportion));\n if (distC > IKStretched && auto && IK)\n boneStretch = sum(boneStretch, mul(sub(distC, IKLength), proportion));\n else\n boneStretch = sum(boneStretch, mul(stretch, proportion));\n coef = 1;\n dist1 != 0 ? coef = div(sum(dist1, boneStretch), dist1) : coef = 1;\n result = sum(mul(sub([\n -26.9999999999999,\n 176,\n 0\n ], [\n 0,\n 0,\n 0\n ]), coef), [\n 0,\n 0,\n 0\n ]);\n }\n}\n$bm_rt = result;" }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 34, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 33, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 36, "ty": 3, "nm": "S | Thigh", "parent": 22, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar IKFK;\nvar controller = null;\nvar result = value;\ntry {\n controller = effect('IK')(1);\n} catch (e) {\n}\nif (controller != null) {\n var fx = controller.effect('IK | Foot');\n IKFK = fx(1).value;\n function ik() {\n var layer1, layer2, endPos, limit, cw, A, C, B, E, a, b, c, x, alpha, D, delta, V, adj1, IK, IK;\n layer1 = thisLayer;\n layer2 = null;\n try {\n layer2 = fx(28);\n } catch (e) {\n return value;\n }\n if (layer2 != null) {\n endPos = fx(36).value;\n limit = fx(23).value;\n cw = fx(2).value;\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n A = getWorldPos(layer1);\n C = layer2.toWorld(endPos);\n B = getWorldPos(layer2);\n E = getWorldPos(controller);\n a = length(B, C);\n b = length(E, A);\n c = length(A, B);\n x = div(sub(sum(mul(b, b), mul(c, c)), mul(a, a)), mul(2, b));\n alpha = Math.acos(clamp(div(x, c), -1, 1));\n D = sub(E, A);\n delta = Math.atan2(D[1], D[0]);\n result = radiansToDegrees(sub(delta, mul(cw ? 1 : -1, alpha)));\n V = sub(B, A);\n adj1 = radiansToDegrees(Math.atan2(V[1], V[0]));\n IK = sum(sub(result, adj1), value);\n if (IK < limit)\n IK = sum(IK, 360);\n return IK;\n }\n }\n function fk() {\n var follow = fx(15).value;\n var FK = sum(fx(11).value, fx(6).value);\n var p = thisLayer;\n if (!follow) {\n while (p.hasParent) {\n p = p.parent;\n FK = sub(FK, p.rotation.value);\n }\n }\n return FK;\n }\n result = IKFK ? ik() : fk();\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [10, 51, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 35, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 33, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 39, "ty": 3, "nm": "S | Claws 2", "parent": 41, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -21.347, "ix": 10, "x": "var $bm_rt;\nvar W, FK, R;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n var C = ctrl.toWorld(ctrl.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var fx = ctrl.effect('IK | Claws');\n W = div(fx(2).value, 100);\n FK = fx(3).value;\n R = fx(6).value;\n var useIK = fx(1).value;\n var parentRot = fx(5).value;\n result = sum(value, FK);\n if (useIK) {\n var vec = R == 1 ? sub(O, C) : sub(C, O);\n var layer = thisLayer;\n if (layer.hasParent && parentRot)\n result = sum(result, layer.parent.rotation.value);\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, layer.rotation);\n }\n var angle = Math.atan2(vec[1], vec[0]);\n angle = radiansToDegrees(angle);\n angle = mul(angle, W);\n result = sum(result, angle);\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [53.5, 233.75, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 37, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.470999985933, 0.470999985933, 0.925000011921, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 37, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 41, "ty": 3, "nm": "S | Hand 2", "parent": 42, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -77.108, "ix": 10, "x": "var $bm_rt;\nvar W, FK, R;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK 2')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n var C = ctrl.toWorld(ctrl.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var fx = ctrl.effect('IK | Hand');\n W = div(fx(2).value, 100);\n FK = fx(3).value;\n R = fx(6).value;\n var useIK = fx(1).value;\n var parentRot = fx(5).value;\n result = sum(value, FK);\n if (useIK) {\n var vec = R == 1 ? sub(O, C) : sub(C, O);\n var layer = thisLayer;\n if (layer.hasParent && parentRot)\n result = sum(result, layer.parent.rotation.value);\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, layer.rotation);\n }\n var angle = Math.atan2(vec[1], vec[0]);\n angle = radiansToDegrees(angle);\n angle = mul(angle, W);\n result = sum(result, angle);\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [-51.111, 194.944, 0], "ix": 2, "x": "var $bm_rt;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n result = ctrl.effect('IK | Hand')(36).value;\n}\n$bm_rt = result;" }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 39, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 40, "ix": 1 } }] }, { "ty": 5, "nm": "IK 2", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 3, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 38, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 42, "ty": 3, "nm": "S | Forearm 2", "parent": 43, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar IKFK, layer1, layer2;\nvar controller = null;\nvar result = value;\ntry {\n controller = effect('IK')(1);\n} catch (e) {\n}\nif (controller != null) {\n var fx = controller.effect('IK | Hand');\n IKFK = fx(1).value;\n layer1 = null;\n layer2 = thisLayer;\n try {\n layer1 = fx(27);\n } catch (e) {\n }\n if (layer1 != null) {\n function ik() {\n var endPos, cw, A, B, C, E, a, b, c, x, alpha, y, gamma, V1, adj1, V2, adj2, IK;\n endPos = fx(36).value;\n cw = fx(2).value;\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n A = getWorldPos(layer1);\n B = getWorldPos(layer2);\n C = layer2.toWorld(endPos);\n E = getWorldPos(controller);\n a = length(B, C);\n b = length(E, A);\n c = length(A, B);\n x = div(sub(sum(mul(b, b), mul(c, c)), mul(a, a)), mul(2, b));\n alpha = Math.acos(clamp(div(x, c), -1, 1));\n y = sub(b, x);\n gamma = Math.acos(clamp(div(y, a), -1, 1));\n result = mul(cw ? 1 : -1, radiansToDegrees(sum(gamma, alpha)));\n V1 = sub(B, A);\n adj1 = radiansToDegrees(Math.atan2(V1[1], V1[0]));\n V2 = sub(C, B);\n adj2 = radiansToDegrees(Math.atan2(V2[1], V2[0]));\n IK = sum(sub(sum(result, adj1), adj2), value);\n return IK;\n }\n function fk() {\n var FK;\n var ctrlRot = fx(6);\n var delay = fx(8).value;\n var amp = fx(7).value;\n var follow = fx(15).value;\n var ftEnabled = fx(4).value;\n if (!ftEnabled) {\n amp = 0;\n delay = 0;\n } else {\n delay = div(delay, 100);\n amp = div(amp, 100);\n }\n FK = ctrlRot.valueAtTime(sub(time, delay));\n if (follow && hasParent) {\n var cP = layer1;\n while (cP.hasParent) {\n cP = cP.parent;\n FK = sub(FK, sub(cP.rotation.value, cP.rotation.valueAtTime(sub(time, delay))));\n }\n }\n FK = sub(FK, ctrlRot.value);\n FK = mul(FK, amp);\n FK = sub(FK, mul(ctrlRot.velocity, div(delay, 5)));\n FK = sum(FK, fx(12).value);\n return FK;\n }\n result = IKFK ? ik() : fk();\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [-34, 46, 0], "ix": 2, "x": "var $bm_rt;\nvar fx, layer1, stretch, auto, IK, shrinkVal, dist1, dist2, IKLength, IKStretched, boneStretch, proportion, posC, posR, distC, shrinkMax, shrink, shrink, boneStretch, boneStretch, boneStretch, coef, coef, coef, coef;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n fx = ctrl.effect('IK | Hand');\n layer1 = null;\n result = [\n 211,\n 25\n ];\n try {\n layer1 = fx(27);\n } catch (e) {\n }\n if (layer1 != null) {\n stretch = fx(19).value;\n auto = fx(18).value;\n IK = fx(1).value;\n shrinkVal = div(fx(20).value, 100);\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n dist1 = fx(40).value;\n dist2 = fx(41).value;\n IKLength = sum(dist1, dist2);\n IKStretched = sum(IKLength, stretch);\n boneStretch = 0;\n proportion = div(dist1, IKLength);\n posC = getWorldPos(ctrl);\n posR = getWorldPos(layer1);\n distC = length(posC, posR);\n shrinkMax = mul(IKLength, shrinkVal);\n shrink = 0;\n if (distC < IKStretched && IK)\n shrink = sub(1, div(distC, IKStretched));\n boneStretch = sub(boneStretch, mul(easeOut(shrink, 0, shrinkMax), proportion));\n if (distC > IKStretched && auto && IK)\n boneStretch = sum(boneStretch, mul(sub(distC, IKLength), proportion));\n else\n boneStretch = sum(boneStretch, mul(stretch, proportion));\n coef = 1;\n dist1 != 0 ? coef = div(sum(dist1, boneStretch), dist1) : coef = 1;\n result = sum(mul(sub([\n -34,\n 46,\n 0\n ], [\n 0,\n 0,\n 0\n ]), coef), [\n 0,\n 0,\n 0\n ]);\n }\n}\n$bm_rt = result;" }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 41, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 40, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 43, "ty": 3, "nm": "S | Arm 2", "parent": 20, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar IKFK;\nvar controller = null;\nvar result = value;\ntry {\n controller = effect('IK')(1);\n} catch (e) {\n}\nif (controller != null) {\n var fx = controller.effect('IK | Hand');\n IKFK = fx(1).value;\n function ik() {\n var layer1, layer2, endPos, limit, cw, A, C, B, E, a, b, c, x, alpha, D, delta, V, adj1, IK, IK;\n layer1 = thisLayer;\n layer2 = null;\n try {\n layer2 = fx(28);\n } catch (e) {\n return value;\n }\n if (layer2 != null) {\n endPos = fx(36).value;\n limit = fx(23).value;\n cw = fx(2).value;\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n A = getWorldPos(layer1);\n C = layer2.toWorld(endPos);\n B = getWorldPos(layer2);\n E = getWorldPos(controller);\n a = length(B, C);\n b = length(E, A);\n c = length(A, B);\n x = div(sub(sum(mul(b, b), mul(c, c)), mul(a, a)), mul(2, b));\n alpha = Math.acos(clamp(div(x, c), -1, 1));\n D = sub(E, A);\n delta = Math.atan2(D[1], D[0]);\n result = radiansToDegrees(sub(delta, mul(cw ? 1 : -1, alpha)));\n V = sub(B, A);\n adj1 = radiansToDegrees(Math.atan2(V[1], V[0]));\n IK = sum(sub(result, adj1), value);\n if (IK < limit)\n IK = sum(IK, 360);\n return IK;\n }\n }\n function fk() {\n var follow = fx(15).value;\n var FK = sum(fx(11).value, fx(6).value);\n var p = thisLayer;\n if (!follow) {\n while (p.hasParent) {\n p = p.parent;\n FK = sub(FK, p.rotation.value);\n }\n }\n return FK;\n }\n result = IKFK ? ik() : fk();\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [307.69, 68.919, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 42, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 40, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 46, "ty": 3, "nm": "S | Claws", "parent": 48, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -21.347, "ix": 10, "x": "var $bm_rt;\nvar W, FK, R;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n var C = ctrl.toWorld(ctrl.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var fx = ctrl.effect('IK | Claws');\n W = div(fx(2).value, 100);\n FK = fx(3).value;\n R = fx(6).value;\n var useIK = fx(1).value;\n var parentRot = fx(5).value;\n result = sum(value, FK);\n if (useIK) {\n var vec = R == 1 ? sub(O, C) : sub(C, O);\n var layer = thisLayer;\n if (layer.hasParent && parentRot)\n result = sum(result, layer.parent.rotation.value);\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, layer.rotation);\n }\n var angle = Math.atan2(vec[1], vec[0]);\n angle = radiansToDegrees(angle);\n angle = mul(angle, W);\n result = sum(result, angle);\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [53.5, 233.75, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 44, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.470999985933, 0.470999985933, 0.925000011921, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 44, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 48, "ty": 3, "nm": "S | Hand", "parent": 49, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": -77.108, "ix": 10, "x": "var $bm_rt;\nvar W, FK, R;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK 2')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n var C = ctrl.toWorld(ctrl.anchorPoint);\n var O = thisLayer.toWorld(thisLayer.anchorPoint);\n var fx = ctrl.effect('IK | Hand');\n W = div(fx(2).value, 100);\n FK = fx(3).value;\n R = fx(6).value;\n var useIK = fx(1).value;\n var parentRot = fx(5).value;\n result = sum(value, FK);\n if (useIK) {\n var vec = R == 1 ? sub(O, C) : sub(C, O);\n var layer = thisLayer;\n if (layer.hasParent && parentRot)\n result = sum(result, layer.parent.rotation.value);\n while (layer.hasParent) {\n layer = layer.parent;\n result = sub(result, layer.rotation);\n }\n var angle = Math.atan2(vec[1], vec[0]);\n angle = radiansToDegrees(angle);\n angle = mul(angle, W);\n result = sum(result, angle);\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [-51.111, 194.944, 0], "ix": 2, "x": "var $bm_rt;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n result = ctrl.effect('IK | Hand')(36).value;\n}\n$bm_rt = result;" }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 46, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 47, "ix": 1 } }] }, { "ty": 5, "nm": "IK 2", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 3, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 45, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 49, "ty": 3, "nm": "S | Forearm", "parent": 50, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar IKFK, layer1, layer2;\nvar controller = null;\nvar result = value;\ntry {\n controller = effect('IK')(1);\n} catch (e) {\n}\nif (controller != null) {\n var fx = controller.effect('IK | Hand');\n IKFK = fx(1).value;\n layer1 = null;\n layer2 = thisLayer;\n try {\n layer1 = fx(27);\n } catch (e) {\n }\n if (layer1 != null) {\n function ik() {\n var endPos, cw, A, B, C, E, a, b, c, x, alpha, y, gamma, V1, adj1, V2, adj2, IK;\n endPos = fx(36).value;\n cw = fx(2).value;\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n A = getWorldPos(layer1);\n B = getWorldPos(layer2);\n C = layer2.toWorld(endPos);\n E = getWorldPos(controller);\n a = length(B, C);\n b = length(E, A);\n c = length(A, B);\n x = div(sub(sum(mul(b, b), mul(c, c)), mul(a, a)), mul(2, b));\n alpha = Math.acos(clamp(div(x, c), -1, 1));\n y = sub(b, x);\n gamma = Math.acos(clamp(div(y, a), -1, 1));\n result = mul(cw ? 1 : -1, radiansToDegrees(sum(gamma, alpha)));\n V1 = sub(B, A);\n adj1 = radiansToDegrees(Math.atan2(V1[1], V1[0]));\n V2 = sub(C, B);\n adj2 = radiansToDegrees(Math.atan2(V2[1], V2[0]));\n IK = sum(sub(sum(result, adj1), adj2), value);\n return IK;\n }\n function fk() {\n var FK;\n var ctrlRot = fx(6);\n var delay = fx(8).value;\n var amp = fx(7).value;\n var follow = fx(15).value;\n var ftEnabled = fx(4).value;\n if (!ftEnabled) {\n amp = 0;\n delay = 0;\n } else {\n delay = div(delay, 100);\n amp = div(amp, 100);\n }\n FK = ctrlRot.valueAtTime(sub(time, delay));\n if (follow && hasParent) {\n var cP = layer1;\n while (cP.hasParent) {\n cP = cP.parent;\n FK = sub(FK, sub(cP.rotation.value, cP.rotation.valueAtTime(sub(time, delay))));\n }\n }\n FK = sub(FK, ctrlRot.value);\n FK = mul(FK, amp);\n FK = sub(FK, mul(ctrlRot.velocity, div(delay, 5)));\n FK = sum(FK, fx(12).value);\n return FK;\n }\n result = IKFK ? ik() : fk();\n }\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [-34, 46, 0], "ix": 2, "x": "var $bm_rt;\nvar fx, layer1, stretch, auto, IK, shrinkVal, dist1, dist2, IKLength, IKStretched, boneStretch, proportion, posC, posR, distC, shrinkMax, shrink, shrink, boneStretch, boneStretch, boneStretch, coef, coef, coef, coef;\nvar ctrl = null;\nvar result = value;\ntry {\n ctrl = effect('IK')(1);\n} catch (e) {\n value;\n}\n;\nif (ctrl != null) {\n fx = ctrl.effect('IK | Hand');\n layer1 = null;\n result = [\n 211,\n 25\n ];\n try {\n layer1 = fx(27);\n } catch (e) {\n }\n if (layer1 != null) {\n stretch = fx(19).value;\n auto = fx(18).value;\n IK = fx(1).value;\n shrinkVal = div(fx(20).value, 100);\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n dist1 = fx(40).value;\n dist2 = fx(41).value;\n IKLength = sum(dist1, dist2);\n IKStretched = sum(IKLength, stretch);\n boneStretch = 0;\n proportion = div(dist1, IKLength);\n posC = getWorldPos(ctrl);\n posR = getWorldPos(layer1);\n distC = length(posC, posR);\n shrinkMax = mul(IKLength, shrinkVal);\n shrink = 0;\n if (distC < IKStretched && IK)\n shrink = sub(1, div(distC, IKStretched));\n boneStretch = sub(boneStretch, mul(easeOut(shrink, 0, shrinkMax), proportion));\n if (distC > IKStretched && auto && IK)\n boneStretch = sum(boneStretch, mul(sub(distC, IKLength), proportion));\n else\n boneStretch = sum(boneStretch, mul(stretch, proportion));\n coef = 1;\n dist1 != 0 ? coef = div(sum(dist1, boneStretch), dist1) : coef = 1;\n result = sum(mul(sub([\n -34,\n 46,\n 0\n ], [\n 0,\n 0,\n 0\n ]), coef), [\n 0,\n 0,\n 0\n ]);\n }\n}\n$bm_rt = result;" }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 48, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 47, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 50, "ty": 3, "nm": "S | Arm", "parent": 20, "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10, "x": "var $bm_rt;\nvar IKFK;\nvar controller = null;\nvar result = value;\ntry {\n controller = effect('IK')(1);\n} catch (e) {\n}\nif (controller != null) {\n var fx = controller.effect('IK | Hand');\n IKFK = fx(1).value;\n function ik() {\n var layer1, layer2, endPos, limit, cw, A, C, B, E, a, b, c, x, alpha, D, delta, V, adj1, IK, IK;\n layer1 = thisLayer;\n layer2 = null;\n try {\n layer2 = fx(28);\n } catch (e) {\n return value;\n }\n if (layer2 != null) {\n endPos = fx(36).value;\n limit = fx(23).value;\n cw = fx(2).value;\n function getWorldPos(L) {\n return L.toWorld(L.anchorPoint);\n }\n A = getWorldPos(layer1);\n C = layer2.toWorld(endPos);\n B = getWorldPos(layer2);\n E = getWorldPos(controller);\n a = length(B, C);\n b = length(E, A);\n c = length(A, B);\n x = div(sub(sum(mul(b, b), mul(c, c)), mul(a, a)), mul(2, b));\n alpha = Math.acos(clamp(div(x, c), -1, 1));\n D = sub(E, A);\n delta = Math.atan2(D[1], D[0]);\n result = radiansToDegrees(sub(delta, mul(cw ? 1 : -1, alpha)));\n V = sub(B, A);\n adj1 = radiansToDegrees(Math.atan2(V[1], V[0]));\n IK = sum(sub(result, adj1), value);\n if (IK < limit)\n IK = sum(IK, 360);\n return IK;\n }\n }\n function fk() {\n var follow = fx(15).value;\n var FK = sum(fx(11).value, fx(6).value);\n var p = thisLayer;\n if (!follow) {\n while (p.hasParent) {\n p = p.parent;\n FK = sub(FK, p.rotation.value);\n }\n }\n return FK;\n }\n result = IKFK ? ik() : fk();\n}\n$bm_rt = result;" }, "p": { "a": 0, "k": [307.69, 68.919, 0], "ix": 2 }, "a": { "a": 0, "k": [0, 0, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 5, "nm": "Structure", "np": 7, "mn": "Pseudo/DUIK structure", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } }, { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 49, "ix": 3 } }, { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK structure-0004", "ix": 4, "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 } }, { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 } ] }, { "ty": 5, "nm": "IK", "np": 3, "mn": "Pseudo/DUIK ik", "ix": 2, "en": 1, "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 47, "ix": 1 } }] } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 52, "ty": 2, "nm": "dog ear 1", "parent": 62, "refId": "image_0", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [67.5, 108, 0], "ix": 2 }, "a": { "a": 0, "k": [117.5, 184, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 53, "ty": 2, "nm": "dog collar bell", "parent": 54, "refId": "image_1", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [240.5, 40.5, 0], "ix": 2 }, "a": { "a": 0, "k": [12.5, 19.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 54, "ty": 2, "nm": "dog collar", "parent": 64, "refId": "image_2", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [172.5, 386, 0], "ix": 2 }, "a": { "a": 0, "k": [131.5, 35, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 55, "ty": 2, "nm": "left forearm pattern", "parent": 56, "refId": "image_3", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [105.5, 187.5, 0], "ix": 2 }, "a": { "a": 0, "k": [81.5, 137.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 56, "ty": 2, "nm": "left forearm", "parent": 49, "refId": "image_4", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [-7.5, 81.5, 0], "ix": 2 }, "a": { "a": 0, "k": [102.5, 172.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 57, "ty": 2, "nm": "left paw", "parent": 46, "refId": "image_5", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [14.611, -1.194, 0], "ix": 2 }, "a": { "a": 0, "k": [48, 29.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 58, "ty": 2, "nm": "left hand pattern", "parent": 59, "refId": "image_6", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [92, 203.5, 0], "ix": 2 }, "a": { "a": 0, "k": [35.5, 41, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 59, "ty": 2, "nm": "left hand", "parent": 48, "refId": "image_7", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [13.611, 98.556, 0], "ix": 2 }, "a": { "a": 0, "k": [74, 161, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 60, "ty": 2, "nm": "dog head pattern", "parent": 62, "refId": "image_8", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [314, 161, 0], "ix": 2 }, "a": { "a": 0, "k": [179, 133, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "hasMask": true, "masksProperties": [ { "inv": true, "mode": "a", "pt": { "a": 0, "k": { "i": [ [0, 0], [0, 0], [0, 0], [0, 0], [1.5, 0] ], "o": [ [0, 0], [0, 0], [0, 0], [0, 0], [-1.5, 0] ], "v": [ [242, 187], [188, 205.5], [128.5, 265], [163.5, 283], [260, 214] ], "c": true }, "ix": 1 }, "o": { "a": 0, "k": 100, "ix": 3 }, "x": { "a": 0, "k": 0, "ix": 4 }, "nm": "Mask 1" } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 61, "ty": 2, "nm": "dog mouth pattern", "parent": 63, "refId": "image_8", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [314, 161, 0], "ix": 2 }, "a": { "a": 0, "k": [179, 133, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "hasMask": true, "masksProperties": [ { "inv": false, "mode": "a", "pt": { "a": 0, "k": { "i": [ [0, 0], [0, 0], [0, 0], [0, 0], [0, 0] ], "o": [ [0, 0], [0, 0], [0, 0], [0, 0], [0, 0] ], "v": [ [211, 199.5], [161, 222], [140, 261], [179.5, 271.5], [244, 209] ], "c": true }, "ix": 1 }, "o": { "a": 0, "k": 100, "ix": 3 }, "x": { "a": 0, "k": 0, "ix": 4 }, "nm": "Mask 1" } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 62, "ty": 2, "nm": "dog head", "parent": 18, "refId": "image_9", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [7, 0, 0], "ix": 2 }, "a": { "a": 0, "k": [180, 180, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "hasMask": true, "masksProperties": [ { "inv": true, "mode": "a", "pt": { "a": 0, "k": { "i": [ [13.5, 0], [5.5, -20], [0, 0], [0, 0], [0, 0] ], "o": [ [-13.5, 0], [-5.5, 20], [0, 0], [0, 0], [0, 0] ], "v": [ [342.5, 214.5], [303, 256.5], [352.5, 293], [495.5, 354.5], [490, 229.5] ], "c": true }, "ix": 1 }, "o": { "a": 0, "k": 100, "ix": 3 }, "x": { "a": 0, "k": 0, "ix": 4 }, "nm": "Mask 1" }, { "inv": true, "mode": "s", "pt": { "a": 0, "k": { "i": [ [0, 0], [0, 0], [0, 0], [-143, 18], [0, 0], [0, 0], [77, 50] ], "o": [ [0, 0], [0, 0], [0, 0], [143, -18], [0, 0], [0, 0], [-77, -50] ], "v": [ [369, -22], [25, 1], [11, 188], [173, 341], [312, 305], [571, 281], [617, 77] ], "c": true }, "ix": 1 }, "o": { "a": 0, "k": 100, "ix": 3 }, "x": { "a": 0, "k": 0, "ix": 4 }, "nm": "Mask 2" } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 63, "ty": 2, "nm": "dog mouth", "parent": 62, "refId": "image_9", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 1, "k": [ { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 80, "s": [0], "e": [24.598] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 85, "s": [24.598], "e": [0] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 90, "s": [0], "e": [0] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 111, "s": [0], "e": [24.598] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 121, "s": [24.598], "e": [0] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 125, "s": [0], "e": [24.598] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 132, "s": [24.598], "e": [11.853] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 140, "s": [11.853], "e": [4.26] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 143, "s": [4.26], "e": [11.853] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 146, "s": [11.853], "e": [4.26] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 149, "s": [4.26], "e": [11.853] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 152, "s": [11.853], "e": [4.26] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 155, "s": [4.26], "e": [11.853] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 158, "s": [11.853], "e": [4.26] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 161, "s": [4.26], "e": [11.853] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 164, "s": [11.853], "e": [4.26] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 167, "s": [4.26], "e": [11.853] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 170, "s": [11.853], "e": [4.26] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 173, "s": [4.26], "e": [11.853] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 176, "s": [11.853], "e": [4.26] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 179, "s": [4.26], "e": [11.853] }, { "i": { "x": [0.833], "y": [0.833] }, "o": { "x": [0.167], "y": [0.167] }, "n": ["0p833_0p833_0p167_0p167"], "t": 182, "s": [11.853], "e": [4.26] }, { "t": 185 } ], "ix": 10 }, "p": { "a": 0, "k": [273, 206.5, 0], "ix": 2 }, "a": { "a": 0, "k": [273, 206.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "hasMask": true, "masksProperties": [ { "inv": false, "mode": "a", "pt": { "a": 0, "k": { "i": [ [13.5, 0], [-2.882, 27.181], [2.756, -10.022], [0, 0], [-28.137, 26.629], [0, 0], [0, 0] ], "o": [ [-6.735, 0], [2.418, -22.799], [-5.5, 20], [0, 0], [28.137, -26.629], [0, 0], [0, 0] ], "v": [ [374, 214.5], [347.382, 187.819], [246.5, 180.5], [226, 328.5], [306.863, 310.629], [495.5, 354.5], [490, 229.5] ], "c": true }, "ix": 1 }, "o": { "a": 0, "k": 100, "ix": 3 }, "x": { "a": 0, "k": 0, "ix": 4 }, "nm": "Mask 1" } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 64, "ty": 2, "nm": "dog neck", "parent": 19, "refId": "image_9", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [-18, -8, 0], "ix": 2 }, "a": { "a": 0, "k": [155, 473, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "hasMask": true, "masksProperties": [ { "inv": false, "mode": "a", "pt": { "a": 0, "k": { "i": [ [54.326, -1.283], [-5.299, -26.494], [-6.271, -32.206], [0, 0], [0, 0], [0, 0], [5.87, 116.413], [-6.8, 19.432], [4.09, 8.393] ], "o": [ [-127, 3], [4.446, 22.232], [2.191, 11.253], [0, 0], [0, 0], [0, 0], [-1.052, -20.857], [7.365, -21.045], [-24.026, -49.296] ], "v": [ [165, 81], [25, 220], [48.401, 339.506], [40, 555], [181.004, 632.072], [297, 543], [293.771, 343.86], [317.635, 272.045], [263.026, 163.296] ], "c": true }, "ix": 1 }, "o": { "a": 0, "k": 100, "ix": 3 }, "x": { "a": 0, "k": 0, "ix": 4 }, "nm": "Mask 2" } ], "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 65, "ty": 2, "nm": "dog ear 2", "parent": 62, "refId": "image_10", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [117, 97.5, 0], "ix": 2 }, "a": { "a": 0, "k": [118, 201.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 66, "ty": 2, "nm": "left thigh pattern", "parent": 67, "refId": "image_11", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [181.5, 184.5, 0], "ix": 2 }, "a": { "a": 0, "k": [144.5, 145.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 67, "ty": 2, "nm": "left thigh", "parent": 36, "refId": "image_12", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [6, 42.5, 0], "ix": 2 }, "a": { "a": 0, "k": [187, 228.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 68, "ty": 2, "nm": "left calf", "parent": 35, "refId": "image_13", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [-1, 71.5, 0], "ix": 2 }, "a": { "a": 0, "k": [53, 123.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 69, "ty": 2, "nm": "left foot", "parent": 34, "refId": "image_14", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [47.5, 56, 0], "ix": 2 }, "a": { "a": 0, "k": [81, 89.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 70, "ty": 2, "nm": "left foot paw", "parent": 32, "refId": "image_15", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [13, 0.5, 0], "ix": 2 }, "a": { "a": 0, "k": [46.5, 29, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 74, "ty": 0, "nm": "Body Precomp", "refId": "comp_1", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [896, 1220, 0], "ix": 2 }, "a": { "a": 0, "k": [400, 225, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 34, "nm": "Puppet", "np": 5, "mn": "ADBE FreePin3", "ix": 1, "en": 1, "ef": [ { "ty": 7, "nm": "Puppet Engine", "mn": "ADBE FreePin3 Puppet Engine", "ix": 1, "v": { "a": 0, "k": 1, "ix": 1 } }, { "ty": 7, "nm": "On Transparent", "mn": "ADBE FreePin3 On Transparent", "ix": 2, "v": { "a": 0, "k": 0, "ix": 2 } }, { "ty": 30, "nm": "arap", "np": 3, "mn": "ADBE FreePin3 ARAP Group", "ix": 3, "en": 1, "ef": [ { "ty": 6, "nm": "Auto-traced Shapes", "mn": "ADBE FreePin3 Outlines", "ix": 1, "v": 0 }, { "ty": 1, "nm": "Mesh", "np": 2, "mn": "ADBE FreePin3 Mesh Group", "ix": 2, "en": 1, "ef": [ { "nm": "Mesh 1", "np": 7, "mn": "ADBE FreePin3 Mesh Atom", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Mesh", "mn": "ADBE FreePin3 Mesh", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Triangles", "mn": "ADBE FreePin3 Mesh Tri Count", "ix": 2, "v": { "a": 0, "k": 500, "ix": 2 } }, { "ty": 0, "nm": "Expansion", "mn": "ADBE FreePin3 Mesh Expansion", "ix": 3, "v": { "a": 0, "k": 10, "ix": 3 } }, { "nm": "Deform", "np": 4, "mn": "ADBE FreePin3 PosPins", "ix": 4, "en": 1, "ef": [ { "nm": "Neck", "np": 7, "mn": "ADBE FreePin3 PosPin Atom", "ix": 1, "en": 1, "ef": [ { "ty": 3, "nm": "Vertex Offset", "mn": "ADBE FreePin3 PosPin Vtx Offset", "ix": 1, "v": { "a": 0, "k": [-18.494, 1.353], "ix": 1 } }, { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 143, "ix": 2 } }, { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } }, { "ty": 3, "nm": "Position", "mn": "ADBE FreePin3 PosPin Position", "ix": 4, "v": { "a": 0, "k": [669, 130], "ix": 4, "x": "var $bm_rt;\nvar l = null;\ntry {\n l = effect('B | Neck - 3')(1);\n} catch (e) {\n}\n;\nvar result = value;\nif (l != null) {\n result = l.toWorld(l.anchorPoint);\n result = fromWorld(result);\n}\n$bm_rt = result;" } }, { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } }, { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } } ] }, { "nm": "Spine 2", "np": 7, "mn": "ADBE FreePin3 PosPin Atom", "ix": 2, "en": 1, "ef": [ { "ty": 3, "nm": "Vertex Offset", "mn": "ADBE FreePin3 PosPin Vtx Offset", "ix": 1, "v": { "a": 0, "k": [2.836, -1.033], "ix": 1 } }, { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 202, "ix": 2 } }, { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } }, { "ty": 3, "nm": "Position", "mn": "ADBE FreePin3 PosPin Position", "ix": 4, "v": { "a": 0, "k": [397, 278], "ix": 4, "x": "var $bm_rt;\nvar l = null;\ntry {\n l = effect('B | Spine 2 - 3')(1);\n} catch (e) {\n}\n;\nvar result = value;\nif (l != null) {\n result = l.toWorld(l.anchorPoint);\n result = fromWorld(result);\n}\n$bm_rt = result;" } }, { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } }, { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } } ] }, { "nm": "Spine", "np": 7, "mn": "ADBE FreePin3 PosPin Atom", "ix": 3, "en": 1, "ef": [ { "ty": 3, "nm": "Vertex Offset", "mn": "ADBE FreePin3 PosPin Vtx Offset", "ix": 1, "v": { "a": 0, "k": [-1.052, 1.732], "ix": 1 } }, { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 218, "ix": 2 } }, { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } }, { "ty": 3, "nm": "Position", "mn": "ADBE FreePin3 PosPin Position", "ix": 4, "v": { "a": 0, "k": [134, 142], "ix": 4, "x": "var $bm_rt;\nvar l = null;\ntry {\n l = effect('B | Spine - 3')(1);\n} catch (e) {\n}\n;\nvar result = value;\nif (l != null) {\n result = l.toWorld(l.anchorPoint);\n result = fromWorld(result);\n}\n$bm_rt = result;" } }, { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } }, { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } } ] } ] }, { "nm": "Overlap", "np": 1, "mn": "ADBE FreePin3 HghtPins", "ix": 5, "en": 1, "ef": [] }, { "nm": "Stiffness", "np": 1, "mn": "ADBE FreePin3 StarchPins", "ix": 6, "en": 1, "ef": [] } ] } ] } ] } ] }, { "ty": 5, "nm": "B | Neck - 3", "np": 4, "mn": "Pseudo/DUIK bone linker", "ix": 2, "en": 1, "ef": [ { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 71, "ix": 1 } }, { "ty": 2, "nm": "Bone color", "mn": "Pseudo/DUIK bone linker-0002", "ix": 2, "v": { "a": 0, "k": [0.925490196078, 0.094117647059, 0.094117647059, 1], "ix": 2, "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Neck - 3')(1).effect('Bone')(1);\n} catch (e) {\n}" } } ] }, { "ty": 5, "nm": "B | Spine 2 - 3", "np": 4, "mn": "Pseudo/DUIK bone linker", "ix": 3, "en": 1, "ef": [ { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 72, "ix": 1 } }, { "ty": 2, "nm": "Bone color", "mn": "Pseudo/DUIK bone linker-0002", "ix": 2, "v": { "a": 0, "k": [0.925490196078, 0.094117647059, 0.094117647059, 1], "ix": 2, "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Spine 2 - 3')(1).effect('Bone')(1);\n} catch (e) {\n}" } } ] }, { "ty": 5, "nm": "B | Spine - 3", "np": 4, "mn": "Pseudo/DUIK bone linker", "ix": 4, "en": 1, "ef": [ { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 73, "ix": 1 } }, { "ty": 2, "nm": "Bone color", "mn": "Pseudo/DUIK bone linker-0002", "ix": 2, "v": { "a": 0, "k": [0.925490196078, 0.094117647059, 0.094117647059, 1], "ix": 2, "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Spine - 3')(1).effect('Bone')(1);\n} catch (e) {\n}" } } ] } ], "w": 800, "h": 450, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 75, "ty": 2, "nm": "right forearm pattern", "parent": 76, "refId": "image_3", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [105.5, 187.5, 0], "ix": 2 }, "a": { "a": 0, "k": [81.5, 137.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 76, "ty": 2, "nm": "right forearm", "parent": 42, "refId": "image_4", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [-7.5, 81.5, 0], "ix": 2 }, "a": { "a": 0, "k": [102.5, 172.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 77, "ty": 2, "nm": "right paw", "parent": 39, "refId": "image_5", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [14.611, -1.194, 0], "ix": 2 }, "a": { "a": 0, "k": [48, 29.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 78, "ty": 2, "nm": "right hand pattern", "parent": 79, "refId": "image_6", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [92, 203.5, 0], "ix": 2 }, "a": { "a": 0, "k": [35.5, 41, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 79, "ty": 2, "nm": "right hand", "parent": 41, "refId": "image_7", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [13.611, 98.556, 0], "ix": 2 }, "a": { "a": 0, "k": [74, 161, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 80, "ty": 2, "nm": "right thigh", "parent": 29, "refId": "image_12", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [6, 42.5, 0], "ix": 2 }, "a": { "a": 0, "k": [187, 228.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 81, "ty": 2, "nm": "right calf", "parent": 28, "refId": "image_13", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [-1, 71.5, 0], "ix": 2 }, "a": { "a": 0, "k": [53, 123.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 82, "ty": 2, "nm": "right foot", "parent": 27, "refId": "image_14", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [47.5, 56, 0], "ix": 2 }, "a": { "a": 0, "k": [81, 89.5, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 83, "ty": 2, "nm": "right foot paw", "parent": 25, "refId": "image_15", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [13, 0.5, 0], "ix": 2 }, "a": { "a": 0, "k": [46.5, 29, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 51, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 89, "ty": 0, "nm": "dog tail precomp", "refId": "comp_2", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [600, 884, 0], "ix": 2 }, "a": { "a": 0, "k": [200, 175, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ef": [ { "ty": 34, "nm": "Puppet", "np": 5, "mn": "ADBE FreePin3", "ix": 1, "en": 1, "ef": [ { "ty": 7, "nm": "Puppet Engine", "mn": "ADBE FreePin3 Puppet Engine", "ix": 1, "v": { "a": 0, "k": 1, "ix": 1 } }, { "ty": 7, "nm": "On Transparent", "mn": "ADBE FreePin3 On Transparent", "ix": 2, "v": { "a": 0, "k": 0, "ix": 2 } }, { "ty": 30, "nm": "arap", "np": 3, "mn": "ADBE FreePin3 ARAP Group", "ix": 3, "en": 1, "ef": [ { "ty": 6, "nm": "Auto-traced Shapes", "mn": "ADBE FreePin3 Outlines", "ix": 1, "v": 0 }, { "ty": 1, "nm": "Mesh", "np": 2, "mn": "ADBE FreePin3 Mesh Group", "ix": 2, "en": 1, "ef": [ { "nm": "Mesh 1", "np": 7, "mn": "ADBE FreePin3 Mesh Atom", "ix": 1, "en": 1, "ef": [ { "ty": 6, "nm": "Mesh", "mn": "ADBE FreePin3 Mesh", "ix": 1, "v": 0 }, { "ty": 0, "nm": "Triangles", "mn": "ADBE FreePin3 Mesh Tri Count", "ix": 2, "v": { "a": 0, "k": 500, "ix": 2 } }, { "ty": 0, "nm": "Expansion", "mn": "ADBE FreePin3 Mesh Expansion", "ix": 3, "v": { "a": 0, "k": 10, "ix": 3 } }, { "nm": "Deform", "np": 6, "mn": "ADBE FreePin3 PosPins", "ix": 4, "en": 1, "ef": [ { "nm": "Tail End", "np": 7, "mn": "ADBE FreePin3 PosPin Atom", "ix": 1, "en": 1, "ef": [ { "ty": 3, "nm": "Vertex Offset", "mn": "ADBE FreePin3 PosPin Vtx Offset", "ix": 1, "v": { "a": 0, "k": [4.465, 5.19], "ix": 1 } }, { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 199, "ix": 2 } }, { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } }, { "ty": 3, "nm": "Position", "mn": "ADBE FreePin3 PosPin Position", "ix": 4, "v": { "a": 0, "k": [278, 277], "ix": 4, "x": "var $bm_rt;\nvar l = null;\ntry {\n l = effect('B | Tail End - 3')(1);\n} catch (e) {\n}\n;\nvar result = value;\nif (l != null) {\n result = l.toWorld(l.anchorPoint);\n result = fromWorld(result);\n}\n$bm_rt = result;" } }, { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } }, { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } } ] }, { "nm": "Tail 4", "np": 7, "mn": "ADBE FreePin3 PosPin Atom", "ix": 2, "en": 1, "ef": [ { "ty": 3, "nm": "Vertex Offset", "mn": "ADBE FreePin3 PosPin Vtx Offset", "ix": 1, "v": { "a": 0, "k": [-5.085, 11.409], "ix": 1 } }, { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 229, "ix": 2 } }, { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } }, { "ty": 3, "nm": "Position", "mn": "ADBE FreePin3 PosPin Position", "ix": 4, "v": { "a": 0, "k": [320, 180], "ix": 4, "x": "var $bm_rt;\nvar l = null;\ntry {\n l = effect('B | Tail 4 - 3')(1);\n} catch (e) {\n}\n;\nvar result = value;\nif (l != null) {\n result = l.toWorld(l.anchorPoint);\n result = fromWorld(result);\n}\n$bm_rt = result;" } }, { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } }, { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } } ] }, { "nm": "Tail 3", "np": 7, "mn": "ADBE FreePin3 PosPin Atom", "ix": 3, "en": 1, "ef": [ { "ty": 3, "nm": "Vertex Offset", "mn": "ADBE FreePin3 PosPin Vtx Offset", "ix": 1, "v": { "a": 0, "k": [-9.878, 6.08], "ix": 1 } }, { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 168, "ix": 2 } }, { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } }, { "ty": 3, "nm": "Position", "mn": "ADBE FreePin3 PosPin Position", "ix": 4, "v": { "a": 0, "k": [191, 97], "ix": 4, "x": "var $bm_rt;\nvar l = null;\ntry {\n l = effect('B | Tail 3 - 3')(1);\n} catch (e) {\n}\n;\nvar result = value;\nif (l != null) {\n result = l.toWorld(l.anchorPoint);\n result = fromWorld(result);\n}\n$bm_rt = result;" } }, { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } }, { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } } ] }, { "nm": "Tail 2", "np": 7, "mn": "ADBE FreePin3 PosPin Atom", "ix": 4, "en": 1, "ef": [ { "ty": 3, "nm": "Vertex Offset", "mn": "ADBE FreePin3 PosPin Vtx Offset", "ix": 1, "v": { "a": 0, "k": [-8.638, 1.949], "ix": 1 } }, { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 288, "ix": 2 } }, { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } }, { "ty": 3, "nm": "Position", "mn": "ADBE FreePin3 PosPin Position", "ix": 4, "v": { "a": 0, "k": [69, 200], "ix": 4, "x": "var $bm_rt;\nvar l = null;\ntry {\n l = effect('B | Tail 2 - 3')(1);\n} catch (e) {\n}\n;\nvar result = value;\nif (l != null) {\n result = l.toWorld(l.anchorPoint);\n result = fromWorld(result);\n}\n$bm_rt = result;" } }, { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } }, { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } } ] }, { "nm": "Tail", "np": 7, "mn": "ADBE FreePin3 PosPin Atom", "ix": 5, "en": 1, "ef": [ { "ty": 3, "nm": "Vertex Offset", "mn": "ADBE FreePin3 PosPin Vtx Offset", "ix": 1, "v": { "a": 0, "k": [-14.222, -1.49], "ix": 1 } }, { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 299, "ix": 2 } }, { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } }, { "ty": 3, "nm": "Position", "mn": "ADBE FreePin3 PosPin Position", "ix": 4, "v": { "a": 0, "k": [139, 321], "ix": 4, "x": "var $bm_rt;\nvar l = null;\ntry {\n l = effect('B | Tail - 3')(1);\n} catch (e) {\n}\n;\nvar result = value;\nif (l != null) {\n result = l.toWorld(l.anchorPoint);\n result = fromWorld(result);\n}\n$bm_rt = result;" } }, { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } }, { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } } ] } ] }, { "nm": "Overlap", "np": 1, "mn": "ADBE FreePin3 HghtPins", "ix": 5, "en": 1, "ef": [] }, { "nm": "Stiffness", "np": 1, "mn": "ADBE FreePin3 StarchPins", "ix": 6, "en": 1, "ef": [] } ] } ] } ] } ] }, { "ty": 5, "nm": "B | Tail End - 3", "np": 4, "mn": "Pseudo/DUIK bone linker", "ix": 2, "en": 1, "ef": [ { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 84, "ix": 1 } }, { "ty": 2, "nm": "Bone color", "mn": "Pseudo/DUIK bone linker-0002", "ix": 2, "v": { "a": 0, "k": [0.925490196078, 0.094117647059, 0.094117647059, 1], "ix": 2, "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail End - 3')(1).effect('Bone')(1);\n} catch (e) {\n}" } } ] }, { "ty": 5, "nm": "B | Tail 4 - 3", "np": 4, "mn": "Pseudo/DUIK bone linker", "ix": 3, "en": 1, "ef": [ { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 85, "ix": 1 } }, { "ty": 2, "nm": "Bone color", "mn": "Pseudo/DUIK bone linker-0002", "ix": 2, "v": { "a": 0, "k": [0.925490196078, 0.094117647059, 0.094117647059, 1], "ix": 2, "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail 4 - 3')(1).effect('Bone')(1);\n} catch (e) {\n}" } } ] }, { "ty": 5, "nm": "B | Tail 3 - 3", "np": 4, "mn": "Pseudo/DUIK bone linker", "ix": 4, "en": 1, "ef": [ { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 86, "ix": 1 } }, { "ty": 2, "nm": "Bone color", "mn": "Pseudo/DUIK bone linker-0002", "ix": 2, "v": { "a": 0, "k": [0.925490196078, 0.094117647059, 0.094117647059, 1], "ix": 2, "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail 3 - 3')(1).effect('Bone')(1);\n} catch (e) {\n}" } } ] }, { "ty": 5, "nm": "B | Tail 2 - 3", "np": 4, "mn": "Pseudo/DUIK bone linker", "ix": 5, "en": 1, "ef": [ { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 87, "ix": 1 } }, { "ty": 2, "nm": "Bone color", "mn": "Pseudo/DUIK bone linker-0002", "ix": 2, "v": { "a": 0, "k": [0.925490196078, 0.094117647059, 0.094117647059, 1], "ix": 2, "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail 2 - 3')(1).effect('Bone')(1);\n} catch (e) {\n}" } } ] }, { "ty": 5, "nm": "B | Tail - 3", "np": 4, "mn": "Pseudo/DUIK bone linker", "ix": 6, "en": 1, "ef": [ { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 88, "ix": 1 } }, { "ty": 2, "nm": "Bone color", "mn": "Pseudo/DUIK bone linker-0002", "ix": 2, "v": { "a": 0, "k": [0.925490196078, 0.094117647059, 0.094117647059, 1], "ix": 2, "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail - 3')(1).effect('Bone')(1);\n} catch (e) {\n}" } } ] } ], "w": 400, "h": 350, "ip": 0, "op": 51, "st": 0, "bm": 0 } ] }, { "id": "comp_1", "layers": [ { "ddd": 0, "ind": 1, "ty": 2, "nm": "dog body pattern", "refId": "image_16", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [381, 257, 0], "ix": 2 }, "a": { "a": 0, "k": [127, 139, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 210, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 2, "ty": 2, "nm": "dog body", "refId": "image_17", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [400.5, 233, 0], "ix": 2 }, "a": { "a": 0, "k": [379.5, 227, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 210, "st": 0, "bm": 0 } ] }, { "id": "comp_2", "layers": [ { "ddd": 0, "ind": 1, "ty": 2, "nm": "dog tail pattern", "refId": "image_18", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [214, 148, 0], "ix": 2 }, "a": { "a": 0, "k": [162, 129, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 210, "st": 0, "bm": 0 }, { "ddd": 0, "ind": 2, "ty": 2, "nm": "dog tail", "refId": "image_19", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [221.5, 165, 0], "ix": 2 }, "a": { "a": 0, "k": [223.5, 175, 0], "ix": 1 }, "s": { "a": 0, "k": [100, 100, 100], "ix": 6 } }, "ao": 0, "ip": 0, "op": 210, "st": 0, "bm": 0 } ] } ], "layers": [ { "ddd": 0, "ind": 1, "ty": 0, "nm": "Dog Anim animation", "refId": "comp_0", "sr": 1, "ks": { "o": { "a": 0, "k": 100, "ix": 11 }, "r": { "a": 0, "k": 0, "ix": 10 }, "p": { "a": 0, "k": [354, 194, 0], "ix": 2 }, "a": { "a": 0, "k": [960, 960, 0], "ix": 1 }, "s": { "a": 0, "k": [40, 40, 100], "ix": 6 } }, "ao": 0, "w": 1920, "h": 1920, "ip": 0, "op": 51, "st": 0, "bm": 0 } ], "markers": [] }