問題タブ [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.
graphics - 画面上の 2D 円に 3D 球体を投影する
3D 球体をピクセル グリッドに投影できるラスタライズ アルゴリズムは何ですか? レイキャスティングは避けたい。基本的に、3D 座標と半径が与えられた場合、ピクセル グリッド上に 2D 円/楕円を簡単に作成する方法はありますか?
例: 半径 4 の (2,2,2) の円は、5 つのピクセルに投影されます: p1(2,0)p2(0,1) p3(1,1) p4(2,1)p5(1,2) )
パーティクル システムのピクセル スプラッティングなどの手法に出くわしましたが、これを行う方法について明確な答えが見つかりませんでした。
ありがとう
xml - XML スキーマ - 一意のタグの制約を回避する
既に使用されている XML 形式のスキーマを作成する必要があります。既存の XML は別のプログラムによって既に生成されており、より標準的な XML 形式を使用するために変更する必要があるすべての場所を追跡するのは難しいようです。
XML 構造に似た例を次に示します。
エラータグは同じレベルで再利用され、特定の項目の後に来ますが、他の項目の後に来ることに注意してください。関連するエラー/その他のタグのペアを xsd:sequence でラップしようとしましたが、まだ効果的に Unique Particle Attribution ルールを破っているため、うまくいきません。
これを行うことはできますか、それとも、このスキーマが検証されないことを他の開発者に知らせる必要がありますか?
opengl - OpenGL のパーティクル効果によるアルファ透明度
GL_POINTS を使用して、OpenGL で簡単なパーティクル エフェクトを作成しました。以下が呼び出され、最初にカメラから最も遠い粒子から最後にカメラに最も近い粒子へと順番に粒子が渡されます。
ただし、次の効果で見られるように、レンダリング時にいくつかのアーティファクトがあります。
深度テストを無効にすると問題は解決しますが、深さに応じて同じ GL_TRIANGLE_STRIP の要素の前後に表示される、シーンの他の要素と相互作用できる効果が必要です。
opengl - パーティクルシステムの設計?
私は独自のパーティクルシステムエンジンを設計しています。これは学習目的であり、既存のエンジンを実際には使用したくありません。
今は美しいパーティクルを生成しましたが、操作しやすいようにエンジンをレイアウトしたいと思います。
私はクラス「パーティクルシステム」について考えていましたが、
そのクラスには、次の参照が含まれます。
粒子リスト:システムを構成する粒子のリスト。
systemEmitter:パーティクルのシステムエミッタであるEmitterクラスは、たとえば、線、点からの放出、ポリゴンからのランダムな放出など、いくつかの粒子放出技術を実行できる必要があります。また、このクラスは、放出する方向と時間で、点に向かって、点から離れて放出するように、放出制御を行う必要があります。
particleController:たとえば、ポイントの周りの回転、可変の粒子サイズ、可変の粒子の色、粒子がさまざまな方法で反応するシステムの周囲の領域、衝突検出(他のオブジェクトとの衝突、または必要に応じて粒子内)を管理します。
パーティクルレンダラー:このシステムの描画を担当し、可変ブレンディングタイプ、パーティクルテクスチャ、三角形、円、カスタムなどのパーティクルタイプ...
この4つのアイテムは、パーティクルシステムクラスを構成します。一部のFXでは、複数のパーティクルシステムが必要になる場合があります。たとえば、Fire FXでは、火に1つのシステム、煙に1つのシステム、火花に1つのシステムを使用できます。
これは私が心に抱いていることですが、この設計アプローチが優れているかどうか、または何かが足りないか、何か別のことをすることができる/すべきであるかどうかを知りたいと思います。FXを「保存」する簡単な方法については考えていません。たとえば、エンジンに「火を引く」、「爆発を引く」、「噴水を引く」など、FX情報を保存するのに最適な方法は何でしょうか。 xmlファイルでの使用などをお勧めします。
意見は大歓迎です。前に述べたように、学習上の理由から、別のエンジンを使用するのではなく、これを作成したいと思います。
c++ - パーティクルストリームは、エミッタの速度に関係なく同じ長さである必要があります
私は学生向けゲームのパーティクルシステムを書いていますが、ちょっとした問題に遭遇しました。船のロケットへの影響を改善したいのですが、どうすればいいのかわからないようです。
静止している船での効果は次のようになります。
そして、これが移動中の船でどのように見えるかです:
炎は一貫して同じ長さにしたいと思います。Particle
のTick
関数は次のとおりです。
前もって感謝します。
編集:物事を少しクリアするために、エフェクトを追跡したいのですが、エミッターの速度に関係なく同じように追跡したいと思います。
c++ - OpenGLで重要なパーティクルをレンダリングする方法
位置とさまざまなプロパティが頂点バッファオブジェクトに格納されているパーティクルシステムがあります。値はCUDAカーネルによって継続的に更新されます。現在、GL_POINTSをフラットサークルとして使用してレンダリングしています。私が興味を持っているのは、これらのパーティクルをレンダリングすることです。たとえば、3Dアニメーションの鳥モデルなどです。私は最善のアプローチが何であるかを理解しようとしています。会話のために、鳥のモデルのアニメーションが3つのフレーム(翼の位置など)で構成されているとしましょう。
モデルをディスプレイリストにロードし、マトリックスの変換、回転などですべてのパーティクルをループしてから、ディスプレイリストを呼び出すことがわかります。これは理想的なアプローチとは思えません。GPUに戻すために行列操作を行うためだけに、すべてのパーティクルデータをgpuからホストに取り込む必要があるためです(cudaカーネルから描画関数を呼び出せない限り?? ?)
シェーダーについてはよくわかりませんが、このようなものを処理できるでしょうか。
この時点で、私は主にどの道を追求するかについてのアドバイスを探していますが、主題を扱っている記事やチュートリアルを知っているなら、称賛に値します。
私はWindows764ビットとC++でネイティブにOpenGLを使用しています。GLUTを使用していません
opengl - OpenGLモデリングロケットの炎と粒子による蒸気の軌跡
頂点バッファ/4fカラーバッファを使用したパーティクル描画を使用して、openglでジェットエンジン(アフターバーナー付き)から出てくるパーティクルストリームの近似値をコーディングするためのガイダンスはありますか?
この問題には次の 2 つの側面があると思います。
粒子がジェット エンジンから出るときの光の色は、温度と、燃焼するガスの種類に関連するいくつかの定数の関数として表されます。この記事を読むと、温度/色変換曲線には何らかの配列が必要になると思います。どうやら水素は酸素中で2,660℃、空気中で2,045℃で燃焼するのに対し、ジェット燃料は空気中で287.5℃で燃焼します。(でもジェット戦闘機のアフターバーナーの温度はなんとなく1700℃にもなります)
ロケット/ジェットの背後にある蒸気の軌跡。ロケットが大気中にある場合、水ベースの蒸気の軌跡のアルファ付きの白になります。また、宇宙で燃料を燃焼するロケットにはこれが必要ないという私の仮定は正しいと思います。蒸気の軌跡は、可視光の波長よりもはるかに大きい小さな水滴としてシミュレートされるため、光を無色に散乱させます。水自体は無色なので、結果として白い色になるのですか?
また、これを鳥瞰的な視点からモデル化することを検討しているため、完全な 3D モデルである必要はありません。したがって、たとえばアフターバーナー コーンの周囲にある 10 個程度のパイロット ライトの位置は、おそらく 5 つの線形ポイントとして近似できます。
iphone - iPhone。パーティクルシステムのパフォーマンス
Core Graphicsを使用して、パーティクルシステムとして雨と雪を描画しようとしています。シミュレーターではレンダリングは正常に進行しましたが、実際のデバイスでアプリを実行するとレンダリングが遅くなります。
だから、 iPhoneでパーティクルシステムの描画パフォーマンスを向上させるためのアプローチを教えてください。
これまたはCoreAnimationにOpenGLを使用する必要があるのでしょうか?