ゲームでスプライトを「プログラム的に」アニメーション化する方法を考えようとしています。これの目的は、各スプライトの約 20 ~ 50 フレームを作成し (非常に時間がかかる)、ループを実行してフレームをシーケンスし、目的のアニメーションを生成することを回避することです。以下は、アニメーション化したいスプライトの一例です。目的のアニメーションは、画像に「波」を与え、中心から外側に向かって拡大する必要があります。これにより、水の色が生きているように見えます。または、まだ濡れていてきらめいているように見えます。私は Cocos2D を使用しているので、各スプライトにはこれらのメソッドが既に用意されています: 移動、回転、スケーリング。Cocos2D のパーティクル システムを使用してこの効果を作成することを最初に考えましたが、おそらく 50 程度のスプライトに対してシステムを実行する効率が心配です。より良い方法はありますか?
質問する
274 次
2 に答える
2
達成したいことは、おそらくカスタムの頂点/フラグメント シェーダーで行うのが最適です。残念ながら、出回っている例はあまり多くないので、調べる必要があります。しかし、始めるには、ここを見てください。あなたの望みに近いものがあるかもしれません。シェーダーは扱いにくい場合があり、コードベース タイプのソフトウェアに「オープン ソース リポジトリからドロップ」するようなものではないことに注意してください。微調整が必要です。走行距離は異なります。
openGL 、シェーダーなどのクラッシュ「イントロ」については、このブログが非常に役に立ちました。リンクに従ってください。
于 2013-03-01T20:31:33.993 に答える
0
多数のパーティクル システムがある場合、パーティクル システムのパフォーマンスはかなり粗くなるでしょう。
ほとんどの人は、アニメーション化された作成済みの水タイルを使用します。したがって、各タイルには 4 フレームのアニメーションなどがあります。作成時に、これらの 4 フレームを繰り返しアニメーション化するように各タイルを設定します。
また、CCRipple3D アクションを調べることもできます。
于 2013-03-01T20:35:19.537 に答える