0

XNA 4.0フレームワークを使用してC#でコーディングしています。スプライトを上下左右に動かすと(正しい方向を向くように反転します)、スプライトはシャープで、描画したときと同じように焦点が合っていることに気付きました。

上方向のスプライトの例(鮮明な画像);

ここに画像の説明を入力してください

しかし、どういうわけか、プレイヤーを斜め方向に斜めに動かすと、少しぼやけてしまいます。

斜め上/右方向のスプライトの例(ぼやけた画像);

ここに画像の説明を入力してください

オブジェクトをその原点(スプライトの中心)を中心に回転させているだけで、回転と原点以外の他の描画属性をいじっていません。

なぜこれが起こっているのか、誰かが光を当てることができますか?これは、スプライトが回転したときに何が起こるのでしょうか?スプライトを回転させてシャープネスを維持する方法はありますか?

---これが重要かどうかはわかりませんが、スプライトは私のスプライトシートで上方向を向いて描画されています---

4

1 に答える 1

1

これが問題かどうかはわかりませんが、スプライトシートでスプライトが上向きに描かれています

します。スプライトが上下に移動するとき、スクリーンに描画されるピクセルは、スプライト シートにあるピクセルとまったく同じになる可能性があります。これは、ピクセルがバッファと整列しているためです。画像を回転させるときは、シェーディングに最適なピクセルを決定するために計算を行う必要があります。これにより、一部のピクセルがすべて白黒ではなく灰色になり、「ぼかし」が発生します。アンチエイリアシング設定をいじって満足のいくものを得ることができますが、これは、スプライトのように硬い線を持つスプライトではより大きな問題になる可能性があります。

于 2013-01-30T03:25:24.017 に答える