data_1.json 146 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089
  1. {
  2. "v": "5.4.3",
  3. "fr": 30,
  4. "ip": 0,
  5. "op": 51,
  6. "w": 500,
  7. "h": 500,
  8. "nm": "Dog Anim animation 2",
  9. "ddd": 0,
  10. "assets": [
  11. { "id": "image_0", "w": 171, "h": 216, "u": "images/", "p": "img_0.png", "e": 0 },
  12. { "id": "image_1", "w": 81, "h": 82, "u": "images/", "p": "img_1.png", "e": 0 },
  13. { "id": "image_2", "w": 263, "h": 70, "u": "images/", "p": "img_2.png", "e": 0 },
  14. { "id": "image_3", "w": 163, "h": 275, "u": "images/", "p": "img_3.png", "e": 0 },
  15. { "id": "image_4", "w": 205, "h": 345, "u": "images/", "p": "img_4.png", "e": 0 },
  16. { "id": "image_5", "w": 96, "h": 59, "u": "images/", "p": "img_5.png", "e": 0 },
  17. { "id": "image_6", "w": 71, "h": 82, "u": "images/", "p": "img_6.png", "e": 0 },
  18. { "id": "image_7", "w": 148, "h": 322, "u": "images/", "p": "img_7.png", "e": 0 },
  19. { "id": "image_8", "w": 358, "h": 266, "u": "images/", "p": "img_8.png", "e": 0 },
  20. { "id": "image_9", "w": 534, "h": 596, "u": "images/", "p": "img_9.png", "e": 0 },
  21. { "id": "image_10", "w": 184, "h": 233, "u": "images/", "p": "img_10.png", "e": 0 },
  22. { "id": "image_11", "w": 289, "h": 291, "u": "images/", "p": "img_11.png", "e": 0 },
  23. { "id": "image_12", "w": 374, "h": 457, "u": "images/", "p": "img_12.png", "e": 0 },
  24. { "id": "image_13", "w": 106, "h": 247, "u": "images/", "p": "img_13.png", "e": 0 },
  25. { "id": "image_14", "w": 162, "h": 179, "u": "images/", "p": "img_14.png", "e": 0 },
  26. { "id": "image_15", "w": 93, "h": 58, "u": "images/", "p": "img_15.png", "e": 0 },
  27. { "id": "image_16", "w": 254, "h": 278, "u": "images/", "p": "img_16.png", "e": 0 },
  28. { "id": "image_17", "w": 759, "h": 454, "u": "images/", "p": "img_17.png", "e": 0 },
  29. { "id": "image_18", "w": 324, "h": 258, "u": "images/", "p": "img_18.png", "e": 0 },
  30. { "id": "image_19", "w": 447, "h": 350, "u": "images/", "p": "img_19.png", "e": 0 },
  31. {
  32. "id": "comp_0",
  33. "layers": [
  34. {
  35. "ddd": 0,
  36. "ind": 10,
  37. "ty": 3,
  38. "nm": "C | Hips",
  39. "parent": 11,
  40. "sr": 1,
  41. "ks": {
  42. "o": { "a": 0, "k": 100, "ix": 11 },
  43. "r": { "a": 0, "k": 0, "ix": 10 },
  44. "p": { "a": 0, "k": [4.543, -115.652, 0], "ix": 2 },
  45. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  46. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  47. },
  48. "ao": 0,
  49. "ef": [
  50. {
  51. "ty": 5,
  52. "nm": "Controller",
  53. "np": 13,
  54. "mn": "Pseudo/DUIK controller",
  55. "ix": 1,
  56. "en": 1,
  57. "ef": [
  58. { "ty": 6, "nm": "Icon", "mn": "Pseudo/DUIK controller-0001", "ix": 1, "v": 0 },
  59. {
  60. "ty": 2,
  61. "nm": "Color",
  62. "mn": "Pseudo/DUIK controller-0002",
  63. "ix": 2,
  64. "v": { "a": 0, "k": [0.92549020052, 0.0941176489, 0.0941176489, 1], "ix": 2 }
  65. },
  66. { "ty": 3, "nm": "Position", "mn": "Pseudo/DUIK controller-0003", "ix": 3, "v": { "a": 0, "k": [0, 0], "ix": 3 } },
  67. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK controller-0004", "ix": 4, "v": { "a": 0, "k": 128, "ix": 4 } },
  68. { "ty": 0, "nm": "Orientation", "mn": "Pseudo/DUIK controller-0005", "ix": 5, "v": { "a": 0, "k": 0, "ix": 5 } },
  69. { "ty": 0, "nm": "Opacity", "mn": "Pseudo/DUIK controller-0006", "ix": 6, "v": { "a": 0, "k": 100, "ix": 6 } },
  70. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK controller-0007", "ix": 7, "v": 0 },
  71. { "ty": 6, "nm": "Anchor", "mn": "Pseudo/DUIK controller-0008", "ix": 8, "v": 0 },
  72. { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK controller-0009", "ix": 9, "v": { "a": 0, "k": [0, 0, 0, 1], "ix": 9 } },
  73. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK controller-0010", "ix": 10, "v": { "a": 0, "k": 128, "ix": 10 } },
  74. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK controller-0011", "ix": 11, "v": 0 }
  75. ]
  76. }
  77. ],
  78. "ip": 0,
  79. "op": 51,
  80. "st": 0,
  81. "bm": 0
  82. },
  83. {
  84. "ddd": 0,
  85. "ind": 11,
  86. "ty": 3,
  87. "nm": "C | Body",
  88. "sr": 1,
  89. "ks": {
  90. "o": { "a": 0, "k": 100, "ix": 11 },
  91. "r": { "a": 0, "k": -12.2, "ix": 10 },
  92. "p": { "s": true, "x": { "a": 0, "k": 350.022, "ix": 3 }, "y": { "a": 0, "k": 1250, "ix": 4 } },
  93. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  94. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  95. },
  96. "ao": 0,
  97. "ef": [
  98. {
  99. "ty": 5,
  100. "nm": "Controller",
  101. "np": 13,
  102. "mn": "Pseudo/DUIK controller",
  103. "ix": 1,
  104. "en": 1,
  105. "ef": [
  106. { "ty": 6, "nm": "Icon", "mn": "Pseudo/DUIK controller-0001", "ix": 1, "v": 0 },
  107. {
  108. "ty": 2,
  109. "nm": "Color",
  110. "mn": "Pseudo/DUIK controller-0002",
  111. "ix": 2,
  112. "v": { "a": 0, "k": [0.92549020052, 0.0941176489, 0.0941176489, 1], "ix": 2 }
  113. },
  114. { "ty": 3, "nm": "Position", "mn": "Pseudo/DUIK controller-0003", "ix": 3, "v": { "a": 0, "k": [0, 0], "ix": 3 } },
  115. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK controller-0004", "ix": 4, "v": { "a": 0, "k": 128, "ix": 4 } },
  116. { "ty": 0, "nm": "Orientation", "mn": "Pseudo/DUIK controller-0005", "ix": 5, "v": { "a": 0, "k": 0, "ix": 5 } },
  117. { "ty": 0, "nm": "Opacity", "mn": "Pseudo/DUIK controller-0006", "ix": 6, "v": { "a": 0, "k": 100, "ix": 6 } },
  118. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK controller-0007", "ix": 7, "v": 0 },
  119. { "ty": 6, "nm": "Anchor", "mn": "Pseudo/DUIK controller-0008", "ix": 8, "v": 0 },
  120. { "ty": 2, "nm": "Color", "mn": "Pseudo/DUIK controller-0009", "ix": 9, "v": { "a": 0, "k": [0, 0, 0, 1], "ix": 9 } },
  121. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK controller-0010", "ix": 10, "v": { "a": 0, "k": 128, "ix": 10 } },
  122. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK controller-0011", "ix": 11, "v": 0 }
  123. ]
  124. }
  125. ],
  126. "ip": 0,
  127. "op": 51,
  128. "st": 0,
  129. "bm": 0
  130. },
  131. {
  132. "ddd": 0,
  133. "ind": 18,
  134. "ty": 3,
  135. "nm": "S | Head",
  136. "parent": 19,
  137. "sr": 1,
  138. "ks": {
  139. "o": { "a": 0, "k": 100, "ix": 11 },
  140. "r": {
  141. "a": 0,
  142. "k": 0,
  143. "ix": 10,
  144. "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;"
  145. },
  146. "p": { "a": 0, "k": [0, -301, 0], "ix": 2 },
  147. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  148. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  149. },
  150. "ao": 0,
  151. "ef": [
  152. {
  153. "ty": 5,
  154. "nm": "Structure",
  155. "np": 7,
  156. "mn": "Pseudo/DUIK structure",
  157. "ix": 1,
  158. "en": 1,
  159. "ef": [
  160. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  161. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  162. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 17, "ix": 3 } },
  163. {
  164. "ty": 2,
  165. "nm": "Color",
  166. "mn": "Pseudo/DUIK structure-0004",
  167. "ix": 4,
  168. "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 }
  169. },
  170. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  171. ]
  172. },
  173. {
  174. "ty": 5,
  175. "nm": "Goal",
  176. "np": 3,
  177. "mn": "ADBE Layer Control",
  178. "ix": 2,
  179. "en": 1,
  180. "ef": [{ "ty": 10, "nm": "Layer", "mn": "ADBE Layer Control-0001", "ix": 1, "v": { "a": 0, "k": 7, "ix": 1 } }]
  181. }
  182. ],
  183. "ip": 0,
  184. "op": 51,
  185. "st": 0,
  186. "bm": 0
  187. },
  188. {
  189. "ddd": 0,
  190. "ind": 19,
  191. "ty": 3,
  192. "nm": "S | Neck",
  193. "parent": 20,
  194. "sr": 1,
  195. "ks": {
  196. "o": { "a": 0, "k": 100, "ix": 11 },
  197. "r": {
  198. "a": 0,
  199. "k": 0,
  200. "ix": 10,
  201. "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;"
  202. },
  203. "p": { "a": 0, "k": [315.69, -7.081, 0], "ix": 2 },
  204. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  205. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  206. },
  207. "ao": 0,
  208. "ef": [
  209. {
  210. "ty": 5,
  211. "nm": "Structure",
  212. "np": 7,
  213. "mn": "Pseudo/DUIK structure",
  214. "ix": 1,
  215. "en": 1,
  216. "ef": [
  217. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  218. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  219. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 18, "ix": 3 } },
  220. {
  221. "ty": 2,
  222. "nm": "Color",
  223. "mn": "Pseudo/DUIK structure-0004",
  224. "ix": 4,
  225. "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 }
  226. },
  227. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  228. ]
  229. },
  230. {
  231. "ty": 5,
  232. "nm": "Goal",
  233. "np": 3,
  234. "mn": "ADBE Layer Control",
  235. "ix": 2,
  236. "en": 1,
  237. "ef": [{ "ty": 10, "nm": "Layer", "mn": "ADBE Layer Control-0001", "ix": 1, "v": { "a": 0, "k": 6, "ix": 1 } }]
  238. }
  239. ],
  240. "ip": 0,
  241. "op": 51,
  242. "st": 0,
  243. "bm": 0
  244. },
  245. {
  246. "ddd": 0,
  247. "ind": 20,
  248. "ty": 3,
  249. "nm": "S | Spine 2",
  250. "sr": 1,
  251. "ks": {
  252. "o": { "a": 0, "k": 100, "ix": 11 },
  253. "r": {
  254. "a": 0,
  255. "k": -178.715,
  256. "ix": 10,
  257. "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;"
  258. },
  259. "p": {
  260. "a": 0,
  261. "k": [892, 1274, 0],
  262. "ix": 2,
  263. "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;"
  264. },
  265. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  266. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  267. },
  268. "ao": 0,
  269. "ef": [
  270. {
  271. "ty": 5,
  272. "nm": "Structure",
  273. "np": 7,
  274. "mn": "Pseudo/DUIK structure",
  275. "ix": 1,
  276. "en": 1,
  277. "ef": [
  278. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  279. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  280. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 19, "ix": 3 } },
  281. {
  282. "ty": 2,
  283. "nm": "Color",
  284. "mn": "Pseudo/DUIK structure-0004",
  285. "ix": 4,
  286. "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 }
  287. },
  288. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  289. ]
  290. },
  291. {
  292. "ty": 5,
  293. "nm": "Bezier IK",
  294. "np": 9,
  295. "mn": "Pseudo/DUIK bezier ik layer",
  296. "ix": 2,
  297. "en": 1,
  298. "ef": [
  299. { "ty": 0, "nm": "Offset", "mn": "Pseudo/DUIK bezier ik layer-0001", "ix": 1, "v": { "a": 0, "k": 0, "ix": 1 } },
  300. { "ty": 6, "nm": "Controllers", "mn": "Pseudo/DUIK bezier ik layer-0002", "ix": 2, "v": 0 },
  301. { "ty": 10, "nm": "Root", "mn": "Pseudo/DUIK bezier ik layer-0003", "ix": 3, "v": { "a": 0, "k": 9, "ix": 3 } },
  302. { "ty": 10, "nm": "Curve", "mn": "Pseudo/DUIK bezier ik layer-0004", "ix": 4, "v": { "a": 0, "k": 8, "ix": 4 } },
  303. { "ty": 10, "nm": "End", "mn": "Pseudo/DUIK bezier ik layer-0005", "ix": 5, "v": { "a": 0, "k": 6, "ix": 5 } },
  304. { "ty": 10, "nm": "Next", "mn": "Pseudo/DUIK bezier ik layer-0006", "ix": 6, "v": { "a": 0, "k": 6, "ix": 6 } },
  305. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK bezier ik layer-0007", "ix": 7, "v": 0 }
  306. ]
  307. }
  308. ],
  309. "ip": 0,
  310. "op": 51,
  311. "st": 0,
  312. "bm": 0
  313. },
  314. {
  315. "ddd": 0,
  316. "ind": 22,
  317. "ty": 3,
  318. "nm": "S | Hips",
  319. "parent": 10,
  320. "sr": 1,
  321. "ks": {
  322. "o": { "a": 0, "k": 100, "ix": 11 },
  323. "r": {
  324. "a": 0,
  325. "k": 4.236,
  326. "ix": 10,
  327. "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;"
  328. },
  329. "p": { "a": 0, "k": [0, 0, 0], "ix": 2 },
  330. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  331. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  332. },
  333. "ao": 0,
  334. "ef": [
  335. {
  336. "ty": 5,
  337. "nm": "Structure",
  338. "np": 7,
  339. "mn": "Pseudo/DUIK structure",
  340. "ix": 1,
  341. "en": 1,
  342. "ef": [
  343. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  344. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  345. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 21, "ix": 3 } },
  346. {
  347. "ty": 2,
  348. "nm": "Color",
  349. "mn": "Pseudo/DUIK structure-0004",
  350. "ix": 4,
  351. "v": { "a": 0, "k": [0.925000011921, 0.093999996781, 0.093999996781, 1], "ix": 4 }
  352. },
  353. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  354. ]
  355. },
  356. {
  357. "ty": 5,
  358. "nm": "IK",
  359. "np": 3,
  360. "mn": "Pseudo/DUIK ik",
  361. "ix": 2,
  362. "en": 1,
  363. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 9, "ix": 1 } }]
  364. }
  365. ],
  366. "ip": 0,
  367. "op": 51,
  368. "st": 0,
  369. "bm": 0
  370. },
  371. {
  372. "ddd": 0,
  373. "ind": 25,
  374. "ty": 3,
  375. "nm": "S | Claws 4",
  376. "parent": 27,
  377. "sr": 1,
  378. "ks": {
  379. "o": { "a": 0, "k": 100, "ix": 11 },
  380. "r": {
  381. "a": 0,
  382. "k": -25.88,
  383. "ix": 10,
  384. "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;"
  385. },
  386. "p": { "a": 0, "k": [106, 122, 0], "ix": 2 },
  387. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  388. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  389. },
  390. "ao": 0,
  391. "ef": [
  392. {
  393. "ty": 5,
  394. "nm": "Structure",
  395. "np": 7,
  396. "mn": "Pseudo/DUIK structure",
  397. "ix": 1,
  398. "en": 1,
  399. "ef": [
  400. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  401. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  402. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 23, "ix": 3 } },
  403. {
  404. "ty": 2,
  405. "nm": "Color",
  406. "mn": "Pseudo/DUIK structure-0004",
  407. "ix": 4,
  408. "v": { "a": 0, "k": [0.470999985933, 0.470999985933, 0.925000011921, 1], "ix": 4 }
  409. },
  410. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  411. ]
  412. },
  413. {
  414. "ty": 5,
  415. "nm": "IK",
  416. "np": 3,
  417. "mn": "Pseudo/DUIK ik",
  418. "ix": 2,
  419. "en": 1,
  420. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 23, "ix": 1 } }]
  421. }
  422. ],
  423. "ip": 0,
  424. "op": 51,
  425. "st": 0,
  426. "bm": 0
  427. },
  428. {
  429. "ddd": 0,
  430. "ind": 27,
  431. "ty": 3,
  432. "nm": "S | Foot 2",
  433. "parent": 28,
  434. "sr": 1,
  435. "ks": {
  436. "o": { "a": 0, "k": 100, "ix": 11 },
  437. "r": {
  438. "a": 0,
  439. "k": -49.014,
  440. "ix": 10,
  441. "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;"
  442. },
  443. "p": {
  444. "a": 0,
  445. "k": [-12.5, 158.5, 0],
  446. "ix": 2,
  447. "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;"
  448. },
  449. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  450. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  451. },
  452. "ao": 0,
  453. "ef": [
  454. {
  455. "ty": 5,
  456. "nm": "Structure",
  457. "np": 7,
  458. "mn": "Pseudo/DUIK structure",
  459. "ix": 1,
  460. "en": 1,
  461. "ef": [
  462. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  463. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  464. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 25, "ix": 3 } },
  465. {
  466. "ty": 2,
  467. "nm": "Color",
  468. "mn": "Pseudo/DUIK structure-0004",
  469. "ix": 4,
  470. "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 }
  471. },
  472. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  473. ]
  474. },
  475. {
  476. "ty": 5,
  477. "nm": "IK",
  478. "np": 3,
  479. "mn": "Pseudo/DUIK ik",
  480. "ix": 2,
  481. "en": 1,
  482. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 26, "ix": 1 } }]
  483. },
  484. {
  485. "ty": 5,
  486. "nm": "IK 2",
  487. "np": 3,
  488. "mn": "Pseudo/DUIK ik",
  489. "ix": 3,
  490. "en": 1,
  491. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 24, "ix": 1 } }]
  492. }
  493. ],
  494. "ip": 0,
  495. "op": 51,
  496. "st": 0,
  497. "bm": 0
  498. },
  499. {
  500. "ddd": 0,
  501. "ind": 28,
  502. "ty": 3,
  503. "nm": "S | Calf 2",
  504. "parent": 29,
  505. "sr": 1,
  506. "ks": {
  507. "o": { "a": 0, "k": 100, "ix": 11 },
  508. "r": {
  509. "a": 0,
  510. "k": 0,
  511. "ix": 10,
  512. "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;"
  513. },
  514. "p": {
  515. "a": 0,
  516. "k": [-27, 176, 0],
  517. "ix": 2,
  518. "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;"
  519. },
  520. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  521. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  522. },
  523. "ao": 0,
  524. "ef": [
  525. {
  526. "ty": 5,
  527. "nm": "Structure",
  528. "np": 7,
  529. "mn": "Pseudo/DUIK structure",
  530. "ix": 1,
  531. "en": 1,
  532. "ef": [
  533. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  534. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  535. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 27, "ix": 3 } },
  536. {
  537. "ty": 2,
  538. "nm": "Color",
  539. "mn": "Pseudo/DUIK structure-0004",
  540. "ix": 4,
  541. "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 }
  542. },
  543. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  544. ]
  545. },
  546. {
  547. "ty": 5,
  548. "nm": "IK",
  549. "np": 3,
  550. "mn": "Pseudo/DUIK ik",
  551. "ix": 2,
  552. "en": 1,
  553. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 26, "ix": 1 } }]
  554. }
  555. ],
  556. "ip": 0,
  557. "op": 51,
  558. "st": 0,
  559. "bm": 0
  560. },
  561. {
  562. "ddd": 0,
  563. "ind": 29,
  564. "ty": 3,
  565. "nm": "S | Thigh 2",
  566. "parent": 22,
  567. "sr": 1,
  568. "ks": {
  569. "o": { "a": 0, "k": 100, "ix": 11 },
  570. "r": {
  571. "a": 0,
  572. "k": 0,
  573. "ix": 10,
  574. "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;"
  575. },
  576. "p": { "a": 0, "k": [10, 51, 0], "ix": 2 },
  577. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  578. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  579. },
  580. "ao": 0,
  581. "ef": [
  582. {
  583. "ty": 5,
  584. "nm": "Structure",
  585. "np": 7,
  586. "mn": "Pseudo/DUIK structure",
  587. "ix": 1,
  588. "en": 1,
  589. "ef": [
  590. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  591. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  592. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 28, "ix": 3 } },
  593. {
  594. "ty": 2,
  595. "nm": "Color",
  596. "mn": "Pseudo/DUIK structure-0004",
  597. "ix": 4,
  598. "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 }
  599. },
  600. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  601. ]
  602. },
  603. {
  604. "ty": 5,
  605. "nm": "IK",
  606. "np": 3,
  607. "mn": "Pseudo/DUIK ik",
  608. "ix": 2,
  609. "en": 1,
  610. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 26, "ix": 1 } }]
  611. }
  612. ],
  613. "ip": 0,
  614. "op": 51,
  615. "st": 0,
  616. "bm": 0
  617. },
  618. {
  619. "ddd": 0,
  620. "ind": 32,
  621. "ty": 3,
  622. "nm": "S | Claws 3",
  623. "parent": 34,
  624. "sr": 1,
  625. "ks": {
  626. "o": { "a": 0, "k": 100, "ix": 11 },
  627. "r": {
  628. "a": 0,
  629. "k": -25.88,
  630. "ix": 10,
  631. "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;"
  632. },
  633. "p": { "a": 0, "k": [106, 122, 0], "ix": 2 },
  634. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  635. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  636. },
  637. "ao": 0,
  638. "ef": [
  639. {
  640. "ty": 5,
  641. "nm": "Structure",
  642. "np": 7,
  643. "mn": "Pseudo/DUIK structure",
  644. "ix": 1,
  645. "en": 1,
  646. "ef": [
  647. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  648. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  649. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 30, "ix": 3 } },
  650. {
  651. "ty": 2,
  652. "nm": "Color",
  653. "mn": "Pseudo/DUIK structure-0004",
  654. "ix": 4,
  655. "v": { "a": 0, "k": [0.470999985933, 0.470999985933, 0.925000011921, 1], "ix": 4 }
  656. },
  657. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  658. ]
  659. },
  660. {
  661. "ty": 5,
  662. "nm": "IK",
  663. "np": 3,
  664. "mn": "Pseudo/DUIK ik",
  665. "ix": 2,
  666. "en": 1,
  667. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 30, "ix": 1 } }]
  668. }
  669. ],
  670. "ip": 0,
  671. "op": 51,
  672. "st": 0,
  673. "bm": 0
  674. },
  675. {
  676. "ddd": 0,
  677. "ind": 34,
  678. "ty": 3,
  679. "nm": "S | Foot",
  680. "parent": 35,
  681. "sr": 1,
  682. "ks": {
  683. "o": { "a": 0, "k": 100, "ix": 11 },
  684. "r": {
  685. "a": 0,
  686. "k": -49.014,
  687. "ix": 10,
  688. "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;"
  689. },
  690. "p": {
  691. "a": 0,
  692. "k": [-12.5, 158.5, 0],
  693. "ix": 2,
  694. "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;"
  695. },
  696. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  697. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  698. },
  699. "ao": 0,
  700. "ef": [
  701. {
  702. "ty": 5,
  703. "nm": "Structure",
  704. "np": 7,
  705. "mn": "Pseudo/DUIK structure",
  706. "ix": 1,
  707. "en": 1,
  708. "ef": [
  709. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  710. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  711. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 32, "ix": 3 } },
  712. {
  713. "ty": 2,
  714. "nm": "Color",
  715. "mn": "Pseudo/DUIK structure-0004",
  716. "ix": 4,
  717. "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 }
  718. },
  719. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  720. ]
  721. },
  722. {
  723. "ty": 5,
  724. "nm": "IK",
  725. "np": 3,
  726. "mn": "Pseudo/DUIK ik",
  727. "ix": 2,
  728. "en": 1,
  729. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 33, "ix": 1 } }]
  730. },
  731. {
  732. "ty": 5,
  733. "nm": "IK 2",
  734. "np": 3,
  735. "mn": "Pseudo/DUIK ik",
  736. "ix": 3,
  737. "en": 1,
  738. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 31, "ix": 1 } }]
  739. }
  740. ],
  741. "ip": 0,
  742. "op": 51,
  743. "st": 0,
  744. "bm": 0
  745. },
  746. {
  747. "ddd": 0,
  748. "ind": 35,
  749. "ty": 3,
  750. "nm": "S | Calf",
  751. "parent": 36,
  752. "sr": 1,
  753. "ks": {
  754. "o": { "a": 0, "k": 100, "ix": 11 },
  755. "r": {
  756. "a": 0,
  757. "k": 0,
  758. "ix": 10,
  759. "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;"
  760. },
  761. "p": {
  762. "a": 0,
  763. "k": [-27, 176, 0],
  764. "ix": 2,
  765. "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;"
  766. },
  767. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  768. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  769. },
  770. "ao": 0,
  771. "ef": [
  772. {
  773. "ty": 5,
  774. "nm": "Structure",
  775. "np": 7,
  776. "mn": "Pseudo/DUIK structure",
  777. "ix": 1,
  778. "en": 1,
  779. "ef": [
  780. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  781. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  782. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 34, "ix": 3 } },
  783. {
  784. "ty": 2,
  785. "nm": "Color",
  786. "mn": "Pseudo/DUIK structure-0004",
  787. "ix": 4,
  788. "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 }
  789. },
  790. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  791. ]
  792. },
  793. {
  794. "ty": 5,
  795. "nm": "IK",
  796. "np": 3,
  797. "mn": "Pseudo/DUIK ik",
  798. "ix": 2,
  799. "en": 1,
  800. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 33, "ix": 1 } }]
  801. }
  802. ],
  803. "ip": 0,
  804. "op": 51,
  805. "st": 0,
  806. "bm": 0
  807. },
  808. {
  809. "ddd": 0,
  810. "ind": 36,
  811. "ty": 3,
  812. "nm": "S | Thigh",
  813. "parent": 22,
  814. "sr": 1,
  815. "ks": {
  816. "o": { "a": 0, "k": 100, "ix": 11 },
  817. "r": {
  818. "a": 0,
  819. "k": 0,
  820. "ix": 10,
  821. "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;"
  822. },
  823. "p": { "a": 0, "k": [10, 51, 0], "ix": 2 },
  824. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  825. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  826. },
  827. "ao": 0,
  828. "ef": [
  829. {
  830. "ty": 5,
  831. "nm": "Structure",
  832. "np": 7,
  833. "mn": "Pseudo/DUIK structure",
  834. "ix": 1,
  835. "en": 1,
  836. "ef": [
  837. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  838. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  839. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 35, "ix": 3 } },
  840. {
  841. "ty": 2,
  842. "nm": "Color",
  843. "mn": "Pseudo/DUIK structure-0004",
  844. "ix": 4,
  845. "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 }
  846. },
  847. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  848. ]
  849. },
  850. {
  851. "ty": 5,
  852. "nm": "IK",
  853. "np": 3,
  854. "mn": "Pseudo/DUIK ik",
  855. "ix": 2,
  856. "en": 1,
  857. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 33, "ix": 1 } }]
  858. }
  859. ],
  860. "ip": 0,
  861. "op": 51,
  862. "st": 0,
  863. "bm": 0
  864. },
  865. {
  866. "ddd": 0,
  867. "ind": 39,
  868. "ty": 3,
  869. "nm": "S | Claws 2",
  870. "parent": 41,
  871. "sr": 1,
  872. "ks": {
  873. "o": { "a": 0, "k": 100, "ix": 11 },
  874. "r": {
  875. "a": 0,
  876. "k": -21.347,
  877. "ix": 10,
  878. "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;"
  879. },
  880. "p": { "a": 0, "k": [53.5, 233.75, 0], "ix": 2 },
  881. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  882. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  883. },
  884. "ao": 0,
  885. "ef": [
  886. {
  887. "ty": 5,
  888. "nm": "Structure",
  889. "np": 7,
  890. "mn": "Pseudo/DUIK structure",
  891. "ix": 1,
  892. "en": 1,
  893. "ef": [
  894. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  895. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  896. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 37, "ix": 3 } },
  897. {
  898. "ty": 2,
  899. "nm": "Color",
  900. "mn": "Pseudo/DUIK structure-0004",
  901. "ix": 4,
  902. "v": { "a": 0, "k": [0.470999985933, 0.470999985933, 0.925000011921, 1], "ix": 4 }
  903. },
  904. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  905. ]
  906. },
  907. {
  908. "ty": 5,
  909. "nm": "IK",
  910. "np": 3,
  911. "mn": "Pseudo/DUIK ik",
  912. "ix": 2,
  913. "en": 1,
  914. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 37, "ix": 1 } }]
  915. }
  916. ],
  917. "ip": 0,
  918. "op": 51,
  919. "st": 0,
  920. "bm": 0
  921. },
  922. {
  923. "ddd": 0,
  924. "ind": 41,
  925. "ty": 3,
  926. "nm": "S | Hand 2",
  927. "parent": 42,
  928. "sr": 1,
  929. "ks": {
  930. "o": { "a": 0, "k": 100, "ix": 11 },
  931. "r": {
  932. "a": 0,
  933. "k": -77.108,
  934. "ix": 10,
  935. "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;"
  936. },
  937. "p": {
  938. "a": 0,
  939. "k": [-51.111, 194.944, 0],
  940. "ix": 2,
  941. "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;"
  942. },
  943. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  944. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  945. },
  946. "ao": 0,
  947. "ef": [
  948. {
  949. "ty": 5,
  950. "nm": "Structure",
  951. "np": 7,
  952. "mn": "Pseudo/DUIK structure",
  953. "ix": 1,
  954. "en": 1,
  955. "ef": [
  956. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  957. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  958. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 39, "ix": 3 } },
  959. {
  960. "ty": 2,
  961. "nm": "Color",
  962. "mn": "Pseudo/DUIK structure-0004",
  963. "ix": 4,
  964. "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 }
  965. },
  966. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  967. ]
  968. },
  969. {
  970. "ty": 5,
  971. "nm": "IK",
  972. "np": 3,
  973. "mn": "Pseudo/DUIK ik",
  974. "ix": 2,
  975. "en": 1,
  976. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 40, "ix": 1 } }]
  977. },
  978. {
  979. "ty": 5,
  980. "nm": "IK 2",
  981. "np": 3,
  982. "mn": "Pseudo/DUIK ik",
  983. "ix": 3,
  984. "en": 1,
  985. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 38, "ix": 1 } }]
  986. }
  987. ],
  988. "ip": 0,
  989. "op": 51,
  990. "st": 0,
  991. "bm": 0
  992. },
  993. {
  994. "ddd": 0,
  995. "ind": 42,
  996. "ty": 3,
  997. "nm": "S | Forearm 2",
  998. "parent": 43,
  999. "sr": 1,
  1000. "ks": {
  1001. "o": { "a": 0, "k": 100, "ix": 11 },
  1002. "r": {
  1003. "a": 0,
  1004. "k": 0,
  1005. "ix": 10,
  1006. "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;"
  1007. },
  1008. "p": {
  1009. "a": 0,
  1010. "k": [-34, 46, 0],
  1011. "ix": 2,
  1012. "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;"
  1013. },
  1014. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  1015. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  1016. },
  1017. "ao": 0,
  1018. "ef": [
  1019. {
  1020. "ty": 5,
  1021. "nm": "Structure",
  1022. "np": 7,
  1023. "mn": "Pseudo/DUIK structure",
  1024. "ix": 1,
  1025. "en": 1,
  1026. "ef": [
  1027. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  1028. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  1029. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 41, "ix": 3 } },
  1030. {
  1031. "ty": 2,
  1032. "nm": "Color",
  1033. "mn": "Pseudo/DUIK structure-0004",
  1034. "ix": 4,
  1035. "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 }
  1036. },
  1037. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  1038. ]
  1039. },
  1040. {
  1041. "ty": 5,
  1042. "nm": "IK",
  1043. "np": 3,
  1044. "mn": "Pseudo/DUIK ik",
  1045. "ix": 2,
  1046. "en": 1,
  1047. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 40, "ix": 1 } }]
  1048. }
  1049. ],
  1050. "ip": 0,
  1051. "op": 51,
  1052. "st": 0,
  1053. "bm": 0
  1054. },
  1055. {
  1056. "ddd": 0,
  1057. "ind": 43,
  1058. "ty": 3,
  1059. "nm": "S | Arm 2",
  1060. "parent": 20,
  1061. "sr": 1,
  1062. "ks": {
  1063. "o": { "a": 0, "k": 100, "ix": 11 },
  1064. "r": {
  1065. "a": 0,
  1066. "k": 0,
  1067. "ix": 10,
  1068. "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;"
  1069. },
  1070. "p": { "a": 0, "k": [307.69, 68.919, 0], "ix": 2 },
  1071. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  1072. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  1073. },
  1074. "ao": 0,
  1075. "ef": [
  1076. {
  1077. "ty": 5,
  1078. "nm": "Structure",
  1079. "np": 7,
  1080. "mn": "Pseudo/DUIK structure",
  1081. "ix": 1,
  1082. "en": 1,
  1083. "ef": [
  1084. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  1085. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  1086. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 42, "ix": 3 } },
  1087. {
  1088. "ty": 2,
  1089. "nm": "Color",
  1090. "mn": "Pseudo/DUIK structure-0004",
  1091. "ix": 4,
  1092. "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 }
  1093. },
  1094. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  1095. ]
  1096. },
  1097. {
  1098. "ty": 5,
  1099. "nm": "IK",
  1100. "np": 3,
  1101. "mn": "Pseudo/DUIK ik",
  1102. "ix": 2,
  1103. "en": 1,
  1104. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 40, "ix": 1 } }]
  1105. }
  1106. ],
  1107. "ip": 0,
  1108. "op": 51,
  1109. "st": 0,
  1110. "bm": 0
  1111. },
  1112. {
  1113. "ddd": 0,
  1114. "ind": 46,
  1115. "ty": 3,
  1116. "nm": "S | Claws",
  1117. "parent": 48,
  1118. "sr": 1,
  1119. "ks": {
  1120. "o": { "a": 0, "k": 100, "ix": 11 },
  1121. "r": {
  1122. "a": 0,
  1123. "k": -21.347,
  1124. "ix": 10,
  1125. "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;"
  1126. },
  1127. "p": { "a": 0, "k": [53.5, 233.75, 0], "ix": 2 },
  1128. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  1129. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  1130. },
  1131. "ao": 0,
  1132. "ef": [
  1133. {
  1134. "ty": 5,
  1135. "nm": "Structure",
  1136. "np": 7,
  1137. "mn": "Pseudo/DUIK structure",
  1138. "ix": 1,
  1139. "en": 1,
  1140. "ef": [
  1141. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  1142. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  1143. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 44, "ix": 3 } },
  1144. {
  1145. "ty": 2,
  1146. "nm": "Color",
  1147. "mn": "Pseudo/DUIK structure-0004",
  1148. "ix": 4,
  1149. "v": { "a": 0, "k": [0.470999985933, 0.470999985933, 0.925000011921, 1], "ix": 4 }
  1150. },
  1151. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  1152. ]
  1153. },
  1154. {
  1155. "ty": 5,
  1156. "nm": "IK",
  1157. "np": 3,
  1158. "mn": "Pseudo/DUIK ik",
  1159. "ix": 2,
  1160. "en": 1,
  1161. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 44, "ix": 1 } }]
  1162. }
  1163. ],
  1164. "ip": 0,
  1165. "op": 51,
  1166. "st": 0,
  1167. "bm": 0
  1168. },
  1169. {
  1170. "ddd": 0,
  1171. "ind": 48,
  1172. "ty": 3,
  1173. "nm": "S | Hand",
  1174. "parent": 49,
  1175. "sr": 1,
  1176. "ks": {
  1177. "o": { "a": 0, "k": 100, "ix": 11 },
  1178. "r": {
  1179. "a": 0,
  1180. "k": -77.108,
  1181. "ix": 10,
  1182. "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;"
  1183. },
  1184. "p": {
  1185. "a": 0,
  1186. "k": [-51.111, 194.944, 0],
  1187. "ix": 2,
  1188. "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;"
  1189. },
  1190. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  1191. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  1192. },
  1193. "ao": 0,
  1194. "ef": [
  1195. {
  1196. "ty": 5,
  1197. "nm": "Structure",
  1198. "np": 7,
  1199. "mn": "Pseudo/DUIK structure",
  1200. "ix": 1,
  1201. "en": 1,
  1202. "ef": [
  1203. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  1204. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  1205. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 46, "ix": 3 } },
  1206. {
  1207. "ty": 2,
  1208. "nm": "Color",
  1209. "mn": "Pseudo/DUIK structure-0004",
  1210. "ix": 4,
  1211. "v": { "a": 0, "k": [0.470999985933, 0.838999986649, 0.925000011921, 1], "ix": 4 }
  1212. },
  1213. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  1214. ]
  1215. },
  1216. {
  1217. "ty": 5,
  1218. "nm": "IK",
  1219. "np": 3,
  1220. "mn": "Pseudo/DUIK ik",
  1221. "ix": 2,
  1222. "en": 1,
  1223. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 47, "ix": 1 } }]
  1224. },
  1225. {
  1226. "ty": 5,
  1227. "nm": "IK 2",
  1228. "np": 3,
  1229. "mn": "Pseudo/DUIK ik",
  1230. "ix": 3,
  1231. "en": 1,
  1232. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 45, "ix": 1 } }]
  1233. }
  1234. ],
  1235. "ip": 0,
  1236. "op": 51,
  1237. "st": 0,
  1238. "bm": 0
  1239. },
  1240. {
  1241. "ddd": 0,
  1242. "ind": 49,
  1243. "ty": 3,
  1244. "nm": "S | Forearm",
  1245. "parent": 50,
  1246. "sr": 1,
  1247. "ks": {
  1248. "o": { "a": 0, "k": 100, "ix": 11 },
  1249. "r": {
  1250. "a": 0,
  1251. "k": 0,
  1252. "ix": 10,
  1253. "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;"
  1254. },
  1255. "p": {
  1256. "a": 0,
  1257. "k": [-34, 46, 0],
  1258. "ix": 2,
  1259. "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;"
  1260. },
  1261. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  1262. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  1263. },
  1264. "ao": 0,
  1265. "ef": [
  1266. {
  1267. "ty": 5,
  1268. "nm": "Structure",
  1269. "np": 7,
  1270. "mn": "Pseudo/DUIK structure",
  1271. "ix": 1,
  1272. "en": 1,
  1273. "ef": [
  1274. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  1275. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  1276. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 48, "ix": 3 } },
  1277. {
  1278. "ty": 2,
  1279. "nm": "Color",
  1280. "mn": "Pseudo/DUIK structure-0004",
  1281. "ix": 4,
  1282. "v": { "a": 0, "k": [0.925000011921, 0.838999986649, 0.093999996781, 1], "ix": 4 }
  1283. },
  1284. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  1285. ]
  1286. },
  1287. {
  1288. "ty": 5,
  1289. "nm": "IK",
  1290. "np": 3,
  1291. "mn": "Pseudo/DUIK ik",
  1292. "ix": 2,
  1293. "en": 1,
  1294. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 47, "ix": 1 } }]
  1295. }
  1296. ],
  1297. "ip": 0,
  1298. "op": 51,
  1299. "st": 0,
  1300. "bm": 0
  1301. },
  1302. {
  1303. "ddd": 0,
  1304. "ind": 50,
  1305. "ty": 3,
  1306. "nm": "S | Arm",
  1307. "parent": 20,
  1308. "sr": 1,
  1309. "ks": {
  1310. "o": { "a": 0, "k": 100, "ix": 11 },
  1311. "r": {
  1312. "a": 0,
  1313. "k": 0,
  1314. "ix": 10,
  1315. "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;"
  1316. },
  1317. "p": { "a": 0, "k": [307.69, 68.919, 0], "ix": 2 },
  1318. "a": { "a": 0, "k": [0, 0, 0], "ix": 1 },
  1319. "s": { "a": 0, "k": [100, 100], "ix": 6 }
  1320. },
  1321. "ao": 0,
  1322. "ef": [
  1323. {
  1324. "ty": 5,
  1325. "nm": "Structure",
  1326. "np": 7,
  1327. "mn": "Pseudo/DUIK structure",
  1328. "ix": 1,
  1329. "en": 1,
  1330. "ef": [
  1331. { "ty": 6, "nm": "Display options", "mn": "Pseudo/DUIK structure-0001", "ix": 1, "v": 0 },
  1332. { "ty": 0, "nm": "Size", "mn": "Pseudo/DUIK structure-0002", "ix": 2, "v": { "a": 0, "k": 137, "ix": 2 } },
  1333. { "ty": 10, "nm": "Target", "mn": "Pseudo/DUIK structure-0003", "ix": 3, "v": { "a": 0, "k": 49, "ix": 3 } },
  1334. {
  1335. "ty": 2,
  1336. "nm": "Color",
  1337. "mn": "Pseudo/DUIK structure-0004",
  1338. "ix": 4,
  1339. "v": { "a": 0, "k": [0.925000011921, 0.470999985933, 0.093999996781, 1], "ix": 4 }
  1340. },
  1341. { "ty": 6, "nm": "", "mn": "Pseudo/DUIK structure-0005", "ix": 5, "v": 0 }
  1342. ]
  1343. },
  1344. {
  1345. "ty": 5,
  1346. "nm": "IK",
  1347. "np": 3,
  1348. "mn": "Pseudo/DUIK ik",
  1349. "ix": 2,
  1350. "en": 1,
  1351. "ef": [{ "ty": 10, "nm": "Controller", "mn": "Pseudo/DUIK ik-0001", "ix": 1, "v": { "a": 0, "k": 47, "ix": 1 } }]
  1352. }
  1353. ],
  1354. "ip": 0,
  1355. "op": 51,
  1356. "st": 0,
  1357. "bm": 0
  1358. },
  1359. {
  1360. "ddd": 0,
  1361. "ind": 52,
  1362. "ty": 2,
  1363. "nm": "dog ear 1",
  1364. "parent": 62,
  1365. "refId": "image_0",
  1366. "sr": 1,
  1367. "ks": {
  1368. "o": { "a": 0, "k": 100, "ix": 11 },
  1369. "r": { "a": 0, "k": 0, "ix": 10 },
  1370. "p": { "a": 0, "k": [67.5, 108, 0], "ix": 2 },
  1371. "a": { "a": 0, "k": [117.5, 184, 0], "ix": 1 },
  1372. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1373. },
  1374. "ao": 0,
  1375. "ip": 0,
  1376. "op": 51,
  1377. "st": 0,
  1378. "bm": 0
  1379. },
  1380. {
  1381. "ddd": 0,
  1382. "ind": 53,
  1383. "ty": 2,
  1384. "nm": "dog collar bell",
  1385. "parent": 54,
  1386. "refId": "image_1",
  1387. "sr": 1,
  1388. "ks": {
  1389. "o": { "a": 0, "k": 100, "ix": 11 },
  1390. "r": { "a": 0, "k": 0, "ix": 10 },
  1391. "p": { "a": 0, "k": [240.5, 40.5, 0], "ix": 2 },
  1392. "a": { "a": 0, "k": [12.5, 19.5, 0], "ix": 1 },
  1393. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1394. },
  1395. "ao": 0,
  1396. "ip": 0,
  1397. "op": 51,
  1398. "st": 0,
  1399. "bm": 0
  1400. },
  1401. {
  1402. "ddd": 0,
  1403. "ind": 54,
  1404. "ty": 2,
  1405. "nm": "dog collar",
  1406. "parent": 64,
  1407. "refId": "image_2",
  1408. "sr": 1,
  1409. "ks": {
  1410. "o": { "a": 0, "k": 100, "ix": 11 },
  1411. "r": { "a": 0, "k": 0, "ix": 10 },
  1412. "p": { "a": 0, "k": [172.5, 386, 0], "ix": 2 },
  1413. "a": { "a": 0, "k": [131.5, 35, 0], "ix": 1 },
  1414. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1415. },
  1416. "ao": 0,
  1417. "ip": 0,
  1418. "op": 51,
  1419. "st": 0,
  1420. "bm": 0
  1421. },
  1422. {
  1423. "ddd": 0,
  1424. "ind": 55,
  1425. "ty": 2,
  1426. "nm": "left forearm pattern",
  1427. "parent": 56,
  1428. "refId": "image_3",
  1429. "sr": 1,
  1430. "ks": {
  1431. "o": { "a": 0, "k": 100, "ix": 11 },
  1432. "r": { "a": 0, "k": 0, "ix": 10 },
  1433. "p": { "a": 0, "k": [105.5, 187.5, 0], "ix": 2 },
  1434. "a": { "a": 0, "k": [81.5, 137.5, 0], "ix": 1 },
  1435. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1436. },
  1437. "ao": 0,
  1438. "ip": 0,
  1439. "op": 51,
  1440. "st": 0,
  1441. "bm": 0
  1442. },
  1443. {
  1444. "ddd": 0,
  1445. "ind": 56,
  1446. "ty": 2,
  1447. "nm": "left forearm",
  1448. "parent": 49,
  1449. "refId": "image_4",
  1450. "sr": 1,
  1451. "ks": {
  1452. "o": { "a": 0, "k": 100, "ix": 11 },
  1453. "r": { "a": 0, "k": 0, "ix": 10 },
  1454. "p": { "a": 0, "k": [-7.5, 81.5, 0], "ix": 2 },
  1455. "a": { "a": 0, "k": [102.5, 172.5, 0], "ix": 1 },
  1456. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1457. },
  1458. "ao": 0,
  1459. "ip": 0,
  1460. "op": 51,
  1461. "st": 0,
  1462. "bm": 0
  1463. },
  1464. {
  1465. "ddd": 0,
  1466. "ind": 57,
  1467. "ty": 2,
  1468. "nm": "left paw",
  1469. "parent": 46,
  1470. "refId": "image_5",
  1471. "sr": 1,
  1472. "ks": {
  1473. "o": { "a": 0, "k": 100, "ix": 11 },
  1474. "r": { "a": 0, "k": 0, "ix": 10 },
  1475. "p": { "a": 0, "k": [14.611, -1.194, 0], "ix": 2 },
  1476. "a": { "a": 0, "k": [48, 29.5, 0], "ix": 1 },
  1477. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1478. },
  1479. "ao": 0,
  1480. "ip": 0,
  1481. "op": 51,
  1482. "st": 0,
  1483. "bm": 0
  1484. },
  1485. {
  1486. "ddd": 0,
  1487. "ind": 58,
  1488. "ty": 2,
  1489. "nm": "left hand pattern",
  1490. "parent": 59,
  1491. "refId": "image_6",
  1492. "sr": 1,
  1493. "ks": {
  1494. "o": { "a": 0, "k": 100, "ix": 11 },
  1495. "r": { "a": 0, "k": 0, "ix": 10 },
  1496. "p": { "a": 0, "k": [92, 203.5, 0], "ix": 2 },
  1497. "a": { "a": 0, "k": [35.5, 41, 0], "ix": 1 },
  1498. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1499. },
  1500. "ao": 0,
  1501. "ip": 0,
  1502. "op": 51,
  1503. "st": 0,
  1504. "bm": 0
  1505. },
  1506. {
  1507. "ddd": 0,
  1508. "ind": 59,
  1509. "ty": 2,
  1510. "nm": "left hand",
  1511. "parent": 48,
  1512. "refId": "image_7",
  1513. "sr": 1,
  1514. "ks": {
  1515. "o": { "a": 0, "k": 100, "ix": 11 },
  1516. "r": { "a": 0, "k": 0, "ix": 10 },
  1517. "p": { "a": 0, "k": [13.611, 98.556, 0], "ix": 2 },
  1518. "a": { "a": 0, "k": [74, 161, 0], "ix": 1 },
  1519. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1520. },
  1521. "ao": 0,
  1522. "ip": 0,
  1523. "op": 51,
  1524. "st": 0,
  1525. "bm": 0
  1526. },
  1527. {
  1528. "ddd": 0,
  1529. "ind": 60,
  1530. "ty": 2,
  1531. "nm": "dog head pattern",
  1532. "parent": 62,
  1533. "refId": "image_8",
  1534. "sr": 1,
  1535. "ks": {
  1536. "o": { "a": 0, "k": 100, "ix": 11 },
  1537. "r": { "a": 0, "k": 0, "ix": 10 },
  1538. "p": { "a": 0, "k": [314, 161, 0], "ix": 2 },
  1539. "a": { "a": 0, "k": [179, 133, 0], "ix": 1 },
  1540. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1541. },
  1542. "ao": 0,
  1543. "hasMask": true,
  1544. "masksProperties": [
  1545. {
  1546. "inv": true,
  1547. "mode": "a",
  1548. "pt": {
  1549. "a": 0,
  1550. "k": {
  1551. "i": [
  1552. [0, 0],
  1553. [0, 0],
  1554. [0, 0],
  1555. [0, 0],
  1556. [1.5, 0]
  1557. ],
  1558. "o": [
  1559. [0, 0],
  1560. [0, 0],
  1561. [0, 0],
  1562. [0, 0],
  1563. [-1.5, 0]
  1564. ],
  1565. "v": [
  1566. [242, 187],
  1567. [188, 205.5],
  1568. [128.5, 265],
  1569. [163.5, 283],
  1570. [260, 214]
  1571. ],
  1572. "c": true
  1573. },
  1574. "ix": 1
  1575. },
  1576. "o": { "a": 0, "k": 100, "ix": 3 },
  1577. "x": { "a": 0, "k": 0, "ix": 4 },
  1578. "nm": "Mask 1"
  1579. }
  1580. ],
  1581. "ip": 0,
  1582. "op": 51,
  1583. "st": 0,
  1584. "bm": 0
  1585. },
  1586. {
  1587. "ddd": 0,
  1588. "ind": 61,
  1589. "ty": 2,
  1590. "nm": "dog mouth pattern",
  1591. "parent": 63,
  1592. "refId": "image_8",
  1593. "sr": 1,
  1594. "ks": {
  1595. "o": { "a": 0, "k": 100, "ix": 11 },
  1596. "r": { "a": 0, "k": 0, "ix": 10 },
  1597. "p": { "a": 0, "k": [314, 161, 0], "ix": 2 },
  1598. "a": { "a": 0, "k": [179, 133, 0], "ix": 1 },
  1599. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1600. },
  1601. "ao": 0,
  1602. "hasMask": true,
  1603. "masksProperties": [
  1604. {
  1605. "inv": false,
  1606. "mode": "a",
  1607. "pt": {
  1608. "a": 0,
  1609. "k": {
  1610. "i": [
  1611. [0, 0],
  1612. [0, 0],
  1613. [0, 0],
  1614. [0, 0],
  1615. [0, 0]
  1616. ],
  1617. "o": [
  1618. [0, 0],
  1619. [0, 0],
  1620. [0, 0],
  1621. [0, 0],
  1622. [0, 0]
  1623. ],
  1624. "v": [
  1625. [211, 199.5],
  1626. [161, 222],
  1627. [140, 261],
  1628. [179.5, 271.5],
  1629. [244, 209]
  1630. ],
  1631. "c": true
  1632. },
  1633. "ix": 1
  1634. },
  1635. "o": { "a": 0, "k": 100, "ix": 3 },
  1636. "x": { "a": 0, "k": 0, "ix": 4 },
  1637. "nm": "Mask 1"
  1638. }
  1639. ],
  1640. "ip": 0,
  1641. "op": 51,
  1642. "st": 0,
  1643. "bm": 0
  1644. },
  1645. {
  1646. "ddd": 0,
  1647. "ind": 62,
  1648. "ty": 2,
  1649. "nm": "dog head",
  1650. "parent": 18,
  1651. "refId": "image_9",
  1652. "sr": 1,
  1653. "ks": {
  1654. "o": { "a": 0, "k": 100, "ix": 11 },
  1655. "r": { "a": 0, "k": 0, "ix": 10 },
  1656. "p": { "a": 0, "k": [7, 0, 0], "ix": 2 },
  1657. "a": { "a": 0, "k": [180, 180, 0], "ix": 1 },
  1658. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1659. },
  1660. "ao": 0,
  1661. "hasMask": true,
  1662. "masksProperties": [
  1663. {
  1664. "inv": true,
  1665. "mode": "a",
  1666. "pt": {
  1667. "a": 0,
  1668. "k": {
  1669. "i": [
  1670. [13.5, 0],
  1671. [5.5, -20],
  1672. [0, 0],
  1673. [0, 0],
  1674. [0, 0]
  1675. ],
  1676. "o": [
  1677. [-13.5, 0],
  1678. [-5.5, 20],
  1679. [0, 0],
  1680. [0, 0],
  1681. [0, 0]
  1682. ],
  1683. "v": [
  1684. [342.5, 214.5],
  1685. [303, 256.5],
  1686. [352.5, 293],
  1687. [495.5, 354.5],
  1688. [490, 229.5]
  1689. ],
  1690. "c": true
  1691. },
  1692. "ix": 1
  1693. },
  1694. "o": { "a": 0, "k": 100, "ix": 3 },
  1695. "x": { "a": 0, "k": 0, "ix": 4 },
  1696. "nm": "Mask 1"
  1697. },
  1698. {
  1699. "inv": true,
  1700. "mode": "s",
  1701. "pt": {
  1702. "a": 0,
  1703. "k": {
  1704. "i": [
  1705. [0, 0],
  1706. [0, 0],
  1707. [0, 0],
  1708. [-143, 18],
  1709. [0, 0],
  1710. [0, 0],
  1711. [77, 50]
  1712. ],
  1713. "o": [
  1714. [0, 0],
  1715. [0, 0],
  1716. [0, 0],
  1717. [143, -18],
  1718. [0, 0],
  1719. [0, 0],
  1720. [-77, -50]
  1721. ],
  1722. "v": [
  1723. [369, -22],
  1724. [25, 1],
  1725. [11, 188],
  1726. [173, 341],
  1727. [312, 305],
  1728. [571, 281],
  1729. [617, 77]
  1730. ],
  1731. "c": true
  1732. },
  1733. "ix": 1
  1734. },
  1735. "o": { "a": 0, "k": 100, "ix": 3 },
  1736. "x": { "a": 0, "k": 0, "ix": 4 },
  1737. "nm": "Mask 2"
  1738. }
  1739. ],
  1740. "ip": 0,
  1741. "op": 51,
  1742. "st": 0,
  1743. "bm": 0
  1744. },
  1745. {
  1746. "ddd": 0,
  1747. "ind": 63,
  1748. "ty": 2,
  1749. "nm": "dog mouth",
  1750. "parent": 62,
  1751. "refId": "image_9",
  1752. "sr": 1,
  1753. "ks": {
  1754. "o": { "a": 0, "k": 100, "ix": 11 },
  1755. "r": {
  1756. "a": 1,
  1757. "k": [
  1758. {
  1759. "i": { "x": [0.833], "y": [0.833] },
  1760. "o": { "x": [0.167], "y": [0.167] },
  1761. "n": ["0p833_0p833_0p167_0p167"],
  1762. "t": 80,
  1763. "s": [0],
  1764. "e": [24.598]
  1765. },
  1766. {
  1767. "i": { "x": [0.833], "y": [0.833] },
  1768. "o": { "x": [0.167], "y": [0.167] },
  1769. "n": ["0p833_0p833_0p167_0p167"],
  1770. "t": 85,
  1771. "s": [24.598],
  1772. "e": [0]
  1773. },
  1774. { "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] },
  1775. {
  1776. "i": { "x": [0.833], "y": [0.833] },
  1777. "o": { "x": [0.167], "y": [0.167] },
  1778. "n": ["0p833_0p833_0p167_0p167"],
  1779. "t": 111,
  1780. "s": [0],
  1781. "e": [24.598]
  1782. },
  1783. {
  1784. "i": { "x": [0.833], "y": [0.833] },
  1785. "o": { "x": [0.167], "y": [0.167] },
  1786. "n": ["0p833_0p833_0p167_0p167"],
  1787. "t": 121,
  1788. "s": [24.598],
  1789. "e": [0]
  1790. },
  1791. {
  1792. "i": { "x": [0.833], "y": [0.833] },
  1793. "o": { "x": [0.167], "y": [0.167] },
  1794. "n": ["0p833_0p833_0p167_0p167"],
  1795. "t": 125,
  1796. "s": [0],
  1797. "e": [24.598]
  1798. },
  1799. {
  1800. "i": { "x": [0.833], "y": [0.833] },
  1801. "o": { "x": [0.167], "y": [0.167] },
  1802. "n": ["0p833_0p833_0p167_0p167"],
  1803. "t": 132,
  1804. "s": [24.598],
  1805. "e": [11.853]
  1806. },
  1807. {
  1808. "i": { "x": [0.833], "y": [0.833] },
  1809. "o": { "x": [0.167], "y": [0.167] },
  1810. "n": ["0p833_0p833_0p167_0p167"],
  1811. "t": 140,
  1812. "s": [11.853],
  1813. "e": [4.26]
  1814. },
  1815. {
  1816. "i": { "x": [0.833], "y": [0.833] },
  1817. "o": { "x": [0.167], "y": [0.167] },
  1818. "n": ["0p833_0p833_0p167_0p167"],
  1819. "t": 143,
  1820. "s": [4.26],
  1821. "e": [11.853]
  1822. },
  1823. {
  1824. "i": { "x": [0.833], "y": [0.833] },
  1825. "o": { "x": [0.167], "y": [0.167] },
  1826. "n": ["0p833_0p833_0p167_0p167"],
  1827. "t": 146,
  1828. "s": [11.853],
  1829. "e": [4.26]
  1830. },
  1831. {
  1832. "i": { "x": [0.833], "y": [0.833] },
  1833. "o": { "x": [0.167], "y": [0.167] },
  1834. "n": ["0p833_0p833_0p167_0p167"],
  1835. "t": 149,
  1836. "s": [4.26],
  1837. "e": [11.853]
  1838. },
  1839. {
  1840. "i": { "x": [0.833], "y": [0.833] },
  1841. "o": { "x": [0.167], "y": [0.167] },
  1842. "n": ["0p833_0p833_0p167_0p167"],
  1843. "t": 152,
  1844. "s": [11.853],
  1845. "e": [4.26]
  1846. },
  1847. {
  1848. "i": { "x": [0.833], "y": [0.833] },
  1849. "o": { "x": [0.167], "y": [0.167] },
  1850. "n": ["0p833_0p833_0p167_0p167"],
  1851. "t": 155,
  1852. "s": [4.26],
  1853. "e": [11.853]
  1854. },
  1855. {
  1856. "i": { "x": [0.833], "y": [0.833] },
  1857. "o": { "x": [0.167], "y": [0.167] },
  1858. "n": ["0p833_0p833_0p167_0p167"],
  1859. "t": 158,
  1860. "s": [11.853],
  1861. "e": [4.26]
  1862. },
  1863. {
  1864. "i": { "x": [0.833], "y": [0.833] },
  1865. "o": { "x": [0.167], "y": [0.167] },
  1866. "n": ["0p833_0p833_0p167_0p167"],
  1867. "t": 161,
  1868. "s": [4.26],
  1869. "e": [11.853]
  1870. },
  1871. {
  1872. "i": { "x": [0.833], "y": [0.833] },
  1873. "o": { "x": [0.167], "y": [0.167] },
  1874. "n": ["0p833_0p833_0p167_0p167"],
  1875. "t": 164,
  1876. "s": [11.853],
  1877. "e": [4.26]
  1878. },
  1879. {
  1880. "i": { "x": [0.833], "y": [0.833] },
  1881. "o": { "x": [0.167], "y": [0.167] },
  1882. "n": ["0p833_0p833_0p167_0p167"],
  1883. "t": 167,
  1884. "s": [4.26],
  1885. "e": [11.853]
  1886. },
  1887. {
  1888. "i": { "x": [0.833], "y": [0.833] },
  1889. "o": { "x": [0.167], "y": [0.167] },
  1890. "n": ["0p833_0p833_0p167_0p167"],
  1891. "t": 170,
  1892. "s": [11.853],
  1893. "e": [4.26]
  1894. },
  1895. {
  1896. "i": { "x": [0.833], "y": [0.833] },
  1897. "o": { "x": [0.167], "y": [0.167] },
  1898. "n": ["0p833_0p833_0p167_0p167"],
  1899. "t": 173,
  1900. "s": [4.26],
  1901. "e": [11.853]
  1902. },
  1903. {
  1904. "i": { "x": [0.833], "y": [0.833] },
  1905. "o": { "x": [0.167], "y": [0.167] },
  1906. "n": ["0p833_0p833_0p167_0p167"],
  1907. "t": 176,
  1908. "s": [11.853],
  1909. "e": [4.26]
  1910. },
  1911. {
  1912. "i": { "x": [0.833], "y": [0.833] },
  1913. "o": { "x": [0.167], "y": [0.167] },
  1914. "n": ["0p833_0p833_0p167_0p167"],
  1915. "t": 179,
  1916. "s": [4.26],
  1917. "e": [11.853]
  1918. },
  1919. {
  1920. "i": { "x": [0.833], "y": [0.833] },
  1921. "o": { "x": [0.167], "y": [0.167] },
  1922. "n": ["0p833_0p833_0p167_0p167"],
  1923. "t": 182,
  1924. "s": [11.853],
  1925. "e": [4.26]
  1926. },
  1927. { "t": 185 }
  1928. ],
  1929. "ix": 10
  1930. },
  1931. "p": { "a": 0, "k": [273, 206.5, 0], "ix": 2 },
  1932. "a": { "a": 0, "k": [273, 206.5, 0], "ix": 1 },
  1933. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1934. },
  1935. "ao": 0,
  1936. "hasMask": true,
  1937. "masksProperties": [
  1938. {
  1939. "inv": false,
  1940. "mode": "a",
  1941. "pt": {
  1942. "a": 0,
  1943. "k": {
  1944. "i": [
  1945. [13.5, 0],
  1946. [-2.882, 27.181],
  1947. [2.756, -10.022],
  1948. [0, 0],
  1949. [-28.137, 26.629],
  1950. [0, 0],
  1951. [0, 0]
  1952. ],
  1953. "o": [
  1954. [-6.735, 0],
  1955. [2.418, -22.799],
  1956. [-5.5, 20],
  1957. [0, 0],
  1958. [28.137, -26.629],
  1959. [0, 0],
  1960. [0, 0]
  1961. ],
  1962. "v": [
  1963. [374, 214.5],
  1964. [347.382, 187.819],
  1965. [246.5, 180.5],
  1966. [226, 328.5],
  1967. [306.863, 310.629],
  1968. [495.5, 354.5],
  1969. [490, 229.5]
  1970. ],
  1971. "c": true
  1972. },
  1973. "ix": 1
  1974. },
  1975. "o": { "a": 0, "k": 100, "ix": 3 },
  1976. "x": { "a": 0, "k": 0, "ix": 4 },
  1977. "nm": "Mask 1"
  1978. }
  1979. ],
  1980. "ip": 0,
  1981. "op": 51,
  1982. "st": 0,
  1983. "bm": 0
  1984. },
  1985. {
  1986. "ddd": 0,
  1987. "ind": 64,
  1988. "ty": 2,
  1989. "nm": "dog neck",
  1990. "parent": 19,
  1991. "refId": "image_9",
  1992. "sr": 1,
  1993. "ks": {
  1994. "o": { "a": 0, "k": 100, "ix": 11 },
  1995. "r": { "a": 0, "k": 0, "ix": 10 },
  1996. "p": { "a": 0, "k": [-18, -8, 0], "ix": 2 },
  1997. "a": { "a": 0, "k": [155, 473, 0], "ix": 1 },
  1998. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  1999. },
  2000. "ao": 0,
  2001. "hasMask": true,
  2002. "masksProperties": [
  2003. {
  2004. "inv": false,
  2005. "mode": "a",
  2006. "pt": {
  2007. "a": 0,
  2008. "k": {
  2009. "i": [
  2010. [54.326, -1.283],
  2011. [-5.299, -26.494],
  2012. [-6.271, -32.206],
  2013. [0, 0],
  2014. [0, 0],
  2015. [0, 0],
  2016. [5.87, 116.413],
  2017. [-6.8, 19.432],
  2018. [4.09, 8.393]
  2019. ],
  2020. "o": [
  2021. [-127, 3],
  2022. [4.446, 22.232],
  2023. [2.191, 11.253],
  2024. [0, 0],
  2025. [0, 0],
  2026. [0, 0],
  2027. [-1.052, -20.857],
  2028. [7.365, -21.045],
  2029. [-24.026, -49.296]
  2030. ],
  2031. "v": [
  2032. [165, 81],
  2033. [25, 220],
  2034. [48.401, 339.506],
  2035. [40, 555],
  2036. [181.004, 632.072],
  2037. [297, 543],
  2038. [293.771, 343.86],
  2039. [317.635, 272.045],
  2040. [263.026, 163.296]
  2041. ],
  2042. "c": true
  2043. },
  2044. "ix": 1
  2045. },
  2046. "o": { "a": 0, "k": 100, "ix": 3 },
  2047. "x": { "a": 0, "k": 0, "ix": 4 },
  2048. "nm": "Mask 2"
  2049. }
  2050. ],
  2051. "ip": 0,
  2052. "op": 51,
  2053. "st": 0,
  2054. "bm": 0
  2055. },
  2056. {
  2057. "ddd": 0,
  2058. "ind": 65,
  2059. "ty": 2,
  2060. "nm": "dog ear 2",
  2061. "parent": 62,
  2062. "refId": "image_10",
  2063. "sr": 1,
  2064. "ks": {
  2065. "o": { "a": 0, "k": 100, "ix": 11 },
  2066. "r": { "a": 0, "k": 0, "ix": 10 },
  2067. "p": { "a": 0, "k": [117, 97.5, 0], "ix": 2 },
  2068. "a": { "a": 0, "k": [118, 201.5, 0], "ix": 1 },
  2069. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2070. },
  2071. "ao": 0,
  2072. "ip": 0,
  2073. "op": 51,
  2074. "st": 0,
  2075. "bm": 0
  2076. },
  2077. {
  2078. "ddd": 0,
  2079. "ind": 66,
  2080. "ty": 2,
  2081. "nm": "left thigh pattern",
  2082. "parent": 67,
  2083. "refId": "image_11",
  2084. "sr": 1,
  2085. "ks": {
  2086. "o": { "a": 0, "k": 100, "ix": 11 },
  2087. "r": { "a": 0, "k": 0, "ix": 10 },
  2088. "p": { "a": 0, "k": [181.5, 184.5, 0], "ix": 2 },
  2089. "a": { "a": 0, "k": [144.5, 145.5, 0], "ix": 1 },
  2090. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2091. },
  2092. "ao": 0,
  2093. "ip": 0,
  2094. "op": 51,
  2095. "st": 0,
  2096. "bm": 0
  2097. },
  2098. {
  2099. "ddd": 0,
  2100. "ind": 67,
  2101. "ty": 2,
  2102. "nm": "left thigh",
  2103. "parent": 36,
  2104. "refId": "image_12",
  2105. "sr": 1,
  2106. "ks": {
  2107. "o": { "a": 0, "k": 100, "ix": 11 },
  2108. "r": { "a": 0, "k": 0, "ix": 10 },
  2109. "p": { "a": 0, "k": [6, 42.5, 0], "ix": 2 },
  2110. "a": { "a": 0, "k": [187, 228.5, 0], "ix": 1 },
  2111. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2112. },
  2113. "ao": 0,
  2114. "ip": 0,
  2115. "op": 51,
  2116. "st": 0,
  2117. "bm": 0
  2118. },
  2119. {
  2120. "ddd": 0,
  2121. "ind": 68,
  2122. "ty": 2,
  2123. "nm": "left calf",
  2124. "parent": 35,
  2125. "refId": "image_13",
  2126. "sr": 1,
  2127. "ks": {
  2128. "o": { "a": 0, "k": 100, "ix": 11 },
  2129. "r": { "a": 0, "k": 0, "ix": 10 },
  2130. "p": { "a": 0, "k": [-1, 71.5, 0], "ix": 2 },
  2131. "a": { "a": 0, "k": [53, 123.5, 0], "ix": 1 },
  2132. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2133. },
  2134. "ao": 0,
  2135. "ip": 0,
  2136. "op": 51,
  2137. "st": 0,
  2138. "bm": 0
  2139. },
  2140. {
  2141. "ddd": 0,
  2142. "ind": 69,
  2143. "ty": 2,
  2144. "nm": "left foot",
  2145. "parent": 34,
  2146. "refId": "image_14",
  2147. "sr": 1,
  2148. "ks": {
  2149. "o": { "a": 0, "k": 100, "ix": 11 },
  2150. "r": { "a": 0, "k": 0, "ix": 10 },
  2151. "p": { "a": 0, "k": [47.5, 56, 0], "ix": 2 },
  2152. "a": { "a": 0, "k": [81, 89.5, 0], "ix": 1 },
  2153. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2154. },
  2155. "ao": 0,
  2156. "ip": 0,
  2157. "op": 51,
  2158. "st": 0,
  2159. "bm": 0
  2160. },
  2161. {
  2162. "ddd": 0,
  2163. "ind": 70,
  2164. "ty": 2,
  2165. "nm": "left foot paw",
  2166. "parent": 32,
  2167. "refId": "image_15",
  2168. "sr": 1,
  2169. "ks": {
  2170. "o": { "a": 0, "k": 100, "ix": 11 },
  2171. "r": { "a": 0, "k": 0, "ix": 10 },
  2172. "p": { "a": 0, "k": [13, 0.5, 0], "ix": 2 },
  2173. "a": { "a": 0, "k": [46.5, 29, 0], "ix": 1 },
  2174. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2175. },
  2176. "ao": 0,
  2177. "ip": 0,
  2178. "op": 51,
  2179. "st": 0,
  2180. "bm": 0
  2181. },
  2182. {
  2183. "ddd": 0,
  2184. "ind": 74,
  2185. "ty": 0,
  2186. "nm": "Body Precomp",
  2187. "refId": "comp_1",
  2188. "sr": 1,
  2189. "ks": {
  2190. "o": { "a": 0, "k": 100, "ix": 11 },
  2191. "r": { "a": 0, "k": 0, "ix": 10 },
  2192. "p": { "a": 0, "k": [896, 1220, 0], "ix": 2 },
  2193. "a": { "a": 0, "k": [400, 225, 0], "ix": 1 },
  2194. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2195. },
  2196. "ao": 0,
  2197. "ef": [
  2198. {
  2199. "ty": 34,
  2200. "nm": "Puppet",
  2201. "np": 5,
  2202. "mn": "ADBE FreePin3",
  2203. "ix": 1,
  2204. "en": 1,
  2205. "ef": [
  2206. { "ty": 7, "nm": "Puppet Engine", "mn": "ADBE FreePin3 Puppet Engine", "ix": 1, "v": { "a": 0, "k": 1, "ix": 1 } },
  2207. { "ty": 7, "nm": "On Transparent", "mn": "ADBE FreePin3 On Transparent", "ix": 2, "v": { "a": 0, "k": 0, "ix": 2 } },
  2208. {
  2209. "ty": 30,
  2210. "nm": "arap",
  2211. "np": 3,
  2212. "mn": "ADBE FreePin3 ARAP Group",
  2213. "ix": 3,
  2214. "en": 1,
  2215. "ef": [
  2216. { "ty": 6, "nm": "Auto-traced Shapes", "mn": "ADBE FreePin3 Outlines", "ix": 1, "v": 0 },
  2217. {
  2218. "ty": 1,
  2219. "nm": "Mesh",
  2220. "np": 2,
  2221. "mn": "ADBE FreePin3 Mesh Group",
  2222. "ix": 2,
  2223. "en": 1,
  2224. "ef": [
  2225. {
  2226. "nm": "Mesh 1",
  2227. "np": 7,
  2228. "mn": "ADBE FreePin3 Mesh Atom",
  2229. "ix": 1,
  2230. "en": 1,
  2231. "ef": [
  2232. { "ty": 6, "nm": "Mesh", "mn": "ADBE FreePin3 Mesh", "ix": 1, "v": 0 },
  2233. { "ty": 0, "nm": "Triangles", "mn": "ADBE FreePin3 Mesh Tri Count", "ix": 2, "v": { "a": 0, "k": 500, "ix": 2 } },
  2234. { "ty": 0, "nm": "Expansion", "mn": "ADBE FreePin3 Mesh Expansion", "ix": 3, "v": { "a": 0, "k": 10, "ix": 3 } },
  2235. {
  2236. "nm": "Deform",
  2237. "np": 4,
  2238. "mn": "ADBE FreePin3 PosPins",
  2239. "ix": 4,
  2240. "en": 1,
  2241. "ef": [
  2242. {
  2243. "nm": "Neck",
  2244. "np": 7,
  2245. "mn": "ADBE FreePin3 PosPin Atom",
  2246. "ix": 1,
  2247. "en": 1,
  2248. "ef": [
  2249. {
  2250. "ty": 3,
  2251. "nm": "Vertex Offset",
  2252. "mn": "ADBE FreePin3 PosPin Vtx Offset",
  2253. "ix": 1,
  2254. "v": { "a": 0, "k": [-18.494, 1.353], "ix": 1 }
  2255. },
  2256. { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 143, "ix": 2 } },
  2257. { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } },
  2258. {
  2259. "ty": 3,
  2260. "nm": "Position",
  2261. "mn": "ADBE FreePin3 PosPin Position",
  2262. "ix": 4,
  2263. "v": {
  2264. "a": 0,
  2265. "k": [669, 130],
  2266. "ix": 4,
  2267. "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;"
  2268. }
  2269. },
  2270. { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } },
  2271. { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } }
  2272. ]
  2273. },
  2274. {
  2275. "nm": "Spine 2",
  2276. "np": 7,
  2277. "mn": "ADBE FreePin3 PosPin Atom",
  2278. "ix": 2,
  2279. "en": 1,
  2280. "ef": [
  2281. {
  2282. "ty": 3,
  2283. "nm": "Vertex Offset",
  2284. "mn": "ADBE FreePin3 PosPin Vtx Offset",
  2285. "ix": 1,
  2286. "v": { "a": 0, "k": [2.836, -1.033], "ix": 1 }
  2287. },
  2288. { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 202, "ix": 2 } },
  2289. { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } },
  2290. {
  2291. "ty": 3,
  2292. "nm": "Position",
  2293. "mn": "ADBE FreePin3 PosPin Position",
  2294. "ix": 4,
  2295. "v": {
  2296. "a": 0,
  2297. "k": [397, 278],
  2298. "ix": 4,
  2299. "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;"
  2300. }
  2301. },
  2302. { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } },
  2303. { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } }
  2304. ]
  2305. },
  2306. {
  2307. "nm": "Spine",
  2308. "np": 7,
  2309. "mn": "ADBE FreePin3 PosPin Atom",
  2310. "ix": 3,
  2311. "en": 1,
  2312. "ef": [
  2313. {
  2314. "ty": 3,
  2315. "nm": "Vertex Offset",
  2316. "mn": "ADBE FreePin3 PosPin Vtx Offset",
  2317. "ix": 1,
  2318. "v": { "a": 0, "k": [-1.052, 1.732], "ix": 1 }
  2319. },
  2320. { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 218, "ix": 2 } },
  2321. { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } },
  2322. {
  2323. "ty": 3,
  2324. "nm": "Position",
  2325. "mn": "ADBE FreePin3 PosPin Position",
  2326. "ix": 4,
  2327. "v": {
  2328. "a": 0,
  2329. "k": [134, 142],
  2330. "ix": 4,
  2331. "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;"
  2332. }
  2333. },
  2334. { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } },
  2335. { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } }
  2336. ]
  2337. }
  2338. ]
  2339. },
  2340. { "nm": "Overlap", "np": 1, "mn": "ADBE FreePin3 HghtPins", "ix": 5, "en": 1, "ef": [] },
  2341. { "nm": "Stiffness", "np": 1, "mn": "ADBE FreePin3 StarchPins", "ix": 6, "en": 1, "ef": [] }
  2342. ]
  2343. }
  2344. ]
  2345. }
  2346. ]
  2347. }
  2348. ]
  2349. },
  2350. {
  2351. "ty": 5,
  2352. "nm": "B | Neck - 3",
  2353. "np": 4,
  2354. "mn": "Pseudo/DUIK bone linker",
  2355. "ix": 2,
  2356. "en": 1,
  2357. "ef": [
  2358. { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 71, "ix": 1 } },
  2359. {
  2360. "ty": 2,
  2361. "nm": "Bone color",
  2362. "mn": "Pseudo/DUIK bone linker-0002",
  2363. "ix": 2,
  2364. "v": {
  2365. "a": 0,
  2366. "k": [0.925490196078, 0.094117647059, 0.094117647059, 1],
  2367. "ix": 2,
  2368. "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Neck - 3')(1).effect('Bone')(1);\n} catch (e) {\n}"
  2369. }
  2370. }
  2371. ]
  2372. },
  2373. {
  2374. "ty": 5,
  2375. "nm": "B | Spine 2 - 3",
  2376. "np": 4,
  2377. "mn": "Pseudo/DUIK bone linker",
  2378. "ix": 3,
  2379. "en": 1,
  2380. "ef": [
  2381. { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 72, "ix": 1 } },
  2382. {
  2383. "ty": 2,
  2384. "nm": "Bone color",
  2385. "mn": "Pseudo/DUIK bone linker-0002",
  2386. "ix": 2,
  2387. "v": {
  2388. "a": 0,
  2389. "k": [0.925490196078, 0.094117647059, 0.094117647059, 1],
  2390. "ix": 2,
  2391. "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Spine 2 - 3')(1).effect('Bone')(1);\n} catch (e) {\n}"
  2392. }
  2393. }
  2394. ]
  2395. },
  2396. {
  2397. "ty": 5,
  2398. "nm": "B | Spine - 3",
  2399. "np": 4,
  2400. "mn": "Pseudo/DUIK bone linker",
  2401. "ix": 4,
  2402. "en": 1,
  2403. "ef": [
  2404. { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 73, "ix": 1 } },
  2405. {
  2406. "ty": 2,
  2407. "nm": "Bone color",
  2408. "mn": "Pseudo/DUIK bone linker-0002",
  2409. "ix": 2,
  2410. "v": {
  2411. "a": 0,
  2412. "k": [0.925490196078, 0.094117647059, 0.094117647059, 1],
  2413. "ix": 2,
  2414. "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Spine - 3')(1).effect('Bone')(1);\n} catch (e) {\n}"
  2415. }
  2416. }
  2417. ]
  2418. }
  2419. ],
  2420. "w": 800,
  2421. "h": 450,
  2422. "ip": 0,
  2423. "op": 51,
  2424. "st": 0,
  2425. "bm": 0
  2426. },
  2427. {
  2428. "ddd": 0,
  2429. "ind": 75,
  2430. "ty": 2,
  2431. "nm": "right forearm pattern",
  2432. "parent": 76,
  2433. "refId": "image_3",
  2434. "sr": 1,
  2435. "ks": {
  2436. "o": { "a": 0, "k": 100, "ix": 11 },
  2437. "r": { "a": 0, "k": 0, "ix": 10 },
  2438. "p": { "a": 0, "k": [105.5, 187.5, 0], "ix": 2 },
  2439. "a": { "a": 0, "k": [81.5, 137.5, 0], "ix": 1 },
  2440. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2441. },
  2442. "ao": 0,
  2443. "ip": 0,
  2444. "op": 51,
  2445. "st": 0,
  2446. "bm": 0
  2447. },
  2448. {
  2449. "ddd": 0,
  2450. "ind": 76,
  2451. "ty": 2,
  2452. "nm": "right forearm",
  2453. "parent": 42,
  2454. "refId": "image_4",
  2455. "sr": 1,
  2456. "ks": {
  2457. "o": { "a": 0, "k": 100, "ix": 11 },
  2458. "r": { "a": 0, "k": 0, "ix": 10 },
  2459. "p": { "a": 0, "k": [-7.5, 81.5, 0], "ix": 2 },
  2460. "a": { "a": 0, "k": [102.5, 172.5, 0], "ix": 1 },
  2461. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2462. },
  2463. "ao": 0,
  2464. "ip": 0,
  2465. "op": 51,
  2466. "st": 0,
  2467. "bm": 0
  2468. },
  2469. {
  2470. "ddd": 0,
  2471. "ind": 77,
  2472. "ty": 2,
  2473. "nm": "right paw",
  2474. "parent": 39,
  2475. "refId": "image_5",
  2476. "sr": 1,
  2477. "ks": {
  2478. "o": { "a": 0, "k": 100, "ix": 11 },
  2479. "r": { "a": 0, "k": 0, "ix": 10 },
  2480. "p": { "a": 0, "k": [14.611, -1.194, 0], "ix": 2 },
  2481. "a": { "a": 0, "k": [48, 29.5, 0], "ix": 1 },
  2482. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2483. },
  2484. "ao": 0,
  2485. "ip": 0,
  2486. "op": 51,
  2487. "st": 0,
  2488. "bm": 0
  2489. },
  2490. {
  2491. "ddd": 0,
  2492. "ind": 78,
  2493. "ty": 2,
  2494. "nm": "right hand pattern",
  2495. "parent": 79,
  2496. "refId": "image_6",
  2497. "sr": 1,
  2498. "ks": {
  2499. "o": { "a": 0, "k": 100, "ix": 11 },
  2500. "r": { "a": 0, "k": 0, "ix": 10 },
  2501. "p": { "a": 0, "k": [92, 203.5, 0], "ix": 2 },
  2502. "a": { "a": 0, "k": [35.5, 41, 0], "ix": 1 },
  2503. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2504. },
  2505. "ao": 0,
  2506. "ip": 0,
  2507. "op": 51,
  2508. "st": 0,
  2509. "bm": 0
  2510. },
  2511. {
  2512. "ddd": 0,
  2513. "ind": 79,
  2514. "ty": 2,
  2515. "nm": "right hand",
  2516. "parent": 41,
  2517. "refId": "image_7",
  2518. "sr": 1,
  2519. "ks": {
  2520. "o": { "a": 0, "k": 100, "ix": 11 },
  2521. "r": { "a": 0, "k": 0, "ix": 10 },
  2522. "p": { "a": 0, "k": [13.611, 98.556, 0], "ix": 2 },
  2523. "a": { "a": 0, "k": [74, 161, 0], "ix": 1 },
  2524. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2525. },
  2526. "ao": 0,
  2527. "ip": 0,
  2528. "op": 51,
  2529. "st": 0,
  2530. "bm": 0
  2531. },
  2532. {
  2533. "ddd": 0,
  2534. "ind": 80,
  2535. "ty": 2,
  2536. "nm": "right thigh",
  2537. "parent": 29,
  2538. "refId": "image_12",
  2539. "sr": 1,
  2540. "ks": {
  2541. "o": { "a": 0, "k": 100, "ix": 11 },
  2542. "r": { "a": 0, "k": 0, "ix": 10 },
  2543. "p": { "a": 0, "k": [6, 42.5, 0], "ix": 2 },
  2544. "a": { "a": 0, "k": [187, 228.5, 0], "ix": 1 },
  2545. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2546. },
  2547. "ao": 0,
  2548. "ip": 0,
  2549. "op": 51,
  2550. "st": 0,
  2551. "bm": 0
  2552. },
  2553. {
  2554. "ddd": 0,
  2555. "ind": 81,
  2556. "ty": 2,
  2557. "nm": "right calf",
  2558. "parent": 28,
  2559. "refId": "image_13",
  2560. "sr": 1,
  2561. "ks": {
  2562. "o": { "a": 0, "k": 100, "ix": 11 },
  2563. "r": { "a": 0, "k": 0, "ix": 10 },
  2564. "p": { "a": 0, "k": [-1, 71.5, 0], "ix": 2 },
  2565. "a": { "a": 0, "k": [53, 123.5, 0], "ix": 1 },
  2566. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2567. },
  2568. "ao": 0,
  2569. "ip": 0,
  2570. "op": 51,
  2571. "st": 0,
  2572. "bm": 0
  2573. },
  2574. {
  2575. "ddd": 0,
  2576. "ind": 82,
  2577. "ty": 2,
  2578. "nm": "right foot",
  2579. "parent": 27,
  2580. "refId": "image_14",
  2581. "sr": 1,
  2582. "ks": {
  2583. "o": { "a": 0, "k": 100, "ix": 11 },
  2584. "r": { "a": 0, "k": 0, "ix": 10 },
  2585. "p": { "a": 0, "k": [47.5, 56, 0], "ix": 2 },
  2586. "a": { "a": 0, "k": [81, 89.5, 0], "ix": 1 },
  2587. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2588. },
  2589. "ao": 0,
  2590. "ip": 0,
  2591. "op": 51,
  2592. "st": 0,
  2593. "bm": 0
  2594. },
  2595. {
  2596. "ddd": 0,
  2597. "ind": 83,
  2598. "ty": 2,
  2599. "nm": "right foot paw",
  2600. "parent": 25,
  2601. "refId": "image_15",
  2602. "sr": 1,
  2603. "ks": {
  2604. "o": { "a": 0, "k": 100, "ix": 11 },
  2605. "r": { "a": 0, "k": 0, "ix": 10 },
  2606. "p": { "a": 0, "k": [13, 0.5, 0], "ix": 2 },
  2607. "a": { "a": 0, "k": [46.5, 29, 0], "ix": 1 },
  2608. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2609. },
  2610. "ao": 0,
  2611. "ip": 0,
  2612. "op": 51,
  2613. "st": 0,
  2614. "bm": 0
  2615. },
  2616. {
  2617. "ddd": 0,
  2618. "ind": 89,
  2619. "ty": 0,
  2620. "nm": "dog tail precomp",
  2621. "refId": "comp_2",
  2622. "sr": 1,
  2623. "ks": {
  2624. "o": { "a": 0, "k": 100, "ix": 11 },
  2625. "r": { "a": 0, "k": 0, "ix": 10 },
  2626. "p": { "a": 0, "k": [600, 884, 0], "ix": 2 },
  2627. "a": { "a": 0, "k": [200, 175, 0], "ix": 1 },
  2628. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2629. },
  2630. "ao": 0,
  2631. "ef": [
  2632. {
  2633. "ty": 34,
  2634. "nm": "Puppet",
  2635. "np": 5,
  2636. "mn": "ADBE FreePin3",
  2637. "ix": 1,
  2638. "en": 1,
  2639. "ef": [
  2640. { "ty": 7, "nm": "Puppet Engine", "mn": "ADBE FreePin3 Puppet Engine", "ix": 1, "v": { "a": 0, "k": 1, "ix": 1 } },
  2641. { "ty": 7, "nm": "On Transparent", "mn": "ADBE FreePin3 On Transparent", "ix": 2, "v": { "a": 0, "k": 0, "ix": 2 } },
  2642. {
  2643. "ty": 30,
  2644. "nm": "arap",
  2645. "np": 3,
  2646. "mn": "ADBE FreePin3 ARAP Group",
  2647. "ix": 3,
  2648. "en": 1,
  2649. "ef": [
  2650. { "ty": 6, "nm": "Auto-traced Shapes", "mn": "ADBE FreePin3 Outlines", "ix": 1, "v": 0 },
  2651. {
  2652. "ty": 1,
  2653. "nm": "Mesh",
  2654. "np": 2,
  2655. "mn": "ADBE FreePin3 Mesh Group",
  2656. "ix": 2,
  2657. "en": 1,
  2658. "ef": [
  2659. {
  2660. "nm": "Mesh 1",
  2661. "np": 7,
  2662. "mn": "ADBE FreePin3 Mesh Atom",
  2663. "ix": 1,
  2664. "en": 1,
  2665. "ef": [
  2666. { "ty": 6, "nm": "Mesh", "mn": "ADBE FreePin3 Mesh", "ix": 1, "v": 0 },
  2667. { "ty": 0, "nm": "Triangles", "mn": "ADBE FreePin3 Mesh Tri Count", "ix": 2, "v": { "a": 0, "k": 500, "ix": 2 } },
  2668. { "ty": 0, "nm": "Expansion", "mn": "ADBE FreePin3 Mesh Expansion", "ix": 3, "v": { "a": 0, "k": 10, "ix": 3 } },
  2669. {
  2670. "nm": "Deform",
  2671. "np": 6,
  2672. "mn": "ADBE FreePin3 PosPins",
  2673. "ix": 4,
  2674. "en": 1,
  2675. "ef": [
  2676. {
  2677. "nm": "Tail End",
  2678. "np": 7,
  2679. "mn": "ADBE FreePin3 PosPin Atom",
  2680. "ix": 1,
  2681. "en": 1,
  2682. "ef": [
  2683. {
  2684. "ty": 3,
  2685. "nm": "Vertex Offset",
  2686. "mn": "ADBE FreePin3 PosPin Vtx Offset",
  2687. "ix": 1,
  2688. "v": { "a": 0, "k": [4.465, 5.19], "ix": 1 }
  2689. },
  2690. { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 199, "ix": 2 } },
  2691. { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } },
  2692. {
  2693. "ty": 3,
  2694. "nm": "Position",
  2695. "mn": "ADBE FreePin3 PosPin Position",
  2696. "ix": 4,
  2697. "v": {
  2698. "a": 0,
  2699. "k": [278, 277],
  2700. "ix": 4,
  2701. "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;"
  2702. }
  2703. },
  2704. { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } },
  2705. { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } }
  2706. ]
  2707. },
  2708. {
  2709. "nm": "Tail 4",
  2710. "np": 7,
  2711. "mn": "ADBE FreePin3 PosPin Atom",
  2712. "ix": 2,
  2713. "en": 1,
  2714. "ef": [
  2715. {
  2716. "ty": 3,
  2717. "nm": "Vertex Offset",
  2718. "mn": "ADBE FreePin3 PosPin Vtx Offset",
  2719. "ix": 1,
  2720. "v": { "a": 0, "k": [-5.085, 11.409], "ix": 1 }
  2721. },
  2722. { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 229, "ix": 2 } },
  2723. { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } },
  2724. {
  2725. "ty": 3,
  2726. "nm": "Position",
  2727. "mn": "ADBE FreePin3 PosPin Position",
  2728. "ix": 4,
  2729. "v": {
  2730. "a": 0,
  2731. "k": [320, 180],
  2732. "ix": 4,
  2733. "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;"
  2734. }
  2735. },
  2736. { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } },
  2737. { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } }
  2738. ]
  2739. },
  2740. {
  2741. "nm": "Tail 3",
  2742. "np": 7,
  2743. "mn": "ADBE FreePin3 PosPin Atom",
  2744. "ix": 3,
  2745. "en": 1,
  2746. "ef": [
  2747. {
  2748. "ty": 3,
  2749. "nm": "Vertex Offset",
  2750. "mn": "ADBE FreePin3 PosPin Vtx Offset",
  2751. "ix": 1,
  2752. "v": { "a": 0, "k": [-9.878, 6.08], "ix": 1 }
  2753. },
  2754. { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 168, "ix": 2 } },
  2755. { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } },
  2756. {
  2757. "ty": 3,
  2758. "nm": "Position",
  2759. "mn": "ADBE FreePin3 PosPin Position",
  2760. "ix": 4,
  2761. "v": {
  2762. "a": 0,
  2763. "k": [191, 97],
  2764. "ix": 4,
  2765. "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;"
  2766. }
  2767. },
  2768. { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } },
  2769. { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } }
  2770. ]
  2771. },
  2772. {
  2773. "nm": "Tail 2",
  2774. "np": 7,
  2775. "mn": "ADBE FreePin3 PosPin Atom",
  2776. "ix": 4,
  2777. "en": 1,
  2778. "ef": [
  2779. {
  2780. "ty": 3,
  2781. "nm": "Vertex Offset",
  2782. "mn": "ADBE FreePin3 PosPin Vtx Offset",
  2783. "ix": 1,
  2784. "v": { "a": 0, "k": [-8.638, 1.949], "ix": 1 }
  2785. },
  2786. { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 288, "ix": 2 } },
  2787. { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } },
  2788. {
  2789. "ty": 3,
  2790. "nm": "Position",
  2791. "mn": "ADBE FreePin3 PosPin Position",
  2792. "ix": 4,
  2793. "v": {
  2794. "a": 0,
  2795. "k": [69, 200],
  2796. "ix": 4,
  2797. "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;"
  2798. }
  2799. },
  2800. { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } },
  2801. { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } }
  2802. ]
  2803. },
  2804. {
  2805. "nm": "Tail",
  2806. "np": 7,
  2807. "mn": "ADBE FreePin3 PosPin Atom",
  2808. "ix": 5,
  2809. "en": 1,
  2810. "ef": [
  2811. {
  2812. "ty": 3,
  2813. "nm": "Vertex Offset",
  2814. "mn": "ADBE FreePin3 PosPin Vtx Offset",
  2815. "ix": 1,
  2816. "v": { "a": 0, "k": [-14.222, -1.49], "ix": 1 }
  2817. },
  2818. { "ty": 0, "nm": "Vertex Index", "mn": "ADBE FreePin3 PosPin Vtx Index", "ix": 2, "v": { "a": 0, "k": 299, "ix": 2 } },
  2819. { "ty": 7, "nm": "Pin Type", "mn": "ADBE FreePin3 PosPin Type", "ix": 3, "v": { "a": 0, "k": 1, "ix": 3 } },
  2820. {
  2821. "ty": 3,
  2822. "nm": "Position",
  2823. "mn": "ADBE FreePin3 PosPin Position",
  2824. "ix": 4,
  2825. "v": {
  2826. "a": 0,
  2827. "k": [139, 321],
  2828. "ix": 4,
  2829. "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;"
  2830. }
  2831. },
  2832. { "ty": 0, "nm": "Scale", "mn": "ADBE FreePin3 PosPin Scale", "ix": 5, "v": { "a": 0, "k": 100, "ix": 5 } },
  2833. { "ty": 0, "nm": "Rotation", "mn": "ADBE FreePin3 PosPin Rotation", "ix": 6, "v": { "a": 0, "k": 0, "ix": 6 } }
  2834. ]
  2835. }
  2836. ]
  2837. },
  2838. { "nm": "Overlap", "np": 1, "mn": "ADBE FreePin3 HghtPins", "ix": 5, "en": 1, "ef": [] },
  2839. { "nm": "Stiffness", "np": 1, "mn": "ADBE FreePin3 StarchPins", "ix": 6, "en": 1, "ef": [] }
  2840. ]
  2841. }
  2842. ]
  2843. }
  2844. ]
  2845. }
  2846. ]
  2847. },
  2848. {
  2849. "ty": 5,
  2850. "nm": "B | Tail End - 3",
  2851. "np": 4,
  2852. "mn": "Pseudo/DUIK bone linker",
  2853. "ix": 2,
  2854. "en": 1,
  2855. "ef": [
  2856. { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 84, "ix": 1 } },
  2857. {
  2858. "ty": 2,
  2859. "nm": "Bone color",
  2860. "mn": "Pseudo/DUIK bone linker-0002",
  2861. "ix": 2,
  2862. "v": {
  2863. "a": 0,
  2864. "k": [0.925490196078, 0.094117647059, 0.094117647059, 1],
  2865. "ix": 2,
  2866. "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail End - 3')(1).effect('Bone')(1);\n} catch (e) {\n}"
  2867. }
  2868. }
  2869. ]
  2870. },
  2871. {
  2872. "ty": 5,
  2873. "nm": "B | Tail 4 - 3",
  2874. "np": 4,
  2875. "mn": "Pseudo/DUIK bone linker",
  2876. "ix": 3,
  2877. "en": 1,
  2878. "ef": [
  2879. { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 85, "ix": 1 } },
  2880. {
  2881. "ty": 2,
  2882. "nm": "Bone color",
  2883. "mn": "Pseudo/DUIK bone linker-0002",
  2884. "ix": 2,
  2885. "v": {
  2886. "a": 0,
  2887. "k": [0.925490196078, 0.094117647059, 0.094117647059, 1],
  2888. "ix": 2,
  2889. "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail 4 - 3')(1).effect('Bone')(1);\n} catch (e) {\n}"
  2890. }
  2891. }
  2892. ]
  2893. },
  2894. {
  2895. "ty": 5,
  2896. "nm": "B | Tail 3 - 3",
  2897. "np": 4,
  2898. "mn": "Pseudo/DUIK bone linker",
  2899. "ix": 4,
  2900. "en": 1,
  2901. "ef": [
  2902. { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 86, "ix": 1 } },
  2903. {
  2904. "ty": 2,
  2905. "nm": "Bone color",
  2906. "mn": "Pseudo/DUIK bone linker-0002",
  2907. "ix": 2,
  2908. "v": {
  2909. "a": 0,
  2910. "k": [0.925490196078, 0.094117647059, 0.094117647059, 1],
  2911. "ix": 2,
  2912. "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail 3 - 3')(1).effect('Bone')(1);\n} catch (e) {\n}"
  2913. }
  2914. }
  2915. ]
  2916. },
  2917. {
  2918. "ty": 5,
  2919. "nm": "B | Tail 2 - 3",
  2920. "np": 4,
  2921. "mn": "Pseudo/DUIK bone linker",
  2922. "ix": 5,
  2923. "en": 1,
  2924. "ef": [
  2925. { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 87, "ix": 1 } },
  2926. {
  2927. "ty": 2,
  2928. "nm": "Bone color",
  2929. "mn": "Pseudo/DUIK bone linker-0002",
  2930. "ix": 2,
  2931. "v": {
  2932. "a": 0,
  2933. "k": [0.925490196078, 0.094117647059, 0.094117647059, 1],
  2934. "ix": 2,
  2935. "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail 2 - 3')(1).effect('Bone')(1);\n} catch (e) {\n}"
  2936. }
  2937. }
  2938. ]
  2939. },
  2940. {
  2941. "ty": 5,
  2942. "nm": "B | Tail - 3",
  2943. "np": 4,
  2944. "mn": "Pseudo/DUIK bone linker",
  2945. "ix": 6,
  2946. "en": 1,
  2947. "ef": [
  2948. { "ty": 10, "nm": "Layer", "mn": "Pseudo/DUIK bone linker-0001", "ix": 1, "v": { "a": 0, "k": 88, "ix": 1 } },
  2949. {
  2950. "ty": 2,
  2951. "nm": "Bone color",
  2952. "mn": "Pseudo/DUIK bone linker-0002",
  2953. "ix": 2,
  2954. "v": {
  2955. "a": 0,
  2956. "k": [0.925490196078, 0.094117647059, 0.094117647059, 1],
  2957. "ix": 2,
  2958. "x": "var $bm_rt;\ntry {\n $bm_rt = effect('B | Tail - 3')(1).effect('Bone')(1);\n} catch (e) {\n}"
  2959. }
  2960. }
  2961. ]
  2962. }
  2963. ],
  2964. "w": 400,
  2965. "h": 350,
  2966. "ip": 0,
  2967. "op": 51,
  2968. "st": 0,
  2969. "bm": 0
  2970. }
  2971. ]
  2972. },
  2973. {
  2974. "id": "comp_1",
  2975. "layers": [
  2976. {
  2977. "ddd": 0,
  2978. "ind": 1,
  2979. "ty": 2,
  2980. "nm": "dog body pattern",
  2981. "refId": "image_16",
  2982. "sr": 1,
  2983. "ks": {
  2984. "o": { "a": 0, "k": 100, "ix": 11 },
  2985. "r": { "a": 0, "k": 0, "ix": 10 },
  2986. "p": { "a": 0, "k": [381, 257, 0], "ix": 2 },
  2987. "a": { "a": 0, "k": [127, 139, 0], "ix": 1 },
  2988. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  2989. },
  2990. "ao": 0,
  2991. "ip": 0,
  2992. "op": 210,
  2993. "st": 0,
  2994. "bm": 0
  2995. },
  2996. {
  2997. "ddd": 0,
  2998. "ind": 2,
  2999. "ty": 2,
  3000. "nm": "dog body",
  3001. "refId": "image_17",
  3002. "sr": 1,
  3003. "ks": {
  3004. "o": { "a": 0, "k": 100, "ix": 11 },
  3005. "r": { "a": 0, "k": 0, "ix": 10 },
  3006. "p": { "a": 0, "k": [400.5, 233, 0], "ix": 2 },
  3007. "a": { "a": 0, "k": [379.5, 227, 0], "ix": 1 },
  3008. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  3009. },
  3010. "ao": 0,
  3011. "ip": 0,
  3012. "op": 210,
  3013. "st": 0,
  3014. "bm": 0
  3015. }
  3016. ]
  3017. },
  3018. {
  3019. "id": "comp_2",
  3020. "layers": [
  3021. {
  3022. "ddd": 0,
  3023. "ind": 1,
  3024. "ty": 2,
  3025. "nm": "dog tail pattern",
  3026. "refId": "image_18",
  3027. "sr": 1,
  3028. "ks": {
  3029. "o": { "a": 0, "k": 100, "ix": 11 },
  3030. "r": { "a": 0, "k": 0, "ix": 10 },
  3031. "p": { "a": 0, "k": [214, 148, 0], "ix": 2 },
  3032. "a": { "a": 0, "k": [162, 129, 0], "ix": 1 },
  3033. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  3034. },
  3035. "ao": 0,
  3036. "ip": 0,
  3037. "op": 210,
  3038. "st": 0,
  3039. "bm": 0
  3040. },
  3041. {
  3042. "ddd": 0,
  3043. "ind": 2,
  3044. "ty": 2,
  3045. "nm": "dog tail",
  3046. "refId": "image_19",
  3047. "sr": 1,
  3048. "ks": {
  3049. "o": { "a": 0, "k": 100, "ix": 11 },
  3050. "r": { "a": 0, "k": 0, "ix": 10 },
  3051. "p": { "a": 0, "k": [221.5, 165, 0], "ix": 2 },
  3052. "a": { "a": 0, "k": [223.5, 175, 0], "ix": 1 },
  3053. "s": { "a": 0, "k": [100, 100, 100], "ix": 6 }
  3054. },
  3055. "ao": 0,
  3056. "ip": 0,
  3057. "op": 210,
  3058. "st": 0,
  3059. "bm": 0
  3060. }
  3061. ]
  3062. }
  3063. ],
  3064. "layers": [
  3065. {
  3066. "ddd": 0,
  3067. "ind": 1,
  3068. "ty": 0,
  3069. "nm": "Dog Anim animation",
  3070. "refId": "comp_0",
  3071. "sr": 1,
  3072. "ks": {
  3073. "o": { "a": 0, "k": 100, "ix": 11 },
  3074. "r": { "a": 0, "k": 0, "ix": 10 },
  3075. "p": { "a": 0, "k": [354, 194, 0], "ix": 2 },
  3076. "a": { "a": 0, "k": [960, 960, 0], "ix": 1 },
  3077. "s": { "a": 0, "k": [40, 40, 100], "ix": 6 }
  3078. },
  3079. "ao": 0,
  3080. "w": 1920,
  3081. "h": 1920,
  3082. "ip": 0,
  3083. "op": 51,
  3084. "st": 0,
  3085. "bm": 0
  3086. }
  3087. ],
  3088. "markers": []
  3089. }