asepriteツールを使ったピクセルアートの描画
1. 描画前の計画
- 被写体に合わせてキャンバスサイズを選びます。 アイテムやアイコンには16~32px、キャラクターには32~64px、シーンには64~128px以上を使用します。ユーザーが選んだサイズを維持してください。開いているファイルが被写体に対して小さすぎる場合は、
resize_canvasでそのファイルをリサイズします。新しいファイルを代わりに作成しないでください(aseprite-liveスキルを参照)。 - 各部分のピクセルボックスを書き留めます (x, y, w, h)。例:「monitor 14,9 36×27」。端から1~2pxのマージンを残します。
- 各オブジェクトを専用のレイヤーに配置します。レイヤー名はそれが保持するものに合わせて「sky」、「ground」、「tree」、「character」とします。後から作成したレイヤーは上に重なります。
2. パレットを先に決める
- 素材ごとにランプを構築します。 各素材に対して
generate_color_ramp(base, steps=3-4)を呼び出すか、レトロな見た目にはapply_palette_presetを使用します。合計で8~16色を目指します。 - 隣接する素材は、色相だけでなく明度でも分けます。
- 1つの光源方向を選び(デフォルトでは左上)、作品全体でそれを維持します。
3. パスごとに描画し、各パスの後に確認する
- 平坦な色でシルエットを描く。 大きな形状にはシェイプツール(
draw_rectangle_at、draw_ellipse_at、draw_polygon、fill_area_at、apply_gradient_rect)を使用します。顔、手、取っ手、小さな小道具など、約12px以下のものにはdraw_rowsを使用します。これらはピクセル単位で描画され、シェイプから構築されることはありません。 - フラットカラーを塗る。 各部分をベースカラーで塗りつぶします。
- シェーディング。 光源側にハイライトを、反対側と張り出しの下に影を入れます。ピロウシェーディング(中心が明るく、暗いリングで囲まれる)は避けてください。32px未満ではディザリングやアンチエイリアシングは行いません。
- アウトラインを1つの暗い色で描く。 塗りの色より明るくしないでください。
outline_celは形状の外側に1pxを追加します。単一オブジェクトの場合はregion=を渡します。 - ディテールを追加する。 ハイライト、テクスチャ、小さな小道具を追加します。
各パスの後:
view_sprite(region="x,y,w,h"で拡大表示)。get_color_statsで迷色を検出。lint_spriteで孤立ピクセルや分離した部品を発見。
問題を修正してから次に進みます。形状が判別しづらい場合は、ディテールではなく形状を変更します。
クリーンなライン
- 直線の斜め線は等間隔のステップを使用します(1-1-1 または 2-2-2)。
- 曲線は徐々に変化するステップを使用します(1, 2, 3。 1, 3, 1 ではありません)。
- 1pxの線にL字型のダブりはなく、孤立ピクセルもありません。
- オブジェクトは表面に完全に接触し、パーツは接着されたままです。取っ手はマグカップに、葉は鉢から生えているようにします。
draw_rows クイックリファレンス
draw_rows(filename, layer_name="mug", frame_index=1, x=47, y=38,
rows=["wCCCw..", "WWWWWhh", "WRRRW.h", "WWWWWhh", "wWWWw.."],
legend={"W": "#ECECF4", "w": "#C8C8D8", "C": "#4A2E1C", "R": "#D05050", "h": "#C8C8D8"})
.はそのピクセルを変更しません。read_rowsは同じ形式でピクセルを返すため、領域を読み取り、数文字編集して描き戻すことができます。
専用ツールでカバーされない場合にのみrun_lua_scriptを使用してください。これは多くのピクセルを一度の呼び出しでバッチ処理できますが、専用のチェックからその作業を隠してしまいます。