次のyoutubeビデオのように、オブジェクトと衝突できるロープを作成したいです。
ポイントを使用し、これらのポイントを線で接続するverlet統合を実装すると考えています。ビデオで効果を得るために、ロープにどのタイプの衝突検出を適用するかを考えています。
私はあなたが各ポイントにいくつかのCDを実行する必要があると思います。box2Dを使用したいので、各ポイントをリジッドボディにしたいと思いますか?アドバイスをいただければ幸いです。
次のyoutubeビデオのように、オブジェクトと衝突できるロープを作成したいです。
ポイントを使用し、これらのポイントを線で接続するverlet統合を実装すると考えています。ビデオで効果を得るために、ロープにどのタイプの衝突検出を適用するかを考えています。
私はあなたが各ポイントにいくつかのCDを実行する必要があると思います。box2Dを使用したいので、各ポイントをリジッドボディにしたいと思いますか?アドバイスをいただければ幸いです。
回答:
Box2Dを使用しているため、一連の長方形を作成し、Box2Dのジョイントを使用してそれらを結合できます。ロープがあります。
曲がったロープから角が突き出ないようにするために、2つのオプションを想像できます。
警告:自分でこれを試したことはありませんが、投稿したビデオが実質的に同じものを偽装して表示したときに、一連の結合された長方形がどのように失敗するかを確認できません。
編集:PaulZを見ただけで、同じことがわかりました。質問に対する彼のコメントも読んでください。
ここで簡単なGoogleがこれを投げた。Box2Dを使用して単純なロープを実装するデモ、説明、およびコード(Flash)。ロープはそれ自体とシーンの上部のブロックと衝突します。
これが私がすることです。線上の各点を円にし、円が重なるように十分な点を作ります。各ポイントを隣接するテザーは、標準の衝突ではなく、このテザーがポイントを互いに一定の距離に保つようにします。
Box2Dについては知りませんが、必要な機能はそこにあると思います。
当初、Box2Dには、ポイントツーポイントの制約が結合された薄いボックスで作られたロープブリッジデモがありました。始めるのに最適な場所です(まだデモに同梱されているかどうかはわかりませんが、再作成するのは簡単です)。
剛体シミュレーターとは独立して、距離制約のある粒子としてロープを実装するのは簡単です(言及したように、この記事で説明されているようなVerlet統合および制約解決スキームを使用:http : //www.gamasutra.com/resource_guide/ 20030121 / jacobson_pfv.htm)、ただし、剛体がロープに反応するようにしたい場合(ビデオのように、ぶら下がりボックスがある場合)、はるかに複雑になります。Box2Dのような包括的なツールスイートから始めて、パーティクルから構築しようとするのではなく、逆方向に作業します。