{"id":2711,"date":"2016-04-17T23:56:42","date_gmt":"2016-04-17T22:56:42","guid":{"rendered":"http:\/\/phoenixgamedevelopment.com\/blog\/?p=2711"},"modified":"2016-04-18T01:17:41","modified_gmt":"2016-04-18T00:17:41","slug":"on-the-benefits-of-normal-mapping","status":"publish","type":"post","link":"https:\/\/phoenixgamedevelopment.com\/blog\/on-the-benefits-of-normal-mapping\/","title":{"rendered":"On the Benefits of Normal Mapping"},"content":{"rendered":"<p>I have begun working on the art for P167, which includes both modelling and texturing.<\/p>\n<p>This has been my first opportunity to generate normal maps for my art assets, and the results are spectacular. Strictly speaking, normal maps should be generated from a high-poly mesh and mapped onto a low-poly mesh. However, the models that I have been working on so far are simple interior and exterior walls, a high poly version is not needed.<\/p>\n<p>Instead, I have been using a program called &#8220;<a href=\"http:\/\/www.crazybump.com\/\">CrazyBump<\/a>&#8221; to automatically generate normal maps from the diffuse (standard texture) map. CrazyBump is available for download HERE, but a licence is required. It costs $99 for a personal licence, which allows commercial use with a cap of $200,000.<\/p>\n<p>The interface is extremely simple:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2724\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-18_04_2016-12_03_51-AM-300x225.jpg\" alt=\"CrazyBump 18\/04\/2016 , 12:03:51 AM CrazyBump\" width=\"300\" height=\"225\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-18_04_2016-12_03_51-AM-300x225.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-18_04_2016-12_03_51-AM-768x576.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-18_04_2016-12_03_51-AM-1024x768.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-18_04_2016-12_03_51-AM.jpg 1536w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2723\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_36_02-PM-292x300.jpg\" alt=\"CrazyBump 17\/04\/2016 , 09:36:02 PM\" width=\"292\" height=\"300\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_36_02-PM-292x300.jpg 292w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_36_02-PM.jpg 398w\" sizes=\"(max-width: 292px) 100vw, 292px\" \/><\/p>\n<p>The results are below. The first image was captured without a normal map, the second with a normal map applied:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2722\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_35_14-AM-300x238.jpg\" alt=\"P167 Paranoia_DEBUG 17\/04\/2016 , 02:35:14 AM Torque 3D MIT - P167 Paranoia\" width=\"300\" height=\"238\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_35_14-AM-300x238.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_35_14-AM-768x609.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_35_14-AM-1024x812.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_35_14-AM.jpg 1026w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2721\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_43_25-AM-300x238.jpg\" alt=\"P167 Paranoia_DEBUG 17\/04\/2016 , 02:43:25 AM Torque 3D MIT - P167 Paranoia\" width=\"300\" height=\"238\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_43_25-AM-300x238.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_43_25-AM-768x609.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_43_25-AM-1024x812.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_43_25-AM.jpg 1026w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>The difference is like night and day. Here are some shots from the game world, with and without normal maps:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2720\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_46_48-AM-300x238.jpg\" alt=\"P167 Paranoia_DEBUG 17\/04\/2016 , 02:46:48 AM Torque 3D MIT - P167 Paranoia\" width=\"300\" height=\"238\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_46_48-AM-300x238.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_46_48-AM-768x609.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_46_48-AM-1024x812.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-02_46_48-AM.jpg 1026w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2719\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-06_52_32-PM-300x238.jpg\" alt=\"P167 Paranoia_DEBUG 17\/04\/2016 , 06:52:32 PM Torque 3D MIT - P167 Paranoia\" width=\"300\" height=\"238\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-06_52_32-PM-300x238.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-06_52_32-PM-768x610.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-06_52_32-PM-1024x813.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-06_52_32-PM.jpg 1026w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>I have been steadily working on the modelling and texturing for this project. It will take some time, since my art skills are not my strongest feature.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2718\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-07_36_33-PM-300x238.jpg\" alt=\"P167 Paranoia_DEBUG 17\/04\/2016 , 07:36:33 PM Torque 3D MIT - P167 Paranoia\" width=\"300\" height=\"238\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-07_36_33-PM-300x238.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-07_36_33-PM-768x610.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-07_36_33-PM-1024x813.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-07_36_33-PM.jpg 1026w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2717\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_08-PM-300x238.jpg\" alt=\"P167 Paranoia_DEBUG 17\/04\/2016 , 09:33:08 PM Torque 3D MIT - P167 Paranoia\" width=\"300\" height=\"238\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_08-PM-300x238.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_08-PM-768x610.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_08-PM-1024x813.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_08-PM.jpg 1026w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-2716\" src=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_19-PM-300x238.jpg\" alt=\"P167 Paranoia_DEBUG 17\/04\/2016 , 09:33:19 PM Torque 3D MIT - P167 Paranoia\" width=\"300\" height=\"238\" srcset=\"https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_19-PM-300x238.jpg 300w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_19-PM-768x610.jpg 768w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_19-PM-1024x813.jpg 1024w, https:\/\/phoenixgamedevelopment.com\/blog\/wp-content\/uploads\/2016\/04\/PhoenixGameDevelopment-17_04_2016-09_33_19-PM.jpg 1026w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>I have begun working on the art for P167, which includes both modelling and texturing. This has been my first opportunity to generate normal maps for my art assets, and the results are spectacular. Strictly speaking, normal maps should be generated from a high-poly mesh and mapped onto a low-poly mesh. However, the models that [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9,10],"tags":[],"class_list":["post-2711","post","type-post","status-publish","format-standard","hentry","category-on-game-development","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\/2711"}],"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=2711"}],"version-history":[{"count":4,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/2711\/revisions"}],"predecessor-version":[{"id":2727,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/posts\/2711\/revisions\/2727"}],"wp:attachment":[{"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/media?parent=2711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/categories?post=2711"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/phoenixgamedevelopment.com\/blog\/wp-json\/wp\/v2\/tags?post=2711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}