aboutsummaryrefslogtreecommitdiff
path: root/docs/posts/pixel_art_in_GIMP/index.html
blob: a9cc1b4abcaa4ed7523be0df1f8c7080805d0c5a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<!DOCTYPE html>
<html lang="en">
  <head>
    <link rel="stylesheet" href="/style.css">
    <link rel="stylesheet" href="/syntax.css">
    <meta charset="UTF-8">
    <meta name="viewport" content="initial-scale=1">
    <meta content="#ffffff" name="theme-color">
    <meta name="HandheldFriendly" content="true">
    <meta property="og:title" content="Pixel Art In GIMP">
    <meta property="og:type" content="website">
    <meta property="og:description" content="a static site {for, by, about} me ">
    <meta property="og:url" content="https://peppe.rs">
    <link rel="icon" type="image/x-icon" href="/favicon.png">
    <title>Pixel Art In GIMP · peppe.rs</title>
    <body>
      <div class="posts">
        <div class="post">
          <a href="/" class="post-end-link">Home</a>
          <span>/</span>
          <a href="/posts" class="post-end-link">Posts</a>
          <span>/</span>
          <a class="post-end-link">Pixel Art In GIMP</a>
          <a class="stats post-end-link" href="https://git.peppe.rs/web/site/plain/posts/pixel_art_in_GIMP.md
">View Raw</a>
          <div class="separator"></div>
          <div class="date">
            09/04 — 2020
            <div class="stats">
              <span class="stats-number">
                55.54
              </span>
              <span class="stats-unit">cm</span>
              &nbsp
              <span class="stats-number">
                5.0
              </span>
              <span class="stats-unit">min</span>
            </div>
          </div>
          <h1>
            Pixel Art In GIMP
          </h1>
          <div class="post-text">
            <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>
<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>
<h3 id="setting-up-the-canvas">Setting up the canvas</h3>
<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>
<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>
<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>
<h3 id="choosing-a-brush">Choosing a Brush</h3>
<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>
<figure>
<img src="https://u.peppe.rs/kz.png" alt="Hard edge vs Soft Edge" />
<figcaption aria-hidden="true">Hard edge vs Soft Edge</figcaption>
</figure>
<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>
<h3 id="laying-down-the-pixels">Laying down the pixels!</h3>
<p>With the boring stuff out of the way, we can start with our piece. I
usually follow a three step process:</p>
<ul>
<li>draw a rough outline</li>
<li>fill in the shadows</li>
<li>add highlights</li>
</ul>
<p>But this process is better explained with an example: an onigiri. Let
us start off with a 100x100 canvas.</p>
<h4 id="drawing-the-outline">Drawing the outline</h4>
<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>
<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>
<p>Your outline might look something like this:</p>
<p><img src="https://u.peppe.rs/mn.png" /></p>
<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>
<p><img src="https://u.peppe.rs/xu.png" /></p>
<h4 id="shadows">Shadows</h4>
<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>
<p>Shadows on any surface always follow the shape of the surface. A
spherical onigiri would have a circular shadow:</p>
<p><img src="https://u.peppe.rs/FU.png" /></p>
<p>A couple of noticeable changes:</p>
<p><strong>Layers</strong>: The layer containing the seaweed has been
hidden.<br />
<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 />
<strong>Area</strong>: The shadow does not go all the way (notice the
bottom edges).</p>
<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>
<p><img src="https://u.peppe.rs/Br.png" /></p>
<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>
<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>
<p><img src="https://u.peppe.rs/T3.png" /></p>
<p>We’re getting there!</p>
<h4 id="highlights">Highlights</h4>
<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>
<p><img src="https://u.peppe.rs/VE.png" /></p>
<h3 id="finishing-touches">Finishing Touches</h3>
<p>Some color correction and <code>a e s t h e t i c</code> Japanese
text later, our piece is complete!</p>
<p><img src="https://u.peppe.rs/cn.png" /></p>
<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>
<p><img src="https://u.peppe.rs/CH.png" /></p>

          </div>
          
    <div class="intro">
        Hi. 
        <div class="hot-links">
            <a href="https://peppe.rs/index.xml" class="feed-button">Subscribe</a>
            <a href="https://liberapay.com/nerdypepper/donate" class="donate-button">Donate</a>
        </div>
        <p>I'm Akshay, I go by nerd or nerdypepper on the internet.</p>
        <p>
        I am a compsci undergrad, Rust programmer and an enthusiastic Vimmer.
        I write <a href="https://git.peppe.rs">open-source stuff</a> to pass time. 
        I also design fonts: 
        <a href="https://git.peppe.rs/fonts/scientifica">scientifica</a>, 
        <a href="https://git.peppe.rs/fonts/curie">curie</a>.
        </p>
        <p>Send me a mail at [email protected] or a message at [email protected].</p>
    </div>
    
          <a href="/" class="post-end-link">Home</a>
          <span>/</span>
          <a href="/posts" class="post-end-link">Posts</a>
          <span>/</span>
          <a class="post-end-link">Pixel Art In GIMP</a>
          <a class="stats post-end-link" href="https://git.peppe.rs/web/site/plain/posts/pixel_art_in_GIMP.md
">View Raw</a>
        </div>
      </div>
    </body>
</html>