問題タブ [particles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1139 参照

iphone - OpenGL:クワッドパーティクルのレンダリングの最適化

2Dゲームでパーティクルをレンダリングしています。各パーティクルはクワッド(2つの三角形)です。どうすれば描画を可能な限り最速にすることができますか?すべてのパーティクルのテクスチャは同じです。位置を変更するだけです。

現在、各パーティクルに対してglVertexPointerとglDrawArraysの呼び出しを使用しています。そのため、毎回4つの頂点をGPUに送信しています。

より速くなる可能性のある他のアプローチはありますか?

OpenGL ES 1.1(iPhone)を使用しています

ありがとう!

0 投票する
1 に答える
371 参照

ios - 画像マスキングによるパーティクルの作成

CGContextClipToMask()関数を使用して、さまざまな色のパーティクルを作成しようとしています。何らかの理由で、私の最初のパーティクルは更新によって完全に表示およびアニメートされているように見えますが、他のパーティクルはまったく表示されません。コードのスニペットは次のとおりです。

ClipToMask呼び出しをコメントアウトすると、さまざまな塗りつぶしがアニメーション化されているのがわかります(つまり、パーティクルエフェクト形式で塗りつぶされている正方形の束が表示されます。ただし、呼び出しでは最初の塗りつぶししか表示されません。何か足りないものがありますか?

0 投票する
1 に答える
3008 参照

android - OpenGL ES 1.0 を使用した Android 上のシンプルなパーティクル システム

OpenGL を使用して、Android でパーティクル システムをまとめようとしています。数千個のパーティクルが必要ですが、そのほとんどは、常に画面外にある可能性があります。それらは視覚的にはかなり単純な粒子であり、私の世界は2Dですが、移動し、色が変化します(サイズではなく、2x2です)。その後、追加および削除できる必要があります。

私は現在、glDrawArraysを使用して、速度の変更を処理し、ライフサイクルを管理し(古いものを削除し、新しいものを追加する)、それらをプロットする配列を持っています。ただし、この呼び出しで OpenGl が指しているのは、単一の頂点です。プロットする各パーティクルの関連座標に glTranslatex で 1 つずつ、glColor4x で色を設定してから glDrawArrays で色を設定します。動作しますが、少し遅く、数百個の粒子に対してのみ動作します。私は自分でクリッピングを処理しています。

私は頂点/色配列にロードした静的粒子をサポートするシステムを作成し、glDrawArrays を使用してプロットしましたが、このアプローチは相対位置を決して変更しない粒子にのみ適しているようです (つまり、glTranslate を使用してそれらすべてを移動します)、色パーティクルを追加/削除する必要がない場所。私の携帯電話 (HTC Desire) でいくつかのテストを行ったところ、これらの配列 (OpenGL が指す ByteBuffers) の内容を変更しようとすると、非常に時間がかかることがわかりました。

おそらく、CPUで自分で画面を手動で書き込む方法がいくつかあります。画面上に 1x1/2x2 ドットをプロットしているだけで、ブレンドやアンチエイリアシングを行わずに書くことに純粋に興味がある場合、これはオプションですか? OpenGlが行っていることよりも速いでしょうか?

(RAM が 1 GHz のマシンで 200 程度のパーティクル。RAM が 500k 未満の 7 MHz のマシンで 20 年前に得たものよりもはるかに遅いです!ここで Java を使用していることに感謝しますが、確かにより良い解決策 C++の力を得るためにNDKを使用する必要がありますか、それとも私が可能にしたいことです)

0 投票する
2 に答える
2509 参照

android - Androidでパーティクルを表示するには?

Androidでopengl esプログラム(NDK)を書いていますが、いくつかのパーティクルをレンダリングする必要があります。Androidでパーティクルを表示する方法を教えてもらえますか? ありがとう!

0 投票する
3 に答える
6587 参照

iphone - cocos2d-シーンにパーティクルシステムを追加する方法

パーティクルデザイナで作成したパーティクルシステムをシーンに追加する方法に関するドキュメントが見つかりません。

プログラミングガイドによると、これは次のとおりです。

わかった。じゃあ何?[self addChild:particleSystem];

また、この問題があります:

0 投票する
5 に答える
3825 参照

c++ - 間の要素の削除を実行する STL コンテナーはどれですか?

定義した型へのポインターを保持するコンテナーを選択する必要があります ( Particle)。事前に割り当てられた Particle Object Pool( std::vector に事前に割り当てられたオブジェクトを含む) を使用しています。

マイ パーティクル エミッタは、放出する必要があるときにパーティクル プールにパーティクルを要求します (ゲーム内のパーティクルの割り当てを避けるため)。パーティクルが期限切れになると、パーティクル オブジェクト プールに戻されます。

ご覧のとおり、更新するためにパーティクル リファレンス コンテナ (1 つを選択する必要があります) を反復処理するときに、有効期限が切れたパーティクル ( lifetime <= 0.0) を確認し、それらをパーティクル プールに戻す必要があります。有効期限が切れたパーティクルは、コンテナ内の任意の位置。

を使用することを考えていましたがstd::list、その理由は次のとおりです。

リスト(AFAIK)は、最初に一定時間挿入し、任意の時点で一定時間削除します(その時点まで反復したと仮定します)。

コンテナの提案をより適切に受け入れるために、システムへの提案や改善を歓迎します。

編集

自分自身をもう少しよく説明するには:

エミッタ内のパーティクルの寿命は正確に同じではなく、たとえば 5.0 秒 ± (0.0 から 0.5) の範囲によって異なります。これは、パーティクルにランダム要素を与えるためであり、固定時間内のすべてよりもかなり見栄えがします。

アルゴリズム擬似コード:

0 投票する
2 に答える
825 参照

math - 3D メッシュからパーティクル クラウドへの変換

任意の三角形分割された 3D メッシュを、均一な間隔の粒子の雲に変換する必要があります。最初に考えたのは、1 つの 3D 三角形を埋める方法を見つけようとすることでした。そして、メッシュの各三角形を塗りつぶし、エッジの重複したパーティクルを削除しますが、それは大変で手間がかかります. 私はもう少し数学的な方法を望んでいました。

誰かが私の仕事を正しく行うのに役立つアルゴリズムを教えてもらえますか...まあ、少なくともおおよそですか?

ありがとう

0 投票する
4 に答える
2085 参照

iphone - 粒子を描く

私のアプリの一部は風景を示していますが、今のところそれはちょっと退屈です。したがって、画面上でいくつかのパーティクルをアニメーション化することを計画しています(小さな翼のようなものを考えてください-http://www.youtube.com/watch?v=DpmcX- rWGfs)。ただし、組み込みのパーティクルシステムはまだ見つかりません。どうすればこれをメモリ効率よく行うことができますか?私はすでにCADisplayLinkを使用して風景上をアニメーション化するいくつかの雲のために独自のアニメーションシステムを実装しました、そしてそれはちょっと遅いです(私はそれをすぐに速くしたいと思っていますが)。一度に20個の小さなポイントをアニメーション化するような、別の非常に重いシステムは、おそらくそれを壊します。

0 投票する
3 に答える
4777 参照

iphone - フルーツ忍者ブレード効果

フルーツ忍者刀を作りたいです。私は cocos2d を使用していますが、MotionStreak はこれに対して非常に醜いです。MotionStreak の他のアプローチまたはより良い設定はありますか? もしかしてパーティクルシステム?ParticleDesigner に似た無料の優れたツールはありますか?

0 投票する
1 に答える
850 参照

actionscript-3 - 粒子のAS3仮想配列

少し前にチュートリアルに従ってパーティクルクラスを作成しました。基本的に、それはある種の仮想リストを使用し、配列メソッドを置き換えます。これにより、非常に高速なソリューションになります。したがって、実際に何が起こっているのかを本当に理解できないという事実を除いて、すべてが完全に正常に機能しています。それはかなり混乱しているので、残念ながら成功せずに、このようなもののロジックを見つけようとしています。誰かが本当にこれを説明してくれたら嬉しいので、何か役に立つものを手に入れることができます。