上記のポイントを要約すると、2つのピクセルアートが一致するために重要なのは、それらのピクセル密度(画面領域あたりのテクセル/ワールド単位)が同じであることです。
例としてStardew Valleyのいくつかのスプライトを使用すると、各スプライトは異なるテクスチャー寸法を持っていますが、各ピクセルが同じサイズで描画されるため、一貫したグリッド上で一致することがわかります。
植物のサイズを1タイル/ワールドスペースの1ユニットと考えると、このユニットは水平および垂直に16ピクセルにわたることがわかります。植物の高さの2倍のキャラクターは、タイルの2倍の数/ワールド単位もカバーするため、ピクセルの密度は、ワールド単位あたり16ピクセルのまま変わりません。
特にUnityの場合、これはSpriteインポート設定インスペクターのPixels Per Unit設定としてこれを公開します。ここですべてのスプライトに1つの一貫した数値を使用している限り、Unityは自動的にそれらを世界の適切なサイズで描画し、このピクセル密度を維持します—それらが奇数サイズで2のべき乗でも正確でもない場合でもタイルサイズの倍数。したがって、この例では、低木とキャラクターの両方、およびゲームの他のすべてが16のPPUを使用します。
選択する正確な数は大した問題ではなく、一貫性が最も重要です。各タイルが2つのワールドユニットにまたがるようにして、レベル編集時にタイルのコーナー(奇数)とタイルの中心(偶数)に簡単にスナップできるようにするには、すべてのスプライトに代わりに8のPPUを使用します。
あまりにも下げないでください低く。PPU設定を1にすることを推奨している記事がいくつかあります。つまり、256ピクセルのスプライトは256ワールド単位にまたがります。これは驚くほど聞こえないかもしれませんが、物理のようなシステムは、ほとんどのゲームプレイが10分の1から数十単位のスケールで発生することを想定して調整されています。スケールを大きくしすぎると、動作が低下する可能性があります。キャラクターの幅やタイルなど、ゲームプレイで意味のあるピクセル数を選択してみてください。これはまた、プログラミングとレベルデザインの計算を容易にします(たとえば、「このキャラクターに3タイルを右にダッシュさせたいので、それがそうですx + 3.0f
」)。
変換プロパティを使用してスプライト、UI画像、またはその親をスケーリングすると、これらの一貫したピクセル密度から歪むので、スケーリングプロパティには十分注意して、シーンのほとんどまたはすべてを1.0のスケールに維持して簡単にしてください。
最後の注意点の1つは、スプライトが実際に画面に表示されるサイズを決定するものではないことです。これは、ゲームウィンドウ/画面のサイズ、およびカメラのサイズ/ FoV /角度によって決定されます。ピクセルパーフェクト2Dの場合、ウィンドウの高さが、カメラが見るスプライトピクセルの数の整数倍であることを確認する必要もあります(カメラの正投影高さx 2 x PPU)