aboutsummaryrefslogtreecommitdiff
path: root/docs/posts/pixel_art_in_GIMP/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/posts/pixel_art_in_GIMP/index.html')
-rw-r--r--docs/posts/pixel_art_in_GIMP/index.html101
1 files changed, 76 insertions, 25 deletions
diff --git a/docs/posts/pixel_art_in_GIMP/index.html b/docs/posts/pixel_art_in_GIMP/index.html
index a095961..a9cc1b4 100644
--- a/docs/posts/pixel_art_in_GIMP/index.html
+++ b/docs/posts/pixel_art_in_GIMP/index.html
@@ -28,7 +28,7 @@
28 09/04 — 2020 28 09/04 — 2020
29 <div class="stats"> 29 <div class="stats">
30 <span class="stats-number"> 30 <span class="stats-number">
31 55.53 31 55.54
32 </span> 32 </span>
33 <span class="stats-unit">cm</span> 33 <span class="stats-unit">cm</span>
34 &nbsp 34 &nbsp
@@ -42,54 +42,105 @@
42 Pixel Art In GIMP 42 Pixel Art In GIMP
43 </h1> 43 </h1>
44 <div class="post-text"> 44 <div class="post-text">
45 <p>I’ve always been an admirer of pixel art, because of it’s simplicity and it’s resemblance to bitmap font design. Recently, I decided to take the dive and make some art of my own.</p> 45 <p>I’ve always been an admirer of pixel art, because of it’s simplicity
46<p>I used GIMP because I am fairly familiar with it. Aseprite seems to be the editor of choice for animated pixel art though.</p> 46and it’s resemblance to bitmap font design. Recently, I decided to take
47the dive and make some art of my own.</p>
48<p>I used GIMP because I am fairly familiar with it. Aseprite seems to
49be the editor of choice for animated pixel art though.</p>
47<h3 id="setting-up-the-canvas">Setting up the canvas</h3> 50<h3 id="setting-up-the-canvas">Setting up the canvas</h3>
48<p>Picking a canvas size is daunting. Too small, and you won’t be able to fit in enough detail to make a legible piece. Too big and you’ve got too many pixels to work with!</p> 51<p>Picking a canvas size is daunting. Too small, and you won’t be able
49<p>I would suggest starting out with anywhere between 100x100 and 200x200. <a href="https://u.peppe.rs/u9.png">Here’s</a> a sample configuration.</p> 52to fit in enough detail to make a legible piece. Too big and you’ve got
50<p>Sometimes I use a 10x10 grid, <code>View &gt; Show Grid</code> and <code>Edit &gt; Preferences &gt; Default Grid &gt; Spacing</code>, but that can get jarring, so I throw down a couple of guides, drag right or down from the left or top gutters for vertical and horizontal guides respectively.</p> 53too many pixels to work with!</p>
54<p>I would suggest starting out with anywhere between 100x100 and
55200x200. <a href="https://u.peppe.rs/u9.png">Here’s</a> a sample
56configuration.</p>
57<p>Sometimes I use a 10x10 grid, <code>View &gt; Show Grid</code> and
58<code>Edit &gt; Preferences &gt; Default Grid &gt; Spacing</code>, but
59that can get jarring, so I throw down a couple of guides, drag right or
60down from the left or top gutters for vertical and horizontal guides
61respectively.</p>
51<h3 id="choosing-a-brush">Choosing a Brush</h3> 62<h3 id="choosing-a-brush">Choosing a Brush</h3>
52<p>The most important part of our setup is the brush. Use the Pencil Tool (<code>n</code> on the keyboard) for hard edge drawings. Here’s a small comparison if you don’t know the difference between a hard edge and a soft edge:</p> 63<p>The most important part of our setup is the brush. Use the Pencil
64Tool (<code>n</code> on the keyboard) for hard edge drawings. Here’s a
65small comparison if you don’t know the difference between a hard edge
66and a soft edge:</p>
53<figure> 67<figure>
54<img src="https://u.peppe.rs/kz.png" alt="Hard edge vs Soft Edge" /><figcaption aria-hidden="true">Hard edge vs Soft Edge</figcaption> 68<img src="https://u.peppe.rs/kz.png" alt="Hard edge vs Soft Edge" />
69<figcaption aria-hidden="true">Hard edge vs Soft Edge</figcaption>
55</figure> 70</figure>
56<p>I turn the size down all the way to 1 (<code>[</code> on the keyboard). Set <code>Dynamics</code> off. <a href="https://u.peppe.rs/Fs.png">Here’s</a> a sample brush configuration.</p> 71<p>I turn the size down all the way to 1 (<code>[</code> on the
72keyboard). Set <code>Dynamics</code> off. <a
73href="https://u.peppe.rs/Fs.png">Here’s</a> a sample brush
74configuration.</p>
57<h3 id="laying-down-the-pixels">Laying down the pixels!</h3> 75<h3 id="laying-down-the-pixels">Laying down the pixels!</h3>
58<p>With the boring stuff out of the way, we can start with our piece. I usually follow a three step process:</p> 76<p>With the boring stuff out of the way, we can start with our piece. I
77usually follow a three step process:</p>
59<ul> 78<ul>
60<li>draw a rough outline</li> 79<li>draw a rough outline</li>
61<li>fill in the shadows</li> 80<li>fill in the shadows</li>
62<li>add highlights</li> 81<li>add highlights</li>
63</ul> 82</ul>
64<p>But this process is better explained with an example: an onigiri. Let us start off with a 100x100 canvas.</p> 83<p>But this process is better explained with an example: an onigiri. Let
84us start off with a 100x100 canvas.</p>
65<h4 id="drawing-the-outline">Drawing the outline</h4> 85<h4 id="drawing-the-outline">Drawing the outline</h4>
66<p>For the most part, our figure will be symmetric. If you are on GIMP 2.10+, you can take advantage of the Symmetry Painting feature. Go ahead and enable vertical symmetry, <code>Window &gt; Dockable Dialogs &gt; Symmetry Painting</code> and <code>Symmetry Painting &gt; Symmetry &gt; Mirror &gt; Vertical</code>.</p> 86<p>For the most part, our figure will be symmetric. If you are on GIMP
67<p>If you are running an older version of GIMP, draw in the left side, duplicate the layer, flip it horizontally, and merge it with the original.</p> 872.10+, you can take advantage of the Symmetry Painting feature. Go ahead
88and enable vertical symmetry,
89<code>Window &gt; Dockable Dialogs &gt; Symmetry Painting</code> and
90<code>Symmetry Painting &gt; Symmetry &gt; Mirror &gt; Vertical</code>.</p>
91<p>If you are running an older version of GIMP, draw in the left side,
92duplicate the layer, flip it horizontally, and merge it with the
93original.</p>
68<p>Your outline might look something like this:</p> 94<p>Your outline might look something like this:</p>
69<p><img src="https://u.peppe.rs/mn.png" /></p> 95<p><img src="https://u.peppe.rs/mn.png" /></p>
70<p>Go ahead and fill it in with the fill tool (<code>Shift + b</code> on the keyboard), add in some seaweed as well, preferably on a different layer. You can toggle symmetry on and off to save yourself some time.</p> 96<p>Go ahead and fill it in with the fill tool (<code>Shift + b</code> on
97the keyboard), add in some seaweed as well, preferably on a different
98layer. You can toggle symmetry on and off to save yourself some
99time.</p>
71<p><img src="https://u.peppe.rs/xu.png" /></p> 100<p><img src="https://u.peppe.rs/xu.png" /></p>
72<h4 id="shadows">Shadows</h4> 101<h4 id="shadows">Shadows</h4>
73<p>For now, let us focus on the shadows on the object itself, we’ll come back to the shadows cast by the object on the surface later.</p> 102<p>For now, let us focus on the shadows on the object itself, we’ll come
74<p>Shadows on any surface always follow the shape of the surface. A spherical onigiri would have a circular shadow:</p> 103back to the shadows cast by the object on the surface later.</p>
104<p>Shadows on any surface always follow the shape of the surface. A
105spherical onigiri would have a circular shadow:</p>
75<p><img src="https://u.peppe.rs/FU.png" /></p> 106<p><img src="https://u.peppe.rs/FU.png" /></p>
76<p>A couple of noticeable changes:</p> 107<p>A couple of noticeable changes:</p>
77<p><strong>Layers</strong>: The layer containing the seaweed has been hidden.<br /> 108<p><strong>Layers</strong>: The layer containing the seaweed has been
78<strong>Color</strong>: The color of the shadow is just a slightly lighter version of the original object (reduce the Value on the HSV scale).<br /> 109hidden.<br />
79<strong>Area</strong>: The shadow does not go all the way (notice the bottom edges).</p> 110<strong>Color</strong>: The color of the shadow is just a slightly
80<p>The shadow does not go all the way because we will be filling in that area with another, darker shadow! An image might explain better:</p> 111lighter version of the original object (reduce the Value on the HSV
112scale).<br />
113<strong>Area</strong>: The shadow does not go all the way (notice the
114bottom edges).</p>
115<p>The shadow does not go all the way because we will be filling in that
116area with another, darker shadow! An image might explain better:</p>
81<p><img src="https://u.peppe.rs/Br.png" /></p> 117<p><img src="https://u.peppe.rs/Br.png" /></p>
82<p>To emulate soft lights, reduce the value by 2 to 3 points every iteration. Notice how area <code>1</code> is much larger than area <code>4</code>. This is because an onigiri resembles a bottom heavy oblate spheroid, a sphere that is slightly fatter around the lower bottom, and areas <code>1</code> and <code>2</code> catch more light than areas <code>3</code> and <code>4</code>.</p> 118<p>To emulate soft lights, reduce the value by 2 to 3 points every
83<p>Do the same with the seaweed. The seaweed, being a smaller, flatter object, doesn’t cast much of a shadow, so stop with 1 or 2 iterations of the gradient:</p> 119iteration. Notice how area <code>1</code> is much larger than area
120<code>4</code>. This is because an onigiri resembles a bottom heavy
121oblate spheroid, a sphere that is slightly fatter around the lower
122bottom, and areas <code>1</code> and <code>2</code> catch more light
123than areas <code>3</code> and <code>4</code>.</p>
124<p>Do the same with the seaweed. The seaweed, being a smaller, flatter
125object, doesn’t cast much of a shadow, so stop with 1 or 2 iterations of
126the gradient:</p>
84<p><img src="https://u.peppe.rs/T3.png" /></p> 127<p><img src="https://u.peppe.rs/T3.png" /></p>
85<p>We’re getting there!</p> 128<p>We’re getting there!</p>
86<h4 id="highlights">Highlights</h4> 129<h4 id="highlights">Highlights</h4>
87<p>This step handles the details on the strongly illuminated portions of the object. Seaweed is a bit glossy, lighten the edges to make it seem shiny. The rice is not as shiny, but it does form an uneven surface. Add in some shadows to promote the idea of rice grains. Here is the finished result:</p> 130<p>This step handles the details on the strongly illuminated portions of
131the object. Seaweed is a bit glossy, lighten the edges to make it seem
132shiny. The rice is not as shiny, but it does form an uneven surface. Add
133in some shadows to promote the idea of rice grains. Here is the finished
134result:</p>
88<p><img src="https://u.peppe.rs/VE.png" /></p> 135<p><img src="https://u.peppe.rs/VE.png" /></p>
89<h3 id="finishing-touches">Finishing Touches</h3> 136<h3 id="finishing-touches">Finishing Touches</h3>
90<p>Some color correction and <code>a e s t h e t i c</code> Japanese text later, our piece is complete!</p> 137<p>Some color correction and <code>a e s t h e t i c</code> Japanese
138text later, our piece is complete!</p>
91<p><img src="https://u.peppe.rs/cn.png" /></p> 139<p><img src="https://u.peppe.rs/cn.png" /></p>
92<p>Hold on, why is it so tiny? Well, that’s because our canvas was 100x100, head over to <code>Image &gt; Scale Image</code>, set <code>Quality &gt; Interpolation</code> to <code>None</code> and scale it up to 700x700, et voilà!</p> 140<p>Hold on, why is it so tiny? Well, that’s because our canvas was
141100x100, head over to <code>Image &gt; Scale Image</code>, set
142<code>Quality &gt; Interpolation</code> to <code>None</code> and scale
143it up to 700x700, et voilà!</p>
93<p><img src="https://u.peppe.rs/CH.png" /></p> 144<p><img src="https://u.peppe.rs/CH.png" /></p>
94 145
95 </div> 146 </div>