{"id":3084,"date":"2014-07-15T01:40:17","date_gmt":"2014-07-14T22:40:17","guid":{"rendered":"http:\/\/unitycoder.com\/blog\/?p=3084"},"modified":"2020-07-07T18:22:22","modified_gmt":"2020-07-07T15:22:22","slug":"asset-store-mobile-paint","status":"publish","type":"post","link":"https:\/\/unitycoder.com\/blog\/2014\/07\/15\/asset-store-mobile-paint\/","title":{"rendered":"[Asset Store] Mobile Paint *now free"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3085\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2014\/07\/15\/asset-store-mobile-paint\/unity_mobile_paint_draw_1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/unity_mobile_paint_draw_1.jpg?fit=680%2C398&amp;ssl=1\" data-orig-size=\"680,398\" 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=\"unity_mobile_paint_draw_1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/unity_mobile_paint_draw_1.jpg?fit=300%2C175&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/unity_mobile_paint_draw_1.jpg?fit=680%2C398&amp;ssl=1\" class=\"alignnone size-full wp-image-3085\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/unity_mobile_paint_draw_1.jpg?resize=680%2C398\" alt=\"unity_mobile_paint_draw_1\" width=\"680\" height=\"398\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/unity_mobile_paint_draw_1.jpg?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/unity_mobile_paint_draw_1.jpg?resize=300%2C175&amp;ssl=1 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<p>Simple touch paint program, optimized for mobiles.<\/p>\n<p><strong>&#8212;<\/strong><\/p>\n<p><strong>Github:<\/strong> <a href=\"https:\/\/github.com\/unitycoder\/UnityMobilePaint\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/unitycoder\/UnityMobilePaint<\/a><\/p>\n<p><strong>Asset Store *Deprecated:<\/strong> <a href=\"https:\/\/assetstore.unity.com\/packages\/tools\/integration\/mobile-paint-19803?aid=1101lGti\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/assetstore.unity.com\/packages\/tools\/integration\/mobile-paint-19803?aid=1101lGti<\/a><br \/>\n<strong>Forum thread:<\/strong> <a title=\"http:\/\/forum.unity3d.com\/threads\/released-mobile-paint-with-multi-touch.262645\/\" href=\"http:\/\/forum.unity3d.com\/threads\/released-mobile-paint-with-multi-touch.262645\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/forum.unity3d.com\/threads\/released-mobile-paint-with-multi-touch.262645\/<\/a><\/p>\n<p>&#8212;<\/p>\n<p><strong>Latest Update:<\/strong> 26\/10\/2018, this is now free in asset store!<\/p>\n<h3><strong>Current features:<\/strong><\/h3>\n<p>List below is not updated, use Github Issues instead :\u00a0<a href=\"https:\/\/github.com\/unitycoder\/UnityMobilePaint\/issues\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/github.com\/unitycoder\/UnityMobilePaint\/issues<\/a><br \/>\n&#8211; Optimized pixel drawing<br \/>\n&#8211; Multi-touch support (you can paint with 10 fingers or more if supported in device *have only tested 10 on ipad \/ android)<br \/>\n&#8211; Works with Unity indie &amp; pro<br \/>\n&#8211; Basic UI included (see right side of the main image.. color palette, brush size, clear button. Those are just guitextures, images can be replaced easily)<br \/>\n&#8211; Feature: Basic Floodfill tool, fill directly into canvas <strong>[done]<\/strong><br \/>\n&#8211; Option: To not paint on top of black outlines\u00a0 <strong>[done &#8211; using mask layer]<\/strong><br \/>\n&#8211; Better palette handling (with proper color picker from gradient image) <strong>[done &#8211; modal palette dialog]<\/strong><br \/>\n&#8211; Option: Minimum brush size (currently its fixed to 1) <strong>[done]<\/strong><br \/>\n&#8211; Feature: Texture as painting canvas mask\/layer <strong>[done &#8211; phase#1]<\/strong><br \/>\n&#8211; Feature: Custom brushes : already tested and it works,\u00a0 without brush texture scaling.. <strong>[done]<br \/>\n<\/strong>&#8211; Feature: Transparency\/Opacity :\u00a0 tested, works with custom brushes also.. <strong>[done]<br \/>\n<\/strong>&#8211; Feature: Use texture as drawable canvas (instead of extra layer only) <strong>done]<br \/>\n<\/strong>&#8211; Feature: Only paint inside current mask area (locking mask) <strong>[done]<br \/>\n<\/strong> &#8211; Feature: Advanced Floodfill tool, fill based on mask <strong>[cancelled]<\/strong> *basically same as locking mask<br \/>\n&#8211; Feature: Floodfill threshold value <strong>[done]<\/strong><br \/>\n&#8211; Feature: LockingMask threshold value (to avoid artifacts) <strong>[done]<\/strong><br \/>\n&#8211; Feature: Floodfill using mask only (not checking paint canvas) <strong>[done]<\/strong><br \/>\n&#8211; Hide \/ Show user interface (would give more drawing area) <strong>[done]<\/strong> *with new UI demo scene<br \/>\n&#8211; Optimization: Wrapping can be cleaned up a bit, tested on another project <strong>[done]<br \/>\n<\/strong>&#8211; Feature: Random lines example<strong> [done]<br \/>\n<\/strong>&#8211; Feature: CanvasWithMask &#8220;reversed&#8221;, draw in the overlay instead of back layer [<strong>done<\/strong> *use TargetTexture to set which texture gets painted)<br \/>\n&#8211; Feature: Paint with texture pattern <strong>[done]<br \/>\n<\/strong> &#8211; Feature: Better User Interface, using new UI <strong>[done]<br \/>\n<\/strong>&#8211; Feature: Save image (to local folder or web?) <strong>[done<\/strong> *example included to save .png with System.IO.File]<strong><br \/>\n<\/strong> &#8211; Feature: Custom brush with custom colors (selected color) <strong>[done]<br \/>\n<\/strong> &#8211; Option: Allow precise canvas location setting (if want to limit drawing to certain position on screen)<strong> [kind of done, with reference position]<br \/>\n<\/strong> &#8211; Option: To set line drawing resolution (to avoid gaps between circles when moving fast) <strong>[kind of done, can use highResolution toggle]<\/strong><\/p>\n<p>&#8212;<\/p>\n<p><strong>Feature requests <\/strong><em>(and random ideas, with estimated progress percentage)<br \/>\n<\/em>&#8211; Cleaning up the sources, add more comments, add documentation for public methods <strong>[25%]<\/strong><br \/>\n&#8211; Feature: Confirmation dialog (on clearing image) <strong>[-]<\/strong><br \/>\n&#8211; Optimization: Use better algorithms for line drawing <strong>[10%- stuck]<\/strong><br \/>\n&#8211; Feature: Sprite shader version of canvas [-] *I think &#8216;it just works&#8217; already<br \/>\n&#8211; Feature: Use webcam or camera roll to select image as canvas [-]<br \/>\n&#8211; Feature: Use webcam as live background [-] *you can do this with transparent canvas and your own background webcam plane<br \/>\n&#8211; Feature: Display brush at finger positions<del> using Gizmos<\/del> using GL.Lines [-]<br \/>\n&#8211; Feature: Image scaling options (otherwise image aspect ratio &#8220;breaks&#8221; on wide screens)<br \/>\n&#8211; Feature: Procedural brushes<br \/>\n&#8211; Feature: Fading paint strokes (and other dynamic canvas effects)<br \/>\n&#8211; Feature: Eraser<br \/>\n&#8211; Feature: Use splines for fast drawing curves (currently it becomes straight jumpy lines)<br \/>\n<em> &#8211; feel free to request \/ suggest other features!<\/em><\/p>\n<p>&#8212;<\/p>\n<p><strong>Bugs \/ Limitations:<\/strong><br \/>\n<del>&#8211; Cannot draw all the way on image borders<\/del> *Fixed in v1.7 or so<br \/>\n&#8211; Custom brush image is somewhat tilted? (if you want it to be straight, make it as tilted image originally)<br \/>\n<del>&#8211; Drawing fast movements with custom brush won\u2019t connect the lines as in brush mode<\/del> *Fixed in v1.7 or so<br \/>\n&#8211; You will need to modify existing C# codes if want to add custom features *v1.9 plus has override examples, so no need to modify original script so much<\/p>\n<p>&#8212;<\/p>\n<p><strong>Stats:<\/strong> (from test devices with v1.0)<br \/>\n&#8211; <a title=\"http:\/\/www.androidauthority.com\/ceros-revolution-review-quad-core-2048-x-1536-9-7-inch-tablet-259540\/\" href=\"http:\/\/www.androidauthority.com\/ceros-revolution-review-quad-core-2048-x-1536-9-7-inch-tablet-259540\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ceros Revolution (android)<\/a> (Texture resolution: <strong>~<\/strong><strong>2048 x 1536<\/strong>) : 36fps idle, 10-13fps while painting with 10 fingers. **Note: Completely empty scene displays only 40-44fps on this device<br \/>\n&#8211; <a title=\"http:\/\/www.shareasale.com\/m-pr.cfm?merchantID=18925&amp;userID=623476&amp;productID=533661997\" href=\"http:\/\/www.shareasale.com\/m-pr.cfm?merchantID=18925&amp;userID=623476&amp;productID=533661997\" target=\"_blank\" rel=\"noopener noreferrer\">MySaga C3 (android)<\/a> : (Texture resolution: <strong>~<\/strong><strong>800 x 480<\/strong>) : 45fps idle, 35-42fps while painting with 3 fingers<br \/>\n&#8211; iPad2 : (Texture resolution: ~<strong>1024 x 768<\/strong>) : 30fps idle, 29fps while painting with 5-10 fingers (thin line), 10-15fps with bigger brush<br \/>\n&#8211; iPhone5 : (Texture resolution: ~<strong><b>1136 x 640<\/b><\/strong>) : 30fps idle, 29fps while painting with 5 fingers<\/p>\n<p><strong>Download Android Demo (.apk)<\/strong> *Feel free to post your device and fps + resolution in the comments (so can compare different phones\/tables)<br \/>\n&#8211; MobilePaintV10.apk (<a title=\"http:\/\/www.mediafire.com\/download\/28u52i76blcqbgl\/MobilePaint_demoV1.apk\" href=\"http:\/\/www.mediafire.com\/download\/28u52i76blcqbgl\/MobilePaint_demoV1.apk\" target=\"_blank\" rel=\"noopener noreferrer\">mediafire <\/a>| <a title=\"https:\/\/dl.dropboxusercontent.com\/u\/227470828\/UnityCoder\/MobilePaint\/MobilePaint_demoV1.apk\" href=\"https:\/\/dl.dropboxusercontent.com\/u\/227470828\/UnityCoder\/MobilePaint\/MobilePaint_demoV1.apk\" target=\"_blank\" rel=\"noopener noreferrer\">dropbox<\/a>) *old<br \/>\n&#8211; MobilePaintV11.apk (<a title=\"http:\/\/www.mediafire.com\/download\/o6ol5p9m3hov9ei\/MobilePaint_demoV11.apk\" href=\"http:\/\/www.mediafire.com\/download\/o6ol5p9m3hov9ei\/MobilePaint_demoV11.apk\" target=\"_blank\" rel=\"noopener noreferrer\">mediafire<\/a> | <a title=\"https:\/\/dl.dropboxusercontent.com\/u\/227470828\/UnityCoder\/MobilePaint\/MobilePaint_demoV11.apk\" href=\"https:\/\/dl.dropboxusercontent.com\/u\/227470828\/UnityCoder\/MobilePaint\/MobilePaint_demoV11.apk\" target=\"_blank\" rel=\"noopener noreferrer\">dropbox<\/a>) *old<br \/>\n&#8211; MobilePaintV195.apk (<a href=\"https:\/\/www.dropbox.com\/s\/fkt1c4gqgz5tvq0\/MobilePaintDemoV195.apk?dl=0\" target=\"_blank\" rel=\"noopener noreferrer\">dropbox<\/a>) *running at half device resolution<\/p>\n<p><strong>Webplayer demo<\/strong> (with mouse): *old<br \/>\n<a title=\"http:\/\/unitycoder.com\/upload\/demos\/MobilePaint\/v1\/\" href=\"http:\/\/unitycoder.com\/upload\/demos\/MobilePaint\/v1\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/unitycoder.com\/upload\/demos\/MobilePaint\/v1\/<\/a> (v1.0, mouse version)<br \/>\n(v1.1 &#8211; webplayer demo not available yet)<\/p>\n<p><strong>Documentation (.pdf) *old<br \/>\n<\/strong><a href=\"http:\/\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/MobilePaint_web1.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">MobilePaint_web.pdf<\/a> (v1.0)<br \/>\n<a href=\"http:\/\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/MobilePaint_web11.pdf\" target=\"_blank\" rel=\"noopener noreferrer\">MobilePaint_web11.pdf<\/a> (v1.1)<\/p>\n<p>&#8212;<\/p>\n<p><strong>References (apps using MobilePaint)<\/strong><br \/>\n&#8211; <a href=\"http:\/\/www.pixelenvision.com\/finger-painting-coloring-pages\/\" target=\"_blank\" rel=\"noopener noreferrer\">http:\/\/www.pixelenvision.com\/finger-painting-coloring-pages\/<\/a><\/p>\n<p>&#8212;<\/p>\n<p><strong>Image#2:<\/strong> *work-in-progress: Using texture mask (black &amp; white line drawing), mask is preserved while painting (its separate shader layer)<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_mask_image_1.jpg\" target=\"_blank\" rel=\"noopener noreferrer\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3128\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2014\/07\/15\/asset-store-mobile-paint\/mobile_paint_unity_mask_image_1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_mask_image_1.jpg?fit=800%2C480&amp;ssl=1\" data-orig-size=\"800,480\" 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=\"mobile_paint_unity_mask_image_1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_mask_image_1.jpg?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_mask_image_1.jpg?fit=800%2C480&amp;ssl=1\" class=\"alignnone wp-image-3128 size-medium\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_mask_image_1-300x180.jpg?resize=300%2C180\" alt=\"mobile_paint_unity_mask_image_1\" width=\"300\" height=\"180\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_mask_image_1.jpg?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_mask_image_1.jpg?w=800&amp;ssl=1 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&#8212;<\/p>\n<p><strong>Image#3:<\/strong> Custom brushes<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3164\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2014\/07\/15\/asset-store-mobile-paint\/mobile_paint_custom_brushes_1\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_custom_brushes_1.png?fit=680%2C397&amp;ssl=1\" data-orig-size=\"680,397\" 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=\"mobile_paint_custom_brushes_1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_custom_brushes_1.png?fit=300%2C175&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_custom_brushes_1.png?fit=680%2C397&amp;ssl=1\" class=\"alignnone size-full wp-image-3164\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_custom_brushes_1.png?resize=680%2C397\" alt=\"mobile_paint_custom_brushes_1\" width=\"680\" height=\"397\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_custom_brushes_1.png?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_custom_brushes_1.png?resize=300%2C175&amp;ssl=1 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<p>&#8212;<\/p>\n<p><strong>v1.2 images:<\/strong><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss3.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3385\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2014\/07\/15\/asset-store-mobile-paint\/mobile_paint_12_ss3\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss3.jpg?fit=800%2C480&amp;ssl=1\" data-orig-size=\"800,480\" 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;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"mobile_paint_12_ss3\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss3.jpg?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss3.jpg?fit=800%2C480&amp;ssl=1\" class=\"alignnone size-medium wp-image-3385\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss3-300x180.jpg?resize=300%2C180\" alt=\"mobile_paint_12_ss3\" width=\"300\" height=\"180\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss3.jpg?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss3.jpg?w=800&amp;ssl=1 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a> <a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss2.jpg\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3386\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2014\/07\/15\/asset-store-mobile-paint\/mobile_paint_12_ss2\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss2.jpg?fit=800%2C480&amp;ssl=1\" data-orig-size=\"800,480\" 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;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"mobile_paint_12_ss2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss2.jpg?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss2.jpg?fit=800%2C480&amp;ssl=1\" class=\"alignnone size-medium wp-image-3386\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss2-300x180.jpg?resize=300%2C180\" alt=\"mobile_paint_12_ss2\" width=\"300\" height=\"180\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss2.jpg?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_12_ss2.jpg?w=800&amp;ssl=1 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>&#8212;<\/p>\n<p><strong>v1.4 images:<\/strong> using new UI 4.6<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3586\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2014\/07\/15\/asset-store-mobile-paint\/mobile_paint_unity_new_ui_46\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_new_ui_46.png?fit=680%2C403&amp;ssl=1\" data-orig-size=\"680,403\" 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;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"mobile_paint_unity_new_ui_46\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_new_ui_46.png?fit=300%2C178&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_new_ui_46.png?fit=680%2C403&amp;ssl=1\" class=\"alignnone size-full wp-image-3586\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_new_ui_46.png?resize=680%2C403\" alt=\"mobile_paint_unity_new_ui_46\" width=\"680\" height=\"403\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_new_ui_46.png?w=680&amp;ssl=1 680w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_new_ui_46.png?resize=300%2C178&amp;ssl=1 300w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/p>\n<p>&#8212;<\/p>\n<p>Painting with texture pattern (v1.8)<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/pattern_painter.jpg\" target=\"_blank\" rel=\"noopener noreferrer\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"3853\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2014\/07\/15\/asset-store-mobile-paint\/pattern_painter\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/pattern_painter.jpg?fit=800%2C480&amp;ssl=1\" data-orig-size=\"800,480\" 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;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"pattern_painter\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/pattern_painter.jpg?fit=300%2C180&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/pattern_painter.jpg?fit=800%2C480&amp;ssl=1\" class=\"alignnone size-medium wp-image-3853\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/pattern_painter-300x180.jpg?resize=300%2C180\" alt=\"pattern_painter\" width=\"300\" height=\"180\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/pattern_painter.jpg?resize=300%2C180&amp;ssl=1 300w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/pattern_painter.jpg?w=800&amp;ssl=1 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Simple touch paint program, optimized for mobiles. &#8212; Github: https:\/\/github.com\/unitycoder\/UnityMobilePaint Asset Store *Deprecated: https:\/\/assetstore.unity.com\/packages\/tools\/integration\/mobile-paint-19803?aid=1101lGti Forum thread: http:\/\/forum.unity3d.com\/threads\/released-mobile-paint-with-multi-touch.262645\/ &#8212; Latest Update: 26\/10\/2018, this is now free in asset store! Current features: List below is not updated, use Github Issues instead :\u00a0https:\/\/github.com\/unitycoder\/UnityMobilePaint\/issues &#8211; Optimized pixel drawing &#8211; [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3586,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_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}},"categories":[485,3],"tags":[79,247,123,5,195,700,34,548,703,702,142,701,364,650],"class_list":["post-3084","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-assets","category-unity3d","tag-color","tag-draw","tag-drawing","tag-mesh","tag-mobile","tag-optimized","tag-paint","tag-painting","tag-setpixel","tag-setpixels","tag-texture","tag-texture2d","tag-touch","tag-ui"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2014\/07\/mobile_paint_unity_new_ui_46.png?fit=680%2C403&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p1KTaT-NK","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/3084","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=3084"}],"version-history":[{"count":73,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/3084\/revisions"}],"predecessor-version":[{"id":5265,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/3084\/revisions\/5265"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media\/3586"}],"wp:attachment":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media?parent=3084"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/categories?post=3084"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/tags?post=3084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}