{"id":3704,"date":"2016-09-11T23:57:37","date_gmt":"2016-09-11T22:57:37","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=3704"},"modified":"2016-09-12T00:08:42","modified_gmt":"2016-09-11T23:08:42","slug":"p-167-paranoia-update-19-vr-debugging-part-2","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p-167-paranoia-update-19-vr-debugging-part-2\/","title":{"rendered":"P-167: Paranoia: Update 20: VR Debugging: Part 2"},"content":{"rendered":"<p>I have made good progress with solving the VR\/Oculus Rift issue that I was having.<\/p>\n<p>I have implemented a script-based optimisation function that hides any objects that are out of view of the player. I had some issues implementing this, and I am still not 100% satisfied with the solution.<\/p>\n<p>I am using various distance, field of view, and grid-based checks to cull unneeded objects, however, the performance is still not optimal. I am also having issues with items falling due to gravity when the floor segment that they were resting on was culled, and they weren&#8217;t.<\/p>\n<p>I needed\u00a0to improve performance by requiring each grid square in the building to have four walls and a door. Previously, some rooms had\u00a0doorways, but no door, and some had\u00a0no wall between two adjoining grid squares, in effect, creating one very big room instead of two smaller ones. By requiring each room to be self-contained, optimisation\u00a0is a lot easier, since I can just cull anything that is not in the room that the player is in. This also fixes\u00a0some other minor rendering issues that I was having related to the gaps between rooms.<\/p>\n<p>This has resulted in a system that is almost working, however, it still needs some work. In particular, I need to solve the collision issue. I think that by having two containers of objects, one for static shapes (no collision) and one for items (with collision) I should be able to cull and disable collision on the items first, and then cull the static shapes.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have made good progress with solving the VR\/Oculus Rift issue that I was having. I have implemented a script-based optimisation function that hides any objects that are out of view of the player. I had some issues implementing this, and I am still not 100% satisfied with the solution. I am using various distance, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-3704","post","type-post","status-publish","format-standard","hentry","category-software-and-games","has-post-title","has-post-date","has-post-category","has-post-tag","has-post-comment","has-post-author",""],"aioseo_notices":[],"builder_content":"","_links":{"self":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/3704"}],"collection":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/comments?post=3704"}],"version-history":[{"count":4,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/3704\/revisions"}],"predecessor-version":[{"id":3712,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/3704\/revisions\/3712"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=3704"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=3704"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=3704"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}