流動ズーム(プレーヤーは1倍、2倍、3倍などだけでなく、3.3倍、7.5倍までズームインできます)とは対照的に、固定ズームを実行している場合(つまり、各ズームレベルはカメラからの固定距離です)。 )次に、ズーム変換を適用するだけでこれを解決しようとするのは非常に無駄です。これは最も複雑でないアプローチであり、実装の観点からは理解しやすいため、魅力的ですが、最大ズームアウトでは、X方向に10倍、で10倍大きい領域をレンダリングすることになります。 Y方向-つまり、領域レンダリングする必要のある世界の面積は、最大ズームイン時の100倍です。また、ズームアウトするときにテクスチャがハードウェアによって押しつぶされる方法が気に入るとは思えません。コンピュータグラフィックスは光学系と同じではありません-サブピクセルレンダリング、およびコンピュータグラフィックスで発生する他のことは、ソフトウェア/ハードウェアからそのタスクを引き渡した場合、テクスチャを非常に見栄えよくすることはありません。
流体ズームを行う場合でも、詳細レベルのテクスチャを実行し、レンダリングされるワールドとカメラの間の距離に応じて動的にそれらを交換します。
また、10ズームレベル?本当に10のズームレベルが必要ですか?ズームは通常、2Dゲームで使用され、特定のズームレベルが特定の一連のアクティビティに特に適しているため、さまざまな詳細レベルでさまざまなアクティビティを実行できます。これを達成するために10のズームレベルを必要とした2Dゲームを覚えていません。3-5は私が今まで見た中で最も多く、それが十分であると感じたことはありません。また、10ズームレベルのすべてのズームレベルで画像を生成することは、多くの芸術作品のようです。
また、AffineTransformを適用することは良い考えのように聞こえますが、計算コストが非常に高く、60 fpsのパフォーマンスが必要な場合、この方法でそれを実現する可能性はほとんどありません。しかし、私の言葉を信じないでください。試してみて、それがどれほどひどく倒れるかを見てください。