2

Box2D のような物理ライブラリを使用して、線路をたどる列車の上面図やスイッチなどをモデル化するのは楽しいと思います。これを機能させるには、どのジョイントとモーターが必要ですか?

車がスプライン トラックをたどるのに必要な力を実装して、他の電車の車、歩行者、デロリアンなどに衝突できるようにする方法に興味があります。時間ステップごとに「車は現在スプライン(t)にある」と言うだけです。物理エンジンに過剰な力が発生します。私の理解が正しければ、車を 1 つの力でトラックに貼り付け、別の力でトラックと平行になるようにその角度を制限します (または、車の前後を 2 つの力でトラックに貼り付けます)。列車を前進させる別の力。これらのことを達成する方法の詳細を探しています。

4

4 に答える 4

3

ルクソールやタンブルバグなどのゲームのボールの動きのような「実際の」物理学がなければ、それは簡単だと思います。意味:列車が線路によって定義されたスプラインをたどるようにします。

物理学を使用して列車を線路に従わせるのはおそらくやり過ぎであり、ぎくしゃくした動き、列車の脱線、列車がジャンクションで動かなくなるなど、あらゆる種類の望ましくない副作用を引き起こす可能性があります。

ただし、物理的なジョイントを使用して、個々のワゴンを結合することはできます。機関車だけが加速力を得るようにしてください。列車の残りの部分は、ちょうど追従するか、押されますが、スプライン上にとどまります。

于 2009-03-20T09:39:08.883 に答える
1

トップダウンビュー(つまり、空から電車を見る)は、実際には2D物理エンジンを必要としません-私があなたを正しく理解していれば。実際、(電車のシミュレーションが必要な場合は)問題にはあまり役立たないようですが、楽しみのために試してみたいと思うかもしれません。:)

しかし、電車や車にスライダージョイント、機関車にモーターなどを取り付けてはどうでしょうか。スライダージョイントには特別な実装が必要な場合があります。直線の一部ではなく、スプラインに沿って列車を走らせたいと思いませんか?

ある種のボールジョイントが車をつなぎます。

于 2009-03-20T08:47:12.457 に答える
1

実装はそれほど難しくなく、基本的な仕事をするプロトタイプを数時間で作ることができました。スムーズに実行するには多くの作業が必要になりますが、基本的には単なる「副業」です。

トップダウンであることは明らかで、最初に Box2D で重力をオフにする必要があります。次に、電車を作ります。列車の車輪を車の車輪のように扱うと、突然、よりシンプルになります。トラックの場合、いくつかの選択肢があります:

  • (box2D の世界ではなく) 独自のゲーム オブジェクトを作成します。これは、列車が「追従」する単純な線です (列車の車輪のモーターを使用して、線に向かって「操縦」できます)。次に、幅の広い「レール」グラフィックをラインに重ねるだけで、見事に偽装されたシステムができあがります。車輪がラインから離れすぎている場合は、車輪を止めるように伝えてください。

  • 実際の物理的なレールを作成します - 列車の「車輪」が衝突する外側のレール (サイドレールなど)。この例では緩やかな曲線を持たなければなりませんが、リソースが限られていることを考えると、これは非常に難しい可能性があります (Box2D で箱から出して素敵な遅い曲線をシミュレートするのは、プロセッサにとっては大まかなことです)。

その後、電車を手放してください!

于 2009-04-26T08:16:17.403 に答える
1

それを「軌道に乗せる」ことをなぜ心配しているのですか?どこへ行くの?重力はそれを下に保ち、オブジェクトの交差はそれを上に保つ必要があるため、心配する必要がある方向は前方と後方だけです。そこにモーターが入り、完了です。あとは飾りです。

問題の編集に応じて:

サイドレール。また、踏切をナビゲートできるように、幅に比べて列車の長さ/剛性を十分に確保してください (踏切の問題を最小限に抑えるために、踏切を直角に近づけます。

于 2009-03-05T20:07:51.683 に答える