スキッドによる車両物理学


13

トラクションを失う可能性のある車の車両物理学を作成するにはどうすればよいですか?ドライバーが平らな足を持っているように見えるようにしたいので、ガスを押すと、彼らは車を運転して(後)車輪を牽引し、制御が多少難しくなります。また、ドーナツをしたり、角を「ドリフト」できるようになりたいです。

また、「スキッド」がどの程度発生しているかを知る必要があるため、比例した量の煙とタイヤの跡を追加できます。

2D、トップダウンスタイルのカーゲームを想定します。

ありがとう

回答:


10

これは非常に単純化されたバージョンですが、ほとんどのアーケードタイプのゲームには適しています。次のプロパティが必要です。

positionX, positionY - where the car is
velocityX, velocityY - speed on each axis
drag - how fast the car slows down
angle - the rotation of the car, in radians
angularVelocity - speed the car is spinning, in radians
angularDrag - how fast the car stops spinning
power - how fast car can accelerate
turnSpeed - how fast to turn

すべてのフレーム:

positionX += velocityX
positionY += velocityY
velocityX *= drag
velocityY *= drag
angle += angularVelocity
angularVelocity *= angularDrag

加速する

velocityX += sin(angle) * power;
velocityY += cos(angle) * power;

左に操縦する

angularVelocity -= turnSpeed;

右に操縦する

angularVelocity += turnSpeed;

良好なドリフトを得るには、dragとangleDragを1に非常に近い値、たとえば0.9に設定します


制御はパワー(スロットル)と角速度(ステアリング)でしょうか?それとも、私はいくつかの変換を見逃していますか?
drxzcl

いいえ、それだけです-操縦する方法を説明するのを忘れました。新しいturnSpeed変数で更新されました。
イアン

2

私は今日、衝突とスピンアウト中の車両のダイナミクスをシミュレートする論文を読んでいました。

周ing; ジャンボルー; Huei Peng、「精密固定化手法の操作に対応した車両ダイナミクス」、2008 ASME Dynamic Systems and Control Conferenceの議事録

これには、意図的な衝突力によって引き起こされるヨーイング中の横転モーメントと後部タイヤのトラクションの損失を表す物理モデルが含まれています。衝突中のビークルダイナミクスに興味のあるゲームプログラマーにとっては興味深いようです。


かなりの研究ですが、残念ながら目前の問題には適していません。このペーパーは、車両ロールなどを含む3D分析です。質問は2Dトップビューゲームに関するものです。したがって、3Dではなく2D物理学です。
ブラム

1

Bourgのゲームプログラマ向け物理学はお勧めしませんが、彼はこのことについて第10章(ページ171付近)で少し説明しており、出発点になるかもしれません。

残念ながら、PhysXの車両コードはまだ「サンプル」であり、十分に文書化されていないため、どのように機能するかを簡単に把握することはできません。サンプルから派生したコードは、3Dで探している種類の動作を表示するのを見たと思いますが、それはあなたが思うよりも低レベルのシミュレーションです。


1

最初に理解する必要があるのは、「スリップ率」と「トラクションサークル」です。スリップ率は、タイヤの挙動の良い近似であり、角度差とタイヤの横方向の力との間に非線形の関係があります。また、ドライバートルクフィードバック情報も提供します(フォースフィードバックステアリングホイール用)。

両方の概念の超単純バージョンは次のとおりです。ローリング方向と移動方向の角度差が大きいほど、ローリング方向に垂直な力(横方向の力)が大きくなります。(通常)5°から8°でピークに達し、タイヤの角度が大きくなるとそこから落ちます。

トラクションサークルは、基本的に、外側に向かう力ベクトルを切り取るリミッターです。それは、重い加速/制動が操縦能力を低下させる方法をモデル化します。牽引円のサイズ(最大牽引力ベクトル)は、タイヤを地面に押し付ける力に比例します。

駆動/制動(回転)トルクと地面からの反対方向の牽引力とは別に、横方向(ステアリング)の力をモデル化する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.