0

学校のプロジェクトとして、Matlab で怒っている鳥のクローンを作成しました。少し取り組んだ後、おそらく私は噛むことができるよりも少し多いことに気付きました.

現在、私はその物理学に取り組んでおり、ゲームの背後にあるメカニズム (衝突、慣性など) を理解していますが、ゲームにどのように実装するかはわかりません。私はプログラミングを始めたばかりですが、プログラミングが好きで、すぐに慣れました。

怒っている鳥では、いくつかの OBB 間の衝突を扱っており、衝突を検出するためのアルゴリズムがあります。すべてのボックスのすべてのコーナーをチェックし、それが別のボックス内にあるかどうかを確認する機能があります。これが最善の方法ではないことはわかっていますが、分離軸定理を視覚化できなかったため、使用しないことにしました。

衝突が発生すると、ボックスは別のボックスに侵入します。これが発生すると、前のポイントと現在のポイントの間で線形補間を行います。1 つのインスタンスですべての衝突ポイントに対してこれを行います (これは、複数の衝突を解決するための私の方法です)。補間を使用して、発生した最初の衝突を検出し、衝突応答を実装します。

私の問題は、現在、あるボックスが別のボックスの上にある場合、この方法はうまく機能しないということです. これにより、すべてが停止します。時間を遡って衝突を解決すると、次のインスタンスで衝突が再び発生するためです。

私の質問は、複数のボックスが互いに重なっているというこの問題をどのように解決するかです。

http://www.wildbunny.co.ukの物理学に関するすべての記事を見て、彼の方法を理解しようとしましたが、彼が何をしているのかは理解できますが、彼がどのようにそれを行うのか見当がつきません。また、アクション スクリプトも知らないので、彼のコードの多くは意味不明です。

インターネットで他のいくつかのガイドを調べましたが、どれも意味がないようです。

これが私にとって非常に役立つことです。怒っている鳥のようなゲームのグラフィックスを実装するために一般的に使用される方法、特に複数の衝突方法を誰かが教えてくれれば、私にとっては十分です。 wildbunny が彼のブログで話しているような投機的な接触を行います)、およびボックスの問題にかかっているボックス。

このプロジェクトを 2 週間で行うのは難しいですか?

4

1 に答える 1

5

はい、Matlab で堅牢な多体物理エンジンをゼロから実装することは、物理エンジンでの作業経験もプログラミング経験もなしに、2 週間のプロジェクトには難しすぎます。

于 2012-04-21T08:44:49.993 に答える