私は、水がパズルを解き、他の画面要素とやりとりするのに使うことができるプロパティとして機能するゲームに取り組んでいます。「私の水はどこですか?」という物理学の実装方法を学ぶことができます。
パーティクルを使用してBox2Dで達成できますか?
私は、水がパズルを解き、他の画面要素とやりとりするのに使うことができるプロパティとして機能するゲームに取り組んでいます。「私の水はどこですか?」という物理学の実装方法を学ぶことができます。
パーティクルを使用してBox2Dで達成できますか?
あなたが話しているゲームのビデオを見た後(そして特定のゲームについて話していると言われた後)、私はmetaballsシミュレーションがそのトリックをするかもしれないと思った。
グーグルで、私はLudum Dareエントリにこの正確なゲームを実装する方法の説明を見つけた「ここで私の水のメタボールがある」:
http://www.ludumdare.com/compo/?p=104952&preview=true
粒子シミュレータは最高だろうが、ゲームにそれを統合します私が持っていなかったいくつかの貴重な時間がかかります。だから私はプールと障害物とかなりの量の小さな滑りやすいボールをかなり高密度で作りました。あなたは、摩擦、制動、およびほんの少量の反発を望んでいません。私のフルスクリーンサイズが48m x 32mの場合、1ボールの半径は約0.25mです。
1つの場所に頻繁にクランプするダイナミックボディをシミュレートするのは、本当に重量のある操作です。これは考慮する必要があります。このため、私は実際に不正確な物理設定を使用しました。私は1つの速度と位置サブステップで世界を歩いた。また、私は物理的なステップを30/sに固定しました(競技後、私は20で十分だろうと気づきました)。固定された時間ステップを扱うときは常に、物理が歩いていないのにレンダリングされているときに位置を補間したり、私は外挿法を選んだ。これは簡単に引っ張ることができます。
RenderPos = PhysicalPos +速度* TimeAccumulator
それから、彼らはがをレンダリングすると、それは流体ではなく、小さなボールであると信じるにして選手たちをだます方法であることを説明するために行きます。彼らはメタボールのレンダリングの形式を使用します。
私の方法は、オブジェクトの物理的なサイズの2倍の半径を持つメタボールとして水滴をレンダリングすることでした。メタボールを作る最も速い方法は、真ん中が不透明で、滑らかな円形勾配のエッジで完全に透明なスプライトだけでした。
ありがとうございます。それは多くの助けになりました! – Draconar
「作業中」とは、プログラミングや演奏を意味しますか?遊んでいる場合、あなたは私たちにどのゲームを教えていませんが、彼らは彼らが何をしているかを私たちに尋ねます。詳細が必要です。 –
さようなら、私はゲームを開発しています。私は彼らがそれに付着したある種の「べたつき」や他のアプローチを使って粒子を使って物理学に近づいているかどうかを知りたい。 – Draconar
「私は彼らが物理的な相互作用をどのようにして得たかを知ることに非常に関心があります。誰ですか?この質問は、すべての潜在的なゲームの水のパズルには当てはまらない特定の解決策に関する巨大な記事を書くことなく、あなたに本当の答えを与えるために余裕があります。あなたの既存の設計と要件の詳細がわかっていて、特定のタイプのアルゴリズムを探していれば、問題はより多くの牽引力を得るかもしれません。 –