{"id":872,"date":"2023-12-31T10:38:32","date_gmt":"2023-12-31T10:38:32","guid":{"rendered":"https:\/\/www.katsbits.com\/site\/?p=872"},"modified":"2023-12-31T13:45:16","modified_gmt":"2023-12-31T13:45:16","slug":"basic-ambient-occlusion","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/","title":{"rendered":"Blender Basics (#7): Bake Ambient Occlusion Maps"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/#Ambient_occlusion_maps\" >Ambient occlusion maps<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/#Baking_ambient_occlusion_maps\" >Baking ambient occlusion maps<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/#Switching_to_render_baking_buttons\" >Switching to render baking buttons<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/#Selecting_ambient_occlusion_bake_option\" >Selecting ambient occlusion bake option<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/#Start_the_%E2%80%98bake_render_process\" >Start the &#8216;bake&#8217; render process<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/#Saving_render_baked_ambient_occlusion_maps\" >Saving render baked ambient occlusion maps<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/#Using_the_ambient_occlusion_map\" >Using the ambient occlusion map<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/#Conclusion\" >Conclusion<\/a><\/li><\/ul><\/nav><\/div>\n<p>In this chapter of the <a title=\"Learning Blender 2.49\" href=\"https:\/\/www.katsbits.com\/site\/basic-appearence-and-layout\/\" target=\"_self\" rel=\"noopener\">Blender Basics tutorial series<\/a> some of the more common &#8216;extras&#8217; will be explained, useful features that can augment the production process or add &#8216;value&#8217; (a &#8216;feature&#8217; or &#8216;function&#8217;) to low-poly models when used for game development; the various &#8216;bake&#8217; options available in Blender 3D for instance, which provide 3D artists with a relatively quick way to make the different image &#8216;types&#8217; often used in games, predominantly to improve the general fidelity of in-game assets.<\/p>\n<p>It&#8217;s expected that you be familiar with Blender or have at least gone through the previous <a title=\"Blender Basics tutorial series - chapter one - learning to use the application\" href=\"https:\/\/www.katsbits.com\/site\/basic-appearence-and-layout\/\" target=\"_self\" rel=\"noopener\">chapters of Learning Blender 3D tutorial series<\/a>; as this next section involves itself with more advanced production processes, you need to understand what you&#8217;re doing <i>with<\/i> Blender before embarking on this next exercise in content creation.<\/p>\n<blockquote style=\"background-color: #ddecf3; color: #000;\"><p><b>Download<\/b>: Chair exercise source file <a href=\"https:\/\/www.katsbits.com\/site\/files\/tutorials\/katsbits_chair-source.zip\" title=\"Download the source file for the chair used in this tutorial series\">Katsbits chair source<\/a> (c. 600 KB | *.blend, *.tga).<\/p><\/blockquote>\n<blockquote>\n<p class=\"firstpara red\">The following material was written for Blender 2.49a+\/- or below. For an up-to-date version that addresses learning the latest Blender release, <a title=\"Learning Blender using the latest versions\" href=\"https:\/\/www.katsbits.com\/site\/learning-layout\/\" target=\"_self\" rel=\"noopener\">click here<\/a>.<\/p>\n<\/blockquote>\n<p><a id=\"ambientocclusion\" name=\"ambientocclusion\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ambient_occlusion_maps\"><\/span>Ambient occlusion maps<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>What is &#8220;ambient occlusion&#8221;? It&#8217;s essentially a form of non-directional object shading that&#8217;s the result of background &#8216;ambient&#8217; (bounced) light within a scene &#8211; its ostensibly based on the physical characteristic of an object and how its actual structure blocks or &#8216;occludes&#8217; light, rather than necessarily being influenced by directional lighting in a general sense.<\/p>\n<p>To illustrate this more clearly, the images below show the <a title=\"Download the Blender Basics tutorial chair source file\" href=\"https:\/\/www.katsbits.com\/files\/tutorials\/katsbits_chair-source.zip\">Blender Basics tutorial chair<\/a> rendered with texture maps baked under the two lighting situations mentioned above &#8211; &#8216;<b>ambient<\/b>&#8216; and &#8216;<b>directional<\/b>&#8216;. The first image shows the chair lit by &#8216;<b>ambient<\/b>&#8216; light, the &#8216;soft&#8217; non-directional lighting in the scene produces an &#8216;<b>ambient occlusion<\/b>&#8216; map when baked. The chair in the second image is lit by &#8216;<b>directional<\/b>&#8216; lighting, baking that produces a completely different result called a &#8216;<b>shadow<\/b>&#8216; map, a map that corresponds directly to the direction of the light source illuminating the chair.<\/p>\n<p>The bottom image shows both &#8216;bakes&#8217; with their respective UVW map overlaid to highlight how each type of lighting situation bake relates to the chair and UV&#8217;s; the process of &#8216;baking&#8217; any form of &#8216;map&#8217;, including &#8216;ambient occlusion&#8217; maps, will produce images similar to the bottom image.<\/p>\n<div class=\"content_images\">\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/difference-ambient-occlusion.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/difference-ambient-occlusion_sml.jpg\" alt=\"Ambient occlusion is non-directional lighting which bakes 'shading' to images maps\" width=\"640\" height=\"444\" border=\"0\" \/><\/a><\/p>\n<p>Ambient occlusion is non-directional lighting which bakes &#8216;shading&#8217; to images maps<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/difference-shadow-map.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/difference-shadow-map_sml.jpg\" alt=\"Shadow maps are directional lighting which bakes shadows to images based on the position of lights\" width=\"640\" height=\"444\" border=\"0\" \/><\/a><\/p>\n<p>Shadow maps is directional lighting which bakes shadows to image maps based on the position of lighting relative to objects in a scene<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/difference-bake-maps.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/difference-bake-maps_sml.jpg\" alt=\"The difference between a shadow and ambient occlusion bake\" width=\"640\" height=\"334\" border=\"0\" \/><\/a><\/p>\n<p>The difference between a shadow and ambient occlusion bake<\/p>\n<\/div>\n<p><a id=\"baking\" name=\"baking\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Baking_ambient_occlusion_maps\"><\/span>Baking ambient occlusion maps<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The process of baking images for the purposes of generating 2D assets useful when making content for games with Blender relies on the presence of two things; 1) <a title=\"Applying a UVW map to a model\" href=\"https:\/\/www.katsbits.com\/site\/basic-unwrapping-uvw-maps\/\" target=\"_self\" rel=\"noopener\">a UVW map<\/a> and 2) <a title=\"Applying materials and textures to models\" href=\"https:\/\/www.katsbits.com\/site\/basic-applying-material-texture-images\/\" target=\"_self\" rel=\"noopener\">a texture<\/a> &#8211; without these the process won&#8217;t work and will result in an errors; as they&#8217;re essential items make sure the model to be baked has both. To check this switch to the UV\/Image Editor view (<a title=\"Split the interface\" href=\"http:\/\/www.katsbits.com\/site\/basic-unwrapping-uvw-maps\/#splitscreens\" target=\"_self\" rel=\"noopener\">split the interface<\/a>, <a title=\"Change view type\" href=\"http:\/\/www.katsbits.com\/site\/basic-appearence-and-layout\/#workzone\" target=\"_self\" rel=\"noopener\">click the &#8220;<b>UV\/Image Editor<\/b>&#8221; button<\/a> or press &#8220;<b>Shift+F10<\/b>&#8221; to open the Editor in the current view), the image that&#8217;s going to be used during the bake process should be visible, if not, select the mesh, press TAB to enter Edit mode and select a face that has both a UVW map and texture applied so as to &#8216;force&#8217; Blender to display the image it will bake to (it also allows progress to be monitored as it happens). From this point on the simplest and most straightforward ambient occlusion bakes make use of Blenders default settings, so that&#8217;s what we&#8217;ll use from here on out.<\/p>\n<div class=\"content_images\">\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/tutorial-chair-before-baking.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/tutorial-chair-before-baking_sml.jpg\" alt=\"Tutorial chair before being baked for ambient occlusion\" width=\"640\" height=\"444\" border=\"0\" \/><\/a><\/p>\n<p>Tutorial chair before being baked for ambient occlusion<\/p>\n<\/div>\n<p><a id=\"switching\" name=\"switching\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Switching_to_render_baking_buttons\"><\/span>Switching to render baking buttons<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Baking any type of map in Blender means switching to the appropriate &#8216;mode&#8217; and set of &#8216;buttons&#8217;. To do this for baking ambient occlusion press &#8220;<b>F10<\/b>&#8221; to switch to the &#8220;<b>Scene<\/b>&#8220;: &#8220;<b>Render<\/b>&#8221; buttons (using F10 will switch to &#8220;Scene&#8221; buttons <i>and<\/i> toggle through the different &#8220;Render&#8221; options each time the shortcut key is pressed), then click on the panel titled &#8220;<b>Bake<\/b>&#8221; to access the various setting and options available for render baking each type of map, &#8220;Full Render&#8221; being the default.<\/p>\n<div class=\"content_images\">\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/blenders-bake-buttons.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/blenders-bake-buttons_sml.jpg\" alt=\"Using F10 to switch to Blender &quot;Scene&quot; and &quot;Render&quot; buttons\" width=\"640\" height=\"400\" border=\"0\" \/><\/a><\/p>\n<p>Using F10 to switch to Blender &#8220;Scene&#8221; and &#8220;Render&#8221; buttons<\/p>\n<\/div>\n<p><a id=\"bakeoption\" name=\"bakeoption\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Selecting_ambient_occlusion_bake_option\"><\/span>Selecting ambient occlusion bake option<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once the bake panel is open click the &#8220;<b>Ambient Occlusion<\/b>&#8221; button<sup>[1]<\/sup> so Blender knows it&#8217;s about to bake an ambient occlusion map, then make sure that &#8220;<b>Margin:<\/b>&#8221; is set to &#8220;<b>2<\/b>&#8221; or above<sup>[2]<\/sup>, this ensures there&#8217;s enough &#8216;bleed&#8217; room around the edges of the UVW map to prevent gaps, artefacts and other baking anomalies appearing in the resulting image &#8211; check to see if you&#8217;ve allowed enough room between UVW map islands, else areas will bleed into each other or be repeat rendered.<\/p>\n<div class=\"content_images\">\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/ambient-occlusion-settings.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/ambient-occlusion-settings_sml.jpg\" alt=\"Default basic settings for ambient occlusion baking\" width=\"640\" height=\"400\" border=\"0\" \/><\/a><\/p>\n<p>Default basic settings for ambient occlusion baking 1) set the render bake to &#8220;Ambient Occlusion&#8221; and 2) set margin value<\/p>\n<\/div>\n<p><a id=\"renderbake\" name=\"renderbake\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Start_the_%E2%80%98bake_render_process\"><\/span>Start the &#8216;bake&#8217; render process<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Before proceeding make sure the mesh has both a UVW map and texture applied and the correct options for ambient occlusion bakes have been set. Once done, select the object then click the large button titled &#8220;<b>Bake<\/b>&#8221; in the &#8220;Bake&#8221; panel to start the rendering process, Blender will then calculate and incrementally &#8216;bake&#8217; the objects ambient occlusion to the texture slot originally applied to the mesh, as shown below &#8211; this may take a few minutes depending on the size of the texture image used in the texture slot, and complexity of the model. Keep in mind that Blender is not overwriting the actual <i>texture <b>image<\/b><\/i> that&#8217;s linked to the <i>texture <b>slot<\/b><\/i>, but instead writing data to a temporary &#8216;buffer&#8217; ready to be saved.<\/p>\n<div class=\"content_images\">\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/ambient-occlusion-map-being-baked.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/ambient-occlusion-map-being-baked_sml.jpg\" alt=\"Ambient occlusion being baked to texture\" width=\"640\" height=\"400\" border=\"0\" \/><\/a><\/p>\n<p>Clicking the &#8220;Bake&#8221; button initiates the process of calculating and rendering the ambient occlusion map<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/ambient-occlusion-baked-to-texture.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/ambient-occlusion-baked-to-texture_sml.jpg\" alt=\"Final ambient occlusion baked to the texture associated with the object UVW map\" width=\"640\" height=\"400\" border=\"0\" \/><\/a><\/p>\n<p>The final basic ambient occlusion map based on the default settings<\/p>\n<\/div>\n<p><a id=\"savingbakes\" name=\"savingbakes\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Saving_render_baked_ambient_occlusion_maps\"><\/span>Saving render baked ambient occlusion maps<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once Blender has finished rendering the ambient occlusion map &#8211; which is indicated by the mouse cursor reverting back to the &#8216;pointer&#8217; and the presence of a &#8220;<b>*<\/b>&#8221; to the right of the <b>&#8216;Image&#8217;<\/b> menu (&#8220;<b>Image*<\/b>&#8220;), it will need to be saved, ideally to a &#8216;loss-less&#8217; compression format like &#8220;<b>BMP<\/b>&#8221; (Bitmap) or &#8220;<b>Targa Raw<\/b>&#8220;.<\/p>\n<p>To do this select &#8220;<b>Image \u00bb Save As&#8230;<\/b>&#8221; in the UV\/Image Editor header to open the file browse window (as shown in the first image below). On opening (second image below), select an appropriate format from the &#8220;<b>Save Image<\/b>&#8221; drop down menu<sup>[1]<\/sup>; where necessary click the double headed arrow button top-left to browse to a different location if the file needs to be saved else where<sup>[2]<\/sup>; type a file name<sup>[3]<\/sup> and click the &#8220;<b>Save Image<\/b>&#8221; button<sup>[4]<\/sup> top right, Blender will then save the baked ambient occlusion map to the chosen location.<\/p>\n<blockquote><p><b>Design note<\/b>: On saving the new texture Blender will over-ride any previously UVW mapped images with this newly created one so, if necessary, the original texture <i>image<\/i> may need to be re-established with the texture <i>slot<\/i> of the material, or by reconnecting the texture <i>slot<\/i> back to the <i>material<\/i> applied to the mesh.<\/p><\/blockquote>\n<div class=\"content_images\">\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/saving-ambient-occlusion-bakes.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/saving-ambient-occlusion-bakes_sml.jpg\" alt=\"Saving the resulting ambient occlusion map\" width=\"640\" height=\"334\" border=\"0\" \/><\/a><\/p>\n<p>Saving the resulting ambient occlusion map<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/saving-ambient-occlusion-as-tga-raw.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/saving-ambient-occlusion-as-tga-raw_sml.jpg\" alt=\"Saving the ambinet occlusion bake using TGA RAW loss-less compression format\" width=\"640\" height=\"400\" border=\"0\" \/><\/a><\/p>\n<p>Saving the ambient occlusion bake using TGA RAW loss-less compression format<\/p>\n<\/div>\n<p><a id=\"using\" name=\"using\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Using_the_ambient_occlusion_map\"><\/span>Using the ambient occlusion map<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The whole purpose of baking an ambient occlusion map<sup>[2]<\/sup> like this is to then &#8216;blend&#8217; it with the original &#8216;diffuse&#8217; texture<sup>[3]<\/sup> applied to the model to make an object with a better sense of depth<sup>[1]<\/sup> &#8211; this usually means the two types of image (plain &#8216;diffuse&#8217; and &#8216;ambient occlusion&#8217;) are mixed together in a photo-editor so one image is laid over the top of the other with their separate &#8216;features&#8217; merged or blended together to make a single image then re-applied over the model as shown below<sup>[1]<\/sup>. Typically this can be done using &#8220;<b>Hard Light<\/b>&#8221; or some other, similar image filter. And that&#8217;s it, ambient occlusion map baked from the model, the results saved, mixed with the original and re-applied to the mesh.<\/p>\n<div class=\"content_images\">\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/final-ambient-occlusion-diffuse-blend.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/blender-basics-ambient-occlusion\/final-ambient-occlusion-diffuse-blend_sml.jpg\" alt=\"Final ambient occlusion map merged with the diffuse layer and applied back on the mesh\" width=\"640\" height=\"444\" border=\"0\" \/><\/a><\/p>\n<p>Ambient occlusion image[2] merged with the diffuse[3] to create a more visually interesting texture to apply to the finished model[1]<\/p>\n<\/div>\n<p><a id=\"conclusion\" name=\"conclusion\"><\/a><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Conclusion\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Ambient occlusion maps can be baked for all manner of objects, although there <i>are<\/i> some caveats to doing so depending on what is being baked; <a title=\"Learn how to bake ambient occlusion maps for terrain\" href=\"https:\/\/www.katsbits.com\/site\/baking-ambient-occlusion-maps-for-terrain\/\" target=\"_self\" rel=\"noopener\">baking a terrain<\/a> for example has different core problems to solve, more often than not related to the physical size of a terrain mesh itself (either sections of, or whole objects). Having said that, the process of baking ambient occlusion is the same regardless, there are a number of different options available when baking, but the basics as explained above, will mean being able to produce good quality artwork without worrying too much about the more advanced complexities of the process.<\/p>\n<div class=\"subNav\">\n<p>[<a title=\"appearence and interface\" href=\"https:\/\/www.katsbits.com\/site\/basic-appearence-and-layout\/\" target=\"_self\" rel=\"noopener\">1: Display<\/a> | <a title=\"navigating around the application movement control\" href=\"https:\/\/www.katsbits.com\/site\/basic-keyboard-mouse-movement-control\/\" target=\"_self\" rel=\"noopener\">2: Navigation<\/a> | <a title=\"Blender basics: using blender to make a simple model\" href=\"https:\/\/www.katsbits.com\/site\/basic-modeling-mesh-editing\/\" target=\"_self\" rel=\"noopener\">3: Model<\/a> | <a title=\"Materials, Textures and images\" href=\"https:\/\/www.katsbits.com\/site\/basic-applying-material-texture-images\/\" target=\"_self\" rel=\"noopener\">4: Materials<\/a> | <a title=\"UVW unwrapping with Blender\" href=\"https:\/\/www.katsbits.com\/site\/basic-unwrapping-uvw-maps\/\" target=\"_self\" rel=\"noopener\">5: UV&#8217;s<\/a> | <a title=\"Blender Basics, optimising a mesh for export\" href=\"https:\/\/www.katsbits.com\/site\/basic-optimise-models-for-export-to-games\/\" target=\"_self\" rel=\"noopener\">6: Optimise<\/a> | <a title=\"Texture baking Ambient Occlusion\" href=\"https:\/\/www.katsbits.com\/site\/basic-ambient-occlusion\/\" target=\"_self\" rel=\"noopener\">7: Bake<\/a> | <a title=\"Video walkthru making a simple chair\" href=\"https:\/\/www.katsbits.com\/site\/basic-video\/\" target=\"_self\" rel=\"noopener\">8: Video<\/a>]<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":873,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[234,231,230,225,233,232,235],"class_list":["post-872","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-ambient-occlusion","tag-bake","tag-blender-2-4x","tag-blender-basics","tag-learn-blender","tag-texture-baking","tag-texture-maps"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/872","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/comments?post=872"}],"version-history":[{"count":5,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/872\/revisions"}],"predecessor-version":[{"id":974,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/872\/revisions\/974"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media\/873"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media?parent=872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/categories?post=872"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/tags?post=872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}