{"id":144,"date":"2021-05-19T00:30:50","date_gmt":"2021-05-19T00:30:50","guid":{"rendered":"https:\/\/www.ruffleneck.com\/devblog\/?p=144"},"modified":"2021-05-19T00:30:50","modified_gmt":"2021-05-19T00:30:50","slug":"snippets-xviii-jiggle-jiggle","status":"publish","type":"post","link":"https:\/\/www.ruffleneck.com\/devblog\/?p=144","title":{"rendered":"Snippets XVIII &#8211; Jiggle jiggle"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/kw5R8NMzoM3FNzPnsKwqutH-VZmMen5C_UE109nvXLgjCt66GW3bHcReQn90FWRKOXi2cUp8dThQnazHVsbaYrh4gHxUSlW0iSF-kUrhn1_Z5f9MrwH8Z7oiRLdd7A6QC7kOjHt0\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Basically this snippet is going to describe a much needed improvement to jiggles; It is now calculating and compensating for frame rate independence, instead of being dependent on the frame rate itself :3<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The frame rate basically caused more jiggle to be applied to the tails the lower the frame rate was, basically it was just looking at the difference in position, and when you have a low frame rate, the differences are bigger (as object is basically jumping across the screen as opposed to sliding across in higher fps)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This hopefully also fixes the \u201cstuck tails\u201d that don\u2019t move around and at least internally in our testing it has, but we\u2019ll see better if it still happens in the wider deployment when the next build comes out (no date yet, sorry!) ^^<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Here\u2019s some comparisons using our prototyping animation (Fun historical fact; It\u2019s the first animation made for Hunt and Snare, gone through several iterations, tests, and new animation features, and every time something new is added, this is where it goes first xD). All gifs are recorded in 30 fps, so you won\u2019t see the \u201cactual\u201d fps, but will see how the tail behaved in it originally. Pay attention to tails especially, rest is just artifacts of recording;<br><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>30 FPS<\/strong> &#8211; It wasn\u2019t possible to lock FPS lower, but technically both old and new would have been identical around 20 fps, and quite close at 30 fps<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/i63JYnBvyjleJqM0KSVr6VPJEI21M5VOCY-fyMTpYFPisQuazUcZwOGP5hoXvzSD5xj-4PqslD1BR6ah0HISE67J8e0DCEm3ERzdkQ6bNGgZLHNTT_mhVU6J2uAz7YXbRFeiF8Cx\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">New above, old below<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/wB8dT3kMRbPQKxQird4KDcXoahNbqHEyx1uAWm_p5IveAhMPYl62lZWcPnuSwWeVnlCdcOP84j7aLNRixJVwtzTo7hShu7upLYCPaqcnbWHIvTbBaeY2rncZ6Ldv0_AgJgTv5RdS\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br><strong>45 FPS<\/strong> &#8211; The issue starts to show in \u201cold\u201d version more strongly ^^<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/Dw--8Zw8b1Yhu4Uz14WOLuDCHSTPMX8x_S9w1nT-iOg4vFF8q11pNVvE2zW969QcrSYebrtE8R_AlSFs-dgSjOq7KTDMpctA9AkKFm1Ornjs9M4heyYVTkSgcKP3hfVQAn31YyLg\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">New above, old below<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/DyrX1iYNhzKGfpvlHysi_-vOiPY9WvHT7LxLxgCst0XN2IvGy5xTLhWx1xSD3JsYuwhRpSsa2e0L3FhDnOf3Jb3wGdnlxBkM6HUE44eil4LcOX-z42w59_oHL7qnO7k2cHRkQJ7d\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br><strong>60 FPS<\/strong> &#8211; The tail of the lighter character on right is basically \u201crigid\u201d at this point<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/tHgUQQMrgynL5tmwM-F7VCYtWufuZl0GJqkxkZjCMc64HkXQVkg28XNf3rRX0w9kYw3VepWxWWAD6vI8wK-n_sKYgsUlb8zI1fOEQS3MS106AWadltRdkvcezyfkOrBLgcSpTesv\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">New above, old below<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh3.googleusercontent.com\/6fJBWJDuK5vSC2B-w_h0GMhEfismu02DiDEl57M9YQlBEH1ex88uiw8-fh3B212pg4HaZpAptT16YAss_TFObDHVFIzRdf23RvBv5cg2CCPRtw_PUgazJ7S2JJCFM06zBrMtUV8v\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br><strong>90 FPS <\/strong>&#8211; The old version tails at this point are basically just rigid, and only driven by simple bone animation, where as the new version is compensating or the high framerate and making the tail jiggle \u201cmore\u201d per frame.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh6.googleusercontent.com\/eI-UldC2dqQdaiJKSAAC6a0zIA8zhD2MPGIgCpNkqEgCcDzNjHFfYHS7PybIQyLGLzZ3UpBE4_nUPD1tgXKU6AxvTOiYtsbbEIXkLomAHFEImsrOJRBINkmjZWPOdYhKtN9Q5ScS\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">New above, old below<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/W9SqfB9V4YfMSe978mqc70iZUqemdq8EY9ae16uGhcu3iMppLLfa298F11m2LlRprSxeel5xCIIe2sEX2q4CzLqmIR2ekwfM21rpEBNbqNx2qu60a5tdlwNsZQ4sP_EmtlVUc16q\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><br>Now for a different kind of comparison; Here\u2019s the <strong>OLD<\/strong> <strong>VERSION <\/strong>in 30 fps vs 90 fps:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/Pf6XEEjWSJvjAYZPIGJQ0JM2udfNvXSbxKkR0SY4SH9iAs8sLnGZ8uQqqSKJvfPrAOdnYQkjTGsOPyPAi1TjvAnraQnWurhL7xmXmMwHywdudsmzijJtMjUGWPgkkQ6yTeadotga\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh5.googleusercontent.com\/8x9iz28-OyY8D8BcbFg_HpsElCS_k3Kiv6o7bEECaWrvt41AKkxFpCxIWdXBT2ZsefEWAFOGnuJ1OsavqJFCnUSSQ1x2z6iemS7pzSzDcHd-vFW0TXE9BHBA9UX_oh3qjaI-oFln\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can see the tail basically loses the jiggleness of it due to the framerate (hah, funny how better framerate is worse, harh harh, and it took us a long time to find because the Unity Game Engine editor runs so badly so it\u2019s basically giving us floppy jiggles 99% of the time)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><br>And now comparison between 30 fps and 90 fps in <strong>NEW VERSION<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/Jjwcbd1Ux5jlJm6ajbz24e6AZExtGjQkWU8XZhdYiN8F2p7-Fpp3TRiXnVqdhfR5chN5HOVBenr3S-nyf7lFdvG1bTrxKXvSrzi5-w_e518bdtT-h38Jet4OVubHSD0gh6ClRwLq\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh4.googleusercontent.com\/NF2NycgnMKAIc2Mtmoh7GdySTvaYR9cCnhxKuUn-pKWXEcHLutRK8RVIXEMiJqCtPmxxriQSivsIlps1-Y829LDm8XtlHwUHqZC_a_JDtBaoWFz3Of0K_BBlIZLxx42UH7PvoHF_\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">You can see there\u2019s some variation between the framerates, but it is really minor compared to the old version, and the smoothness of the tail jiggles in general is far superior even with same frame rate ^^<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">With luv &lt;3<br>Ruffle<br><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Basically this snippet is going to describe a much needed improvement to jiggles; It is now calculating and compensating for frame rate independence, instead of being dependent on the frame rate itself :3 The frame rate basically caused more jiggle to be applied to the tails the lower the frame rate was, basically it was [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-144","post","type-post","status-publish","format-standard","hentry","category-gaze"],"_links":{"self":[{"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=\/wp\/v2\/posts\/144","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=144"}],"version-history":[{"count":1,"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=\/wp\/v2\/posts\/144\/revisions"}],"predecessor-version":[{"id":145,"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=\/wp\/v2\/posts\/144\/revisions\/145"}],"wp:attachment":[{"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=144"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=144"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ruffleneck.com\/devblog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=144"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}