3

私は格闘ゲームを作っているので、アニメーションのフレームがたくさんある巨大なキャラクターのスプライト(300px X 350px)があります(キャラクターあたり約150)。したがって、最大2048x2048のテクスチャサイズはアニメーションのすべてのフレームに適合しません。キャラクター。だから、私は複数のTextureAtlasesが必要ですよね?

コストのかかるGPUテクスチャスワッピングについて心配する必要がありますか?それでは、MovieClipでTextureAtlasesを切り替える場合はどうでしょうか?

アニメーションフレームを変更するには、フレームとアトラスを選択するマネージャーを作成するのが賢明でしょうか?

または、TextureAtlasesを組み合わせて、1つのアトラスが複数の2048 x 2048スプライトシートを格納できるようにすることはできますか?

これにどのようにアプローチしますか?

4

4 に答える 4

4

StarlingフォーラムでのDanielSperlからの推奨事項:

スプライトが非常に大きい場合は、テクスチャメモリの問題が発生する可能性があります。残念ながら、現時点では、「Spriter」(ベータ版)を使用してアニメーションを作成する以外に、簡単な回避策はありません。

http://www.kickstarter.com/projects/539087245/spriter

于 2012-05-16T18:04:05.000 に答える
1

スケルタルアニメーションを実行することで、アニメーションの需要を減らすことができるかどうかを検討してください。キャラクターのすべてのフレームを直接テクスチャに描画する代わりに、キャラクターをアニメーション化可能なパーツに分割し、変換を使用してパーツを配置し、実行時にアニメーションフレームに合成します。これは格闘ゲームなので、これは管理しやすいはずです(おそらく、アニメのキャラクターは2人だけで、それに加えて、比較的安価な環境効果もあります)。その結果、必要なのは各キャラクターの固有の部分だけです。これにより、テクスチャの予算が大幅に削減されます(ただし、アニメーションエンジンの複雑さが増します)。

それを達成するためのヘルプについては、DragonBones(http://dragonbones.github.com/getting_started_en.html)を参照してください。

于 2012-11-28T22:46:01.863 に答える
0

この2048 x 2048制限はどこに文書化されていますか?私はそのようなことを読んだことがありません。テクスチャアトラスサイズに関するStarling1.1のドキュメントで私が見つけた唯一のものは、次のとおりです。

Stage3Dテクスチャは、2の累乗の辺の長さを持っている必要があります。Starlingはこの制限をあなたから隠しますが、追加のグラフィックメモリが犠牲になります。テクスチャアトラスを使用することで、テクスチャスイッチと2の累乗の制限の両方を回避できます。すべてのテクスチャは1つの大きな「スーパーテクスチャ」内にあり、Starlingはこのテクスチャの正しい部分が表示されるように注意します。

この重要な詳細を完全に見逃しておらず、テクスチャアトラスにサイズ制限がないと仮定すると、4096 x 4096またはで1つ作成するだけ8192 x 8192です。

于 2012-05-09T06:40:28.903 に答える
0

うーん-私の推測では、2048x2048より大きいテクスチャを使用するとパフォーマンスに影響があります。さらに、そのサイズのテクスチャ間を移動すると、パフォーマンスも低下すると思います。テクスチャアセットを縮小し、ゲームで拡大することを検討しましたか?

于 2012-05-09T07:21:26.200 に答える