現在、さまざまなディスプレイサイズとアスペクト比で実行する必要があるゲームを作成していますが、それほど簡単なプロセスではありません。さらに、ピクセルアートで物事を作成していて、多くの解像度をサポートしながらピクセルアートの感覚を維持したい場合は、苦痛の世界に足を踏み入れているので、準備してください。
私の意見では、できることはいくつかあります(一部は排他的ですが、他はそうではありません)
最小解像度を定義し、整数値で最も近いもののみをアップスケール(すべて)します。そうすれば、ピクセルアートの感覚を保つことができます。細部を失うことになるため、ダウンスケーリングは良い考えではないと思います。また、慎重に作成されたピクセルアートを使用する目的はすべて無効になります。サポートされている最小解像度がスプライトに対して小さすぎる場合、サポートされている最小解像度を変更するか、すべてのアセットを再描画してこの最小解像度をサポートします。
画面全体をカバーするのに十分ではない解像度またはアスペクト比に遭遇した場合、アセットを損なわずにゲームを拡張します(より多くのタイルを表示します)。ただし、最小の解像度/アスペクト比でプレイできるようにゲームを作成する必要があります。
ゲームを延長できない場合は、画面のゲーム以外の部分を黒で塗りつぶします。上下のストライプ、左右、または黒いフレームのいずれか。これは、iPhoneアプリを拡大モードで実行するときにiPadが行うことです。これは、エミュレータでも広く使用されています。
ピクセルグリッドに忠実であることをあきらめます。ただし、角の鋭いピクセルアートアセットの使用を停止する必要があります。次に、バイリニア(またはプラットフォームがサポートしている場合は最適にバイキュービック)フィルタリングを使用して、アップスケール/ダウンスケールします。これは、サポートされるすべての解像度でユーザーエクスペリエンスを同様に保ちながら、画面の使用率を最大化するための最良の選択です。
私のゲームでは、オプション番号4を実行することになり、垂直方向の320ピクセル(古いAndroid 2.3)から垂直方向の1536ピクセル(2012 iPad網膜ディスプレイ)。元のアセットは、垂直方向の600ピクセルを対象としています(元はWindows PCの800x600ディスプレイ用)。後続のゲームでは、論理的な垂直解像度の方が720ピクセルになると思います。
ゲームは、バイリニアフィルタリングを使用してデバイスのネイティブ解像度にスケーリングされた、仮想600ピクセルの高仮想解像度を使用します。つまり、すべてのコード内Y座標は0(画面の上部)から600(画面の下部)になります。
水平サイズについては、最大幅は1080ピクセルで、これは最も広い16:9のアスペクト比をカバーするのに十分すぎると思います。私のx座標は中央にあるので、x = 0は画面の中心であり、x座標は左の-540から右の540になります。最も狭いディスプレイ(4:3)をサポートするために、すべてが-400から400の間に収まることを確認します
ただし、ピクセルアートの感覚を維持する必要がある場合は、オプション1と2を使用します。つまり、ピクセルアートのブロック感を維持するために整数でのみスケーリングし、ゲームの量が見えるように設計することを意味しますタイルは固定されておらず、任意の画面解像度/アスペクト比に適応できます。
だから、あなたの質問に答える(しない)ために。ピクセルアートの縮小は非常に悪い考えだと思うので、そうすべきではありません。さまざまな画面解像度をサポートする方法は他にもあり、慎重に作成したアートを単に屠殺するよりも優れた結果が得られます。