私はスプライトベースのゲームを作っていて、途方もなく大きな解像度で大量の画像を取得していて、それらをゲームリソースに変換する前に目的のスプライトサイズ(たとえば64x64ピクセル)にスケーリングしているので、ゲーム内のスプライト、私はそれをスケーリングする必要はありません。
ただし、この小さなスプライトをゲーム内で(エンジンにとらわれずに)回転させると、一部の宛先ピクセルが補間され、スプライトがぼやけて見えます。
これはもちろん、回転角と補間アルゴリズムに依存しますが、それにもかかわらず、特定の宛先ピクセルを正しくサンプリングするのに十分なデータがありません。
だから私が考えることができる2つのソリューションがあります。1つ目は、元の巨大な画像を使用し、それを必要な角度に回転させてから、すべての反発バリエーションを縮小し、アトラスに配置することです。これは、実装が非常に簡単であるという利点がありますが、単純に2倍のスプライトを消費します。各回転のスペース(各回転は、元のスプライトの長方形の対角線である直径の円に内接する必要があり、その面積は正方形のスプライトを想定して、元の長方形の2倍です)。
また、ゲームによっては大丈夫かそうでないかを問わず、事前に定義されたローテーションのセットしか利用できないという欠点もあります。
したがって、もう1つの選択肢は、より大きな画像を保存し、レンダリング中に回転および縮小することです。これが私の質問につながります。
このスプライトの最適なサイズは何ですか?最適な意味は、大きな画像が結果の画像に影響を与えないことを意味します。
これは、画像サイズ、データ損失のない望ましい回転量である1/256に完全に依存しています。これは、表現可能な最小の色差です。
私はこの問題に対する理論的な一般的な答えを探しています。たくさんのサイズを試してもかまいませんが、最適とはほど遠いからです。