{"id":68,"date":"2018-02-17T18:00:31","date_gmt":"2018-02-18T00:00:31","guid":{"rendered":"http:\/\/www.chroniclesoftright.com\/blog\/?p=68"},"modified":"2018-02-16T13:52:23","modified_gmt":"2018-02-16T19:52:23","slug":"slightly-better-grass","status":"publish","type":"post","link":"https:\/\/www.chroniclesoftright.com\/blog\/2018\/02\/17\/slightly-better-grass\/","title":{"rendered":"Slightly better grass"},"content":{"rendered":"<p>After admitting I was stalling by working on putting some grass into the game, I&#8217;ve now stalled some more to improve that process.\u00a0 Now instead of &#8220;solid&#8221; grass I can make double sided flat grass and it shows up correctly.\u00a0 As a result, a chunk of grass that looks virtually identical to the solid grass but is actually made of double sided triangles has just 15 faces.\u00a0 I can pare that down some if I make the grass model a little simpler, so I&#8217;ll make some other grass models at some point that are just dead simple.\u00a0 I used the tags feature in <a href=\"http:\/\/babylonjs.com\" target=\"_blank\" rel=\"noopener\">BabylonJS<\/a> to accomplish this.\u00a0 Flat geometry can now be tagged as &#8220;doublesided&#8221; and when the model is loaded its material type will be converted to double sided by turning off backface culling.\u00a0 Backface culling should remain on for most objects for performance reasons, but the ability to selectively turn it off on objects modeled in <a href=\"http:\/\/blender.org\" target=\"_blank\" rel=\"noopener\">Blender<\/a> is very useful.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After admitting I was stalling by working on putting some grass into the game, I&#8217;ve now stalled some more to improve that process.\u00a0 Now instead of &#8220;solid&#8221; grass I can make double sided flat grass and it shows up correctly.\u00a0 As a result, a chunk of grass that looks virtually identical to the solid grass&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-68","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\/68","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=68"}],"version-history":[{"count":1,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/posts\/68\/revisions"}],"predecessor-version":[{"id":69,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/posts\/68\/revisions\/69"}],"wp:attachment":[{"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/media?parent=68"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/categories?post=68"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chroniclesoftright.com\/blog\/wp-json\/wp\/v2\/tags?post=68"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}