2017-02-07 8 views
0

アニメーションを使用する方法として逆キネマティクスを検討しましたが、全体的に、スプライトテクスチャのアトラスを使用してアニメーションを作成したいと考えていました。唯一のことは、..私はサイズが心配ですSpriteKitのスプライトアニメーションファイルのサイズ

である私は、「総合的なグローバルソリューション」のいくつかの助けを求めるしたかった:

私は100匹のモンスターを持っています。それぞれには、アタック、アイドル、およびスポーンアニメーション用の25フレームのアニメーションがあります。したがって、モンスターごとに合計75フレーム。

私は3倍、2倍、1倍のアニメーションを行い、さらに多くのフレーム(モンスター1つにつき75×3枚の画像)を作りたいと思っています。私はpdfのベクトルをしない限り、それはちょうど1つのサイズです。

このアプローチはサイズに関してはあまりにも大きすぎますか?アニメーションだけでも25フレームはハードディスク上で4MBでしたが、Xcodeやテクスチャアトラスにロードすると圧縮の点で何が起こるのか分かりません。

このアプローチは私が着手しているかどうか知っていますか?私はさらに多くのモンスターが必要な場合は、私が電話でアプリに行ってストレージを見ると、すでに最大150MBになるので、長期的にはもっとモンスターで何が起きるのかは分かりませんが、4GB +のようにかなり大きすぎるような気がします) 。

私にとって、これは間違ったアプローチのように思えますが、私が読んだところでは、それに応じてスプライトとアトラスを使用することを推奨します。私は間違って何をしていますか?アニメーションのフレームが多すぎますか?あまりにも多くのモンスター?

ありがとうございます!

答えて

1

したがって、問題が発生することは間違いありません。一般に、オンラインで見つけたチュートリアルでは、このデバイスのダウンロード側とメモリ使用に関するこの問題は無視されます。実際のゲームを構築するときは、画面上で複数のアニメーションを同時にレンダリングする場合、実際のデバイス上の合計ダウンロードサイズとメモリ量を考慮する必要があります。 3つのアプローチがあります。すべてをPNG形式で保存し、PNG形式よりも圧縮率の高いアニメーション形式を使用するか、3番目にH264形式でエンコードすることができます。これらのアプローチにはそれぞれ問題があります。実行時にメモリ使用の問題に私の解決策を見たい場合は、this questionでSpriteKitFireAnimationリンクを参照してください。 H264で独自のアプローチを展開したい場合は、多くの圧縮を受けることができますが、アルファチャンネルのサポートに問題があります。怠け者は、PNGを使用することです、それは動作し、アルファチャンネルをサポートしますが、PNGはあなたのアプリケーションを膨らませ、ランタイムメモリの使用は重いです。

関連する問題