私が構築しているUnityゲームで球形の粒子のコレクションを使用して圧力をシミュレートしようとしています。問題に関するいくつかのメモ:
- 目標は、常に変化する2Dスペース/ボイドを小さな摩擦のない球で埋めることです。ゲームは、このスペースに押し込まれるオブジェクトの増加する圧力をシミュレートしようとしています。
- レベル自体は常に左から右にスクロールします。つまり、スペースの寸法がユーザーによって変更されない場合、自動的に小さくなります(スペースの左端の部分が画面外にスクロールし続ける)。
これらの問題に取り組むために私が取ることができるアプローチは何ですか?
- 塗りつぶすスペースがある場合にそれを検出し、そのスペースに球を追加するタイミングを知る。
- 縮小するときにスペースから球を削除します。
- より多くのスペースが作成されたときに球が「外側に爆発する」ように球への圧力をシミュレートする戦略。
この画像が示すように、私が考えている現在のアプローチは、画面の外にあり、画面と一緒に動く、絶えず動く壁を使用しています。
。
この動く壁は、球を空間に押し込み、閉じ込めます。新しい球を追加する場合、私は(1)空きスペースを検出すると球を複製する、または(2)スペースの左側(壁がある場所)にスポーンする-残りの球をスペースを埋めます。これは実際には圧力を作成/シミュレートしない可能性が高いため、アイデア#1の問題を予測します。アイデア#2はより有望に思われますが、これらの新しい球のパーティクルがスポーンする場所を提供する方法(およびスペースがない場合にスポーンすることの影響)の問題を提起します。
あなたの知恵を前もってどうもありがとう!