ゲームキャラクターを描く前に統一感のあるピクセル・スプライトサイズを決める方法
プレイヤーが画面上で見るべきものから逆算してキャラクターのキャンバスを決定しましょう。ゲームのカメラビューを決め、そのビューの中でキャラクターが占める割合を見積もり、大まかなシルエットを使って候補となるいくつかのピクセルサイズをテストします。整列させたり一緒にアニメーションさせたりする必要があるキャラクターには共通のキャンバスサイズを1つ使用し、より大きな役割や異なるカメラスケールが求められる場合にのみ例外を設けます。万能に正しいスプライトサイズというものは存在しません。実用的なサイズとは、キャラクターを明確に伝え、ゲームの視野に収まる最小のグリッドのことです。
カメラと画面の視野から始める
作画を始める前に、サイドビュー、トップダウン、アイソメトリック、クローズアップなど、大まかなゲームプレイの視点を決定します。画面内にワールドがどれくらい収まるべきか、そしてその中でプレイヤーがどれくらいの大きさで表示されるべきかを決めましょう。混雑したトップダウン視点のシーンで一目で認識できなければならないキャラクターと、会話時のクローズアップポートレートとでは求められる要件が異なります。
ゲームの内部解像度がすでに決まっている場合は、それを測定の基準枠として使用します。例えば、シンプルな 320 × 180 のテスト画面をスケッチし、プレイヤーの大まかな高さを32ピクセルとしてマークします。この比率により、キャラクターが画面の高さの約18%を占めるという、評価するための具体的な基準が得られます。これらの数値は例示であり、推奨される標準ではありません。カメラのフレーミング、移動スペース、意図する視覚的強調によって比率を決定する必要があります。
UnityのPixel Perfect Cameraのドキュメントでは、Reference Resolution(基準解像度)について、アセットが設計されている元の解像度であると説明されています。また、そのセットアップガイドでは、基準解像度を 320 × 180 に設定すると、カメラビューが 320 × 180 スプライトピクセルになることが解説されています。これにより、キャラクターの寸法を設計する際、ゲームビューを実用的な初期の制約条件として利用できます。Unity: Add a pixel perfect camera
キャンバスよりも先にキャラクターの表示高さを設定する
描画されるキャラクターの高さと画像のキャンバスを切り離して考えましょう。32 × 32 のキャンバス内でキャラクターの高さが28ピクセルの場合、残りのスペースは、ポーズごとにキャンバスを変更することなく、髪、ジャンプ、武器のための余白として活用できます。まずは目標とする表示高さを選択し、その上でゲームに必要な余白のみを追加します。
16、24、32ピクセルなど、2〜3つの候補となる高さで小さなシルエットを作成し、通常のゲームプレイサイズで頭部、四肢、特徴的な小道具が判別できるかどうかを確認します。12 × 16ピクセルのキャラクターでも十分にキャラクターとして認識できます。ドット絵のプロであるKabaya氏は、そのサイズの例として初代ファミコン版のマリオを挙げています。ここでの教訓はその寸法を真似ることではなく、自分自身のデザインに必要な特徴と照らし合わせて最小のグリッドを判断することです。Creative Bloq: Forget nostalgia, modern pixel art is more than retro gaming
必要なディテールを表現できるベースサイズを選ぶ
キャンバスが小さいと、顔、衣装、持っているアイテムを表現できるピクセル数が制限されます。キャンバスが大きいと余裕が生まれますが、ピクセルレベルでの判断がより多く求められるようになります。必要な視覚情報に基づいて選択してください。プレイ中に表情が重要になる場合は、目や口が識別できるかをテストします。広いシーンの中でキャラクターが小さな人物として表示される場合は、顔のピクセルよりもシルエットや色の塊の方が重要になるかもしれません。
実践的な選び方としては、2〜3つのサイズで同じシンプルなシルエットを描き、頭の形、衣装のディテール1つ、そして該当する場合は武器や道具など、不可欠な識別要素のみを追加してみることです。それぞれを意図した画面スケールで確認します。最小のバージョンで重要な識別要素が失われ、次のサイズできれいに復元されるなら、それがより大きなグリッドを採用すべき根拠となります。この比較はデザインの確認作業であり、画一的なサイズルールではありません。
アニメーションを考慮してフレームキャンバスを選ぶ
アニメーションするキャラクターの場合は、寸法を固定する前に立ちポーズ以外のものもテストします。同じフレーム枠内に、大まかな立ち、走り、ジャンプのシルエットを作成します。動作全体を通じて、足、頭、手に持ったオブジェクトが枠内に収まっているかを確認してください。フレームが狭すぎると、上げた腕や髪が途切れてしまう可能性があり、逆にフレームが大きすぎると、配置や視覚的なプロポーションの比較が難しくなることがあります。
安定した配置が重要な場合は、フレーム間でキャンバスの寸法と整列ルールの一貫性を保ちます。キャラクターの接地位置やピボットをどこに置くかを決め、それぞれのポーズでその基準点を使用します。作画ソフトのキャンバスと実際に描画された表示領域は別物です。Asepriteではキャンバスをスプライトの表示領域と定義しており、キャンバスサイズの変更とスプライトコンテンツのリサイズに別々のオプションが用意されています。Aseprite: Canvas Size、Aseprite: Sprite Size
キャラクターのスケールをワールドのグリッドに合わせる
ゲームでタイルを使用している場合は、キャラクターの高さと幅を標準的なタイルと比較します。サイドビューのプレイヤーは地面のタイルよりも背が高い場合がありますし、トップダウンのキャラクターは視覚的に上方向に伸びつつも、タイルのフットプリント内に収まる必要があるかもしれません。プロポーションはゲームの視点や当たり判定の設計に依存するため、キャラクターとタイルが同じ寸法でなければならないと思い込まず、簡単なシーンのモックアップを作成して確認しましょう。
意図したカメラ距離において、通常の環境タイル、ドア、他のキャラクターや小道具の隣にプレイヤーを配置して確認します。プレイヤーが小さすぎて識別しにくい、あるいは大きすぎてシーン内を移動しづらそうに見える場合は、ディテールを描き込む前に表示高さやカメラのフレーミングを見直してください。アセット全体で一貫したピクセル密度を確立しましょう。UnityのPixel Perfect Cameraのセットアップ手順では、スプライトが共通のPixels Per Unit(PPU)値を使用し、カメラのAsset Pixels Per Unitをそれに一致させることが求められます。Unity: Add a pixel perfect camera
確定する前にスケール比較シートを作成する
最初のキャラクターをすぐに仕上げてしまうのではなく、小さな比較シートを作成しましょう。ゲーム画面を模したビューに3つの候補となるキャンバスサイズを配置し、それぞれを単色のシルエットとして描き、同じ特徴的なディテールを含めます。そして、実際のゲームプレイスケールでシートを見直し、次の点を確認します。「ポーズを識別できるか?」「背景環境の隣に自然に馴染んでいるか?」「動作がフレーム内に収まっているか?」「意図した表情や小道具が潰れずに残っているか?」
選択したキャンバスの幅と高さ、目標とする表示高さ、ベースラインやピボット、および許可された例外事項を記録しておきます。この簡単なリファレンスを用意することで、後から追加するキャラクターの比較が容易になり、新しく描くたびにスケールがずれてしまうのを防ぐことができます。これは、すべてのキャラクターの描画範囲を同一にする必要があるという意味ではありません。背の高い帽子をかぶったキャラクターや体の大きなボスのシルエットが、共通のキャンバスのより広い範囲を占めることはあっても、プロジェクトの根本的なピクセル密度や整列の規則性は維持されます。
ゲームビューで選択を再確認する
エディタのズーム機能を使うと、プレイ中には判別しにくいような極小のスプライトでも細部まで描き込まれているように見えてしまうことがあります。大まかなテスト用アセットをゲーム内や代表的なシーンにインポートし、意図したカメラスケールで確認してください。Unityでは、基準解像度によって設計上のピクセルビューが設定され、Pixel Perfect Cameraと一致するスプライト設定によって、さまざまな画面サイズ間でのピクセルレンダリングの品質維持が支援されます。Unity: Pixel Perfect Camera component reference
キャラクターが見づらい場合は、まずピクセル寸法、シルエット、コントラスト、カメラ距離のいずれに問題があるのかを考えましょう。キャンバスを拡大するだけでは、弱いシルエットは必ずしも改善されません。また、プレイヤーが画面を占める割合が小さすぎる場合、キャンバスを縮小しても解決にはなりません。変数は1つずつ修正し、元のテストと比較してください。キャラクターがはっきりと認識でき、そのアニメーションが選択したフレーム内に収まるようになったら、同じ役割とカメラスケールを持つキャラクターの標準としてそのキャンバスを使用します。
