{"id":2372,"date":"2013-08-26T22:54:24","date_gmt":"2013-08-26T19:54:24","guid":{"rendered":"http:\/\/unitycoder.com\/blog\/?p=2372"},"modified":"2015-12-20T02:15:30","modified_gmt":"2015-12-19T23:15:30","slug":"mesh-terrain-texturingsplatmap-tool-wip","status":"publish","type":"post","link":"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/","title":{"rendered":"Mesh Terrain Texturing\/SplatMap Tool (wip)"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2373\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splatmap_editor_plugin_unity_1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_editor_plugin_unity_1.jpg?fit=680%2C423&amp;ssl=1\" data-orig-size=\"680,423\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splatmap_editor_plugin_unity_1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_editor_plugin_unity_1.jpg?fit=680%2C423&amp;ssl=1\" class=\"alignnone size-full wp-image-2373\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_editor_plugin_unity_1.jpg?resize=680%2C423\" alt=\"mesh_splatmap_editor_plugin_unity_1\" width=\"680\" height=\"423\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_editor_plugin_unity_1.jpg?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_editor_plugin_unity_1.jpg?resize=300%2C186&amp;ssl=1 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<p>Small editor plugin for creating splatmap\/splatmask for mesh based terrain. (not terrain object)<\/p>\n<p><strong>Current features:<\/strong><br \/>\n&#8211; Create splatmap based on face angles (adjustable slope angles)<br \/>\n&#8211; Texture painting (paint to any layer R, G, B, A)<br \/>\n&#8211; Obstacle detection (if collider is founded on mesh, different material is splatted around it, with custom radius. See main image, different texture around objects)<br \/>\n&#8211; Custom shader (4 textures, splatmask RGBA)<br \/>\n&#8211; Splatmap can be any resolution (low resolution works quite nicely too, if blurred)<br \/>\n&#8211; Gaussion blur function (adjustable strength)<br \/>\n&#8211; Basic random instantiate to mesh surface (pick prefab, enter amount)<br \/>\n&#8211; Texture paint: with custom brush (any texture)<br \/>\n&#8211; Texture paint: Circle brush, size, strength (alpha)<br \/>\n&#8211; Live preview (lower resolution) when adjusting splatmask generation angles<br \/>\n&#8211; Esc key to stop painting mode<br \/>\n&#8211; Collision mask: Enable\/Disable checking, Layer dropdown for collision objects layer selection<br \/>\n&#8211; Extras: Plain color shader (instead of textures)<br \/>\n&#8211;<\/p>\n<p>&#8212;<\/p>\n<p><strong>CURRENT BUG \/ TODO LIST:<\/strong><br \/>\n<del> &#8211; Mask texture is not saved when texture painting on it<\/del><br \/>\n&#8211; Mask texture gets cleared from the shader if you enter Play mode (need to manually assign it to SplatMask &#8211; slot)<br \/>\n<del>&#8211; Doesnt work with non-square mesh (Can be fixed with couple lines)<\/del><br \/>\n<del> &#8211; Doesnt work with hills over 200m (Can be fixed with couple lines)<\/del><br \/>\n<del> &#8211; Playmode clears values..<\/del><br \/>\n&#8211; Mousepanning gets stuck if in texture paint mode (have to press play\/stop)<br \/>\n&#8211; Missing editor undo support<br \/>\n&#8211; Custom brush resize (currently texture size is used directly)<br \/>\n&#8211; Could have bake to vertex colors and vertex color mask shader<br \/>\n&#8211; If terrain is over 65k vertices and gets splitted, problems..<br \/>\n&#8211; Needs cancellable progress bars for various actions..<br \/>\n&#8211; Separate user texture painting\/drawings texture (so it wont get cleared when splatmask is re-generated)<br \/>\n&#8211; Add normal maps support for shaders<br \/>\n&#8211; <em>More to be added..<\/em><\/p>\n<p>&#8212;<\/p>\n<p><strong>TODO:<\/strong><br \/>\n<del>&#8211; User could select which layer is used for object collider checking<\/del><br \/>\n&#8211; Extra custom layer mask (so that user painted splats wont disappear if splatmap is regenerated)<br \/>\n<del> &#8211; Realtime previews for adjusting mesh slope angles<\/del><br \/>\n&#8211; Gaussian blur for invidual channels?<br \/>\n&#8211; Could bake ambient occlusion also? Or some lighting stuff?<br \/>\n&#8211; Extra channels on shader? 4 materials is not enough?<br \/>\n&#8211; Needs some height adjustment also (mountain tops different material?)<\/p>\n<p>If this works, will try to put it in store later.. Let me know if you have request\/ideas for features.<\/p>\n<p>&#8212;<\/p>\n<p>See also <a title=\"http:\/\/unitycoder.com\/blog\/2014\/06\/23\/grass-maker-for-mesh-terrain-wip\/\" href=\"http:\/\/unitycoder.com\/blog\/2014\/06\/23\/grass-maker-for-mesh-terrain-wip\/\" target=\"_blank\">Grass maker (wip)<\/a><\/p>\n<p>&#8212;<\/p>\n<p>&nbsp;<\/p>\n<p>&#8212;<\/p>\n<p><strong>Images, from work in progress:<\/strong><br \/>\n<a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_original_mesh.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2383\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splat_map_generator_unity_original_mesh\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_original_mesh.jpg?fit=1890%2C865&amp;ssl=1\" data-orig-size=\"1890,865\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splat_map_generator_unity_original_mesh\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_original_mesh.jpg?fit=1024%2C468&amp;ssl=1\" class=\"alignnone size-medium wp-image-2383\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_original_mesh-300x137.jpg?resize=300%2C137\" alt=\"mesh_splat_map_generator_unity_original_mesh\" width=\"300\" height=\"137\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_original_mesh.jpg?resize=300%2C137&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_original_mesh.jpg?resize=1024%2C468&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_original_mesh.jpg?w=1890&amp;ssl=1 1890w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip1.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2380\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splat_map_generator_unity_wip1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip1.jpg?fit=680%2C587&amp;ssl=1\" data-orig-size=\"680,587\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splat_map_generator_unity_wip1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip1.jpg?fit=680%2C587&amp;ssl=1\" class=\"alignnone size-medium wp-image-2380\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip1-300x258.jpg?resize=300%2C258\" alt=\"mesh_splat_map_generator_unity_wip1\" width=\"300\" height=\"258\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip1.jpg?resize=300%2C258&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip1.jpg?w=680&amp;ssl=1 680w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip2.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2379\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splat_map_generator_unity_wip2\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip2.jpg?fit=1205%2C603&amp;ssl=1\" data-orig-size=\"1205,603\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splat_map_generator_unity_wip2\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip2.jpg?fit=1024%2C512&amp;ssl=1\" class=\"alignnone size-medium wp-image-2379\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip2-300x150.jpg?resize=300%2C150\" alt=\"mesh_splat_map_generator_unity_wip2\" width=\"300\" height=\"150\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip2.jpg?resize=300%2C150&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip2.jpg?resize=1024%2C512&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip2.jpg?w=1205&amp;ssl=1 1205w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_shader_problem1.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_shader_problem1-300x163.jpg?resize=300%2C163\" alt=\"mesh_splat_map_generator_unity_shader_problem1\" width=\"300\" height=\"163\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_shader_problem_fixed1.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2375\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splat_map_generator_unity_shader_problem_fixed1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_shader_problem_fixed1.jpg?fit=1224%2C668&amp;ssl=1\" data-orig-size=\"1224,668\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splat_map_generator_unity_shader_problem_fixed1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_shader_problem_fixed1.jpg?fit=1024%2C558&amp;ssl=1\" class=\"alignnone size-medium wp-image-2375\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_shader_problem_fixed1-300x163.jpg?resize=300%2C163\" alt=\"mesh_splat_map_generator_unity_shader_problem_fixed1\" width=\"300\" height=\"163\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_shader_problem_fixed1.jpg?resize=300%2C163&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_shader_problem_fixed1.jpg?resize=1024%2C558&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_shader_problem_fixed1.jpg?w=1224&amp;ssl=1 1224w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_automatic_obstacle_mask.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2374\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splat_map_generator_unity_automatic_obstacle_mask\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_automatic_obstacle_mask.jpg?fit=787%2C587&amp;ssl=1\" data-orig-size=\"787,587\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splat_map_generator_unity_automatic_obstacle_mask\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_automatic_obstacle_mask.jpg?fit=787%2C587&amp;ssl=1\" class=\"alignnone size-medium wp-image-2374\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_automatic_obstacle_mask-300x223.jpg?resize=300%2C223\" alt=\"mesh_splat_map_generator_unity_automatic_obstacle_mask\" width=\"300\" height=\"223\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_automatic_obstacle_mask.jpg?resize=300%2C223&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_automatic_obstacle_mask.jpg?w=787&amp;ssl=1 787w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3_gaussian_blur.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2377\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splat_map_generator_unity_wip3_gaussian_blur\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3_gaussian_blur.jpg?fit=1235%2C692&amp;ssl=1\" data-orig-size=\"1235,692\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splat_map_generator_unity_wip3_gaussian_blur\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3_gaussian_blur.jpg?fit=1024%2C573&amp;ssl=1\" class=\"alignnone size-medium wp-image-2377\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3_gaussian_blur-300x168.jpg?resize=300%2C168\" alt=\"mesh_splat_map_generator_unity_wip3_gaussian_blur\" width=\"300\" height=\"168\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3_gaussian_blur.jpg?resize=300%2C168&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3_gaussian_blur.jpg?resize=1024%2C573&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3_gaussian_blur.jpg?w=1235&amp;ssl=1 1235w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2378\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splat_map_generator_unity_wip3\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3.jpg?fit=1877%2C903&amp;ssl=1\" data-orig-size=\"1877,903\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splat_map_generator_unity_wip3\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3.jpg?fit=1024%2C492&amp;ssl=1\" class=\"alignnone size-medium wp-image-2378\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3-300x144.jpg?resize=300%2C144\" alt=\"mesh_splat_map_generator_unity_wip3\" width=\"300\" height=\"144\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3.jpg?resize=300%2C144&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3.jpg?resize=1024%2C492&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splat_map_generator_unity_wip3.jpg?w=1877&amp;ssl=1 1877w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&#8212; 2014 &#8212;<\/p>\n<p>Current inspector features:<br \/>\n<a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_unity_2014_a.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2623\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splatmap_tool_unity_2014_a\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_unity_2014_a.jpg?fit=351%2C960&amp;ssl=1\" data-orig-size=\"351,960\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splatmap_tool_unity_2014_a\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_unity_2014_a.jpg?fit=351%2C960&amp;ssl=1\" class=\"alignnone size-medium wp-image-2623\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_unity_2014_a-109x300.jpg?resize=109%2C300\" alt=\"mesh_splatmap_tool_unity_2014_a\" width=\"109\" height=\"300\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_unity_2014_a.jpg?resize=109%2C300&amp;ssl=1 109w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_unity_2014_a.jpg?zoom=2&amp;resize=109%2C300&amp;ssl=1 218w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_unity_2014_a.jpg?zoom=3&amp;resize=109%2C300&amp;ssl=1 327w\" sizes=\"auto, (max-width: 109px) 100vw, 109px\" \/><\/a><br \/>\n&#8212;<br \/>\nTesting shader with 4 textures 4 normals:<br \/>\n<a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_shader_normals_1.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"2624\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2013\/08\/26\/mesh-terrain-texturingsplatmap-tool-wip\/mesh_splatmap_tool_shader_normals_1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_shader_normals_1.jpg?fit=1620%2C871&amp;ssl=1\" data-orig-size=\"1620,871\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"mesh_splatmap_tool_shader_normals_1\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_shader_normals_1.jpg?fit=1024%2C550&amp;ssl=1\" class=\"alignnone size-medium wp-image-2624\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_shader_normals_1-300x161.jpg?resize=300%2C161\" alt=\"mesh_splatmap_tool_shader_normals_1\" width=\"300\" height=\"161\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_shader_normals_1.jpg?resize=300%2C161&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_shader_normals_1.jpg?resize=1024%2C550&amp;ssl=1 1024w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_tool_shader_normals_1.jpg?w=1620&amp;ssl=1 1620w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><br \/>\n<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Small editor plugin for creating splatmap\/splatmask for mesh based terrain. (not terrain object) Current features: &#8211; Create splatmap based on face angles (adjustable slope angles) &#8211; Texture painting (paint to any layer R, G, B, A) &#8211; Obstacle detection (if collider is founded on mesh, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2373,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[485,3],"tags":[358,5,548,28,422,547,168,142],"class_list":["post-2372","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-assets","category-unity3d","tag-editor","tag-mesh","tag-painting","tag-plugin","tag-splatmap","tag-splatmask","tag-terrain","tag-texture"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2013\/08\/mesh_splatmap_editor_plugin_unity_1.jpg?fit=680%2C423&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p1KTaT-Cg","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/2372","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/comments?post=2372"}],"version-history":[{"count":16,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/2372\/revisions"}],"predecessor-version":[{"id":4133,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/2372\/revisions\/4133"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media\/2373"}],"wp:attachment":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media?parent=2372"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/categories?post=2372"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/tags?post=2372"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}