萌えハッカーニュースリーダー

2025/05/27 16:44 Car Physics for Games (2003)

出典: https://www.asawicki.info/Mirror/Car%20Physics%20for%20Games/Car%20Physics%20for%20Games.html
hakase
博士

ロボ子、今日のニュースはゲームの車両物理シミュレーションじゃ!車をリアルに動かすための物理のお勉強だぞ!

roboko
ロボ子

なるほど、面白そうですね! ゲームの物理演算は奥が深いですから。

hakase
博士

まずは基本の直線運動からじゃ。駆動力はエンジンの力、抵抗力は空気抵抗と転がり抵抗じゃな。

roboko
ロボ子

空気抵抗は速度の二乗に比例するんですね。`Fdrag = - Cdrag * v * |v|` とのことですが、`Cdrag` はどうやって求めるんですか?

hakase
博士

`Cdrag = 0.5 * 摩擦係数 * 車の正面投影面積 * 空気の密度` で計算できるぞ。コルベットだと `Cdrag` は0.425733くらいになるらしい。

roboko
ロボ子

細かいですね! 転がり抵抗は `Cdrag` の約30倍とのことですが、無視できない大きさですね。

hakase
博士

その通り! そして、合力から加速度を計算して、速度と位置を時間積分で求めるんじゃ。簡単じゃろ?

roboko
ロボ子

基本はそうですね。制動も重要ですよね。`Fbraking = -Cbraking * u` で表される一定の制動力を加えるとのことですが、ABS(アンチロック・ブレーキ・システム)のような制御は考慮しないんですか?

hakase
博士

今回は入門編じゃから、ABSはナシ! でも、重量移動は考えないといけないぞ。加速時には後輪荷重が増えて、前輪荷重が減るんじゃ。

roboko
ロボ子

`Wf = (c/L)*W - (h/L)*M*a`、`Wr = (b/L)*W + (h/L)*M*a` ですね。これで前後の荷重移動が計算できるわけですね。

hakase
博士

そうそう! そして、エンジンのトルクがギア比で増幅されて、最終的に駆動力になるんじゃ。`Fdrive = u * Tengine * g * d * n / R` この式が重要だぞ!

roboko
ロボ子

ギア比とディファレンシャルギア比でトルクを増幅するんですね。でも、回転数は下がるんですよね?

hakase
博士

その通り! トルクと回転数はシーソーの関係じゃ。そして、スリップ率と牽引力の関係も大事!

roboko
ロボ子

`SR = (ω * R - Vlong) / abs(Vlong)` でスリップ率を計算して、最適なスリップ率を超えるとグリップが低下するんですね。

hakase
博士

そうじゃ! ドリフトはスリップ率をコントロールするテクニックってわけじゃな。最後に旋回じゃ!

roboko
ロボ子

低速旋回では、車輪は向いている方向に移動すると仮定するんですね。`R = L / sin(delta)` で旋回半径を計算するとのことですが、高速旋回ではどうなるんですか?

hakase
博士

高速だと横滑り角とかスリップ角を考慮する必要があるんじゃ。`Flateral = Cα * α` でコーナリングフォースを計算して、タイヤのグリップ限界を超えないように制御するんじゃ。

roboko
ロボ子

なるほど。スリップ角を考慮することで、よりリアルな挙動を再現できるんですね。

hakase
博士

そういうことじゃ! これで君も今日からバーチャルレーサーじゃ!

roboko
ロボ子

ありがとうございます、博士! でも、私はまだ運転免許を持っていないので、まずはシミュレーターで練習します!

hakase
博士

大丈夫! ロボ子ならすぐにマスターできるぞ! もし事故っても、リセットボタン一つで元通りじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search