私は独自のパーティクルシステムエンジンを設計しています。これは学習目的であり、既存のエンジンを実際には使用したくありません。
今は美しいパーティクルを生成しましたが、操作しやすいようにエンジンをレイアウトしたいと思います。
私はクラス「パーティクルシステム」について考えていましたが、
そのクラスには、次の参照が含まれます。
粒子リスト:システムを構成する粒子のリスト。
systemEmitter:パーティクルのシステムエミッタであるEmitterクラスは、たとえば、線、点からの放出、ポリゴンからのランダムな放出など、いくつかの粒子放出技術を実行できる必要があります。また、このクラスは、放出する方向と時間で、点に向かって、点から離れて放出するように、放出制御を行う必要があります。
particleController:たとえば、ポイントの周りの回転、可変の粒子サイズ、可変の粒子の色、粒子がさまざまな方法で反応するシステムの周囲の領域、衝突検出(他のオブジェクトとの衝突、または必要に応じて粒子内)を管理します。
パーティクルレンダラー:このシステムの描画を担当し、可変ブレンディングタイプ、パーティクルテクスチャ、三角形、円、カスタムなどのパーティクルタイプ...
この4つのアイテムは、パーティクルシステムクラスを構成します。一部のFXでは、複数のパーティクルシステムが必要になる場合があります。たとえば、Fire FXでは、火に1つのシステム、煙に1つのシステム、火花に1つのシステムを使用できます。
これは私が心に抱いていることですが、この設計アプローチが優れているかどうか、または何かが足りないか、何か別のことをすることができる/すべきであるかどうかを知りたいと思います。FXを「保存」する簡単な方法については考えていません。たとえば、エンジンに「火を引く」、「爆発を引く」、「噴水を引く」など、FX情報を保存するのに最適な方法は何でしょうか。 xmlファイルでの使用などをお勧めします。
意見は大歓迎です。前に述べたように、学習上の理由から、別のエンジンを使用するのではなく、これを作成したいと思います。