{"id":368,"date":"2018-10-12T18:00:44","date_gmt":"2018-10-12T23:00:44","guid":{"rendered":"http:\/\/www.chroniclesoftright.com\/blog\/?p=368"},"modified":"2018-10-12T14:20:58","modified_gmt":"2018-10-12T19:20:58","slug":"more-animation-problems","status":"publish","type":"post","link":"https:\/\/www.chroniclesoftright.com\/blog\/2018\/10\/12\/more-animation-problems\/","title":{"rendered":"More animation problems"},"content":{"rendered":"<p>Undoubtedly the biggest frustration I&#8217;ve had working with <a href=\"http:\/\/threejs.org\" target=\"_blank\" rel=\"noopener\">THREE.js<\/a> is loading and animating objects modeled in <a href=\"http:\/\/blender.org\" target=\"_blank\" rel=\"noopener\">Blender<\/a>.\u00a0 The tools just aren&#8217;t very polished yet and it drives me crazy that so many things work so well but that process is basically broken.\u00a0 I&#8217;ve noticed on my older development machine that the created <a href=\"https:\/\/threejs.org\/docs\/index.html#api\/en\/objects\/SkinnedMesh\" target=\"_blank\" rel=\"noopener\">SkinnedMesh<\/a> objects work differently than on my (somewhat) more powerful machine.\u00a0 Specifically, I get this weird jittering action on loaded gLTF objects whenever the object is any distance at all from the origin.\u00a0 This is a known issue in THREE.js and has to do with matrix transformations being performed in world space instead of local space, but I&#8217;ve looked at the code and I get lost immediately.\u00a0 I just don&#8217;t understand the animation system as a whole well enough to contribute anything of value.\u00a0 It doesn&#8217;t happen on every machine, which makes it all the more frustrating to troubleshoot and makes me wonder what else behaves differently on different platforms.\u00a0 One of the primary advantages of using a browser and WebGL is (I thought) consistency across platforms.\u00a0 It&#8217;s still open as a bug in THREE.js, so I&#8217;m hopeful that it will get fixed one day, but for now I will just see weird jittery animations sometimes because it isn&#8217;t worth the time to try and find a workaround right now.<\/p>\n<p>My next step is to do a little painting of the Penrith terrain, just so it looks a little nicer.\u00a0 Then I&#8217;m going to tackle collision detection again.\u00a0 That&#8217;s always been a big hangup for me but if this project is ever going to get off the ground I absolutely must have a reliable way for players to collide with and react to objects in the world.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Undoubtedly the biggest frustration I&#8217;ve had working with THREE.js is loading and animating objects modeled in Blender.\u00a0 The tools just aren&#8217;t very polished yet and it drives me crazy that so many things work so well but that process is basically broken.\u00a0 I&#8217;ve noticed on my older development machine that the created SkinnedMesh objects work&hellip;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-368","post","type-post","status-publish","format-standard","hentry","category-planning-and-development"],"_links":{"self":[{"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/posts\/368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/comments?post=368"}],"version-history":[{"count":3,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/posts\/368\/revisions"}],"predecessor-version":[{"id":371,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/posts\/368\/revisions\/371"}],"wp:attachment":[{"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/media?parent=368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/categories?post=368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/tags?post=368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}