{"id":756,"date":"2014-07-21T05:27:49","date_gmt":"2014-07-21T04:27:49","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=756"},"modified":"2014-07-21T05:27:49","modified_gmt":"2014-07-21T04:27:49","slug":"p-148-heist-update-6-triggers-remote-camera-level-design","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/p-148-heist-update-6-triggers-remote-camera-level-design\/","title":{"rendered":"P-148 Heist Update 6: Triggers, Remote Camera, Level Design"},"content":{"rendered":"<p>This week I finally found a solution for the trigger issue I was having. I am now using raycasts between nodes embedded in my models to determine collision. This works very well with laser fences and laser triggers, and does not seem to cause any noticable performance hit. I basically include two dummy nodes in the model, &#8220;raystartpos&#8221; and &#8220;rayendpos&#8221; and raycast between them if the player is close by. If the rays hit the player, then the player has been detected. This is very precise, and allows me to place laser fences and beams without having to create a separate trigger for each one, which also saves a lot of level editing time.<\/p>\n<p>I also implemented a very useful resource which allows me to create a remote camera. The resource (located <a href=\"http:\/\/www.garagegames.com\/community\/forums\/viewthread\/127227\/1\">HERE<\/a>) is basically a gui object that can render a scene from the point of view of any object. I intend to use it to allow the player to hack into security cameras, as well as provide a camera that can be throw by the player to spot enemy movements and security systems without being seen.<\/p>\n<p>I also did some work on the level design, I think it is slowly starting to look like a game.<\/p>\n<p>&nbsp;<\/p>\n<p><iframe loading=\"lazy\" src=\"\/\/www.youtube.com\/embed\/JWFu60ME4GU\" height=\"315\" width=\"420\" allowfullscreen=\"\" frameborder=\"0\"><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment03-Jul.-19-23.49.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-766\" alt=\"PhoenixGameDevelopment03 Jul. 19 23.49\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment03-Jul.-19-23.49-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment03-Jul.-19-23.49-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment03-Jul.-19-23.49-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment03-Jul.-19-23.49.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment05-Jul.-19-23.49.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-765\" alt=\"PhoenixGameDevelopment05 Jul. 19 23.49\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment05-Jul.-19-23.49-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment05-Jul.-19-23.49-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment05-Jul.-19-23.49-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment05-Jul.-19-23.49.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment07-Jul.-20-00.09.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-764\" alt=\"PhoenixGameDevelopment07 Jul. 20 00.09\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment07-Jul.-20-00.09-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment07-Jul.-20-00.09-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment07-Jul.-20-00.09-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment07-Jul.-20-00.09.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment09-Jul.-20-00.09.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-763\" alt=\"PhoenixGameDevelopment09 Jul. 20 00.09\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment09-Jul.-20-00.09-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment09-Jul.-20-00.09-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment09-Jul.-20-00.09-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment09-Jul.-20-00.09.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment12-Jul.-20-00.10.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-762\" alt=\"PhoenixGameDevelopment12 Jul. 20 00.10\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment12-Jul.-20-00.10-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment12-Jul.-20-00.10-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment12-Jul.-20-00.10-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment12-Jul.-20-00.10.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment14-Jul.-20-00.10.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-760\" alt=\"PhoenixGameDevelopment14 Jul. 20 00.10\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment14-Jul.-20-00.10-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment14-Jul.-20-00.10-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment14-Jul.-20-00.10-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment14-Jul.-20-00.10.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment15-Jul.-20-00.10.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-759\" alt=\"PhoenixGameDevelopment15 Jul. 20 00.10\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment15-Jul.-20-00.10-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment15-Jul.-20-00.10-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment15-Jul.-20-00.10-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment15-Jul.-20-00.10.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment18-Jul.-20-05.37.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-758\" alt=\"PhoenixGameDevelopment18 Jul. 20 05.37\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment18-Jul.-20-05.37-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment18-Jul.-20-05.37-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment18-Jul.-20-05.37-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment18-Jul.-20-05.37.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment19-Jul.-21-04.15.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-757\" alt=\"PhoenixGameDevelopment19 Jul. 21 04.15\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment19-Jul.-21-04.15-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment19-Jul.-21-04.15-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment19-Jul.-21-04.15-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment19-Jul.-21-04.15.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment13-Jul.-20-00.10.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-761\" alt=\"PhoenixGameDevelopment13 Jul. 20 00.10\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment13-Jul.-20-00.10-300x232.jpg\" width=\"300\" height=\"232\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment13-Jul.-20-00.10-300x232.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment13-Jul.-20-00.10-1024x793.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2014\/07\/PhoenixGameDevelopment13-Jul.-20-00.10.jpg 1040w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This week I finally found a solution for the trigger issue I was having. I am now using raycasts between nodes embedded in my models to determine collision. This works very well with laser fences and laser triggers, and does not seem to cause any noticable performance hit. I basically include two dummy nodes in [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[],"class_list":["post-756","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\/756"}],"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=756"}],"version-history":[{"count":1,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/756\/revisions"}],"predecessor-version":[{"id":767,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/756\/revisions\/767"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=756"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=756"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=756"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}