データから見るRBR
Ekisen - RICHARD BURNS RALLY
RBRのシミュ度
RBRはラリーを題材としたレースゲームの中ではかつてないほどシミュレーション要素が濃いと言われています。実際にRBRをプレイしてみると、今までのラリーゲームとは違う挙動と再現性を体感できます。もちろん、ゲームでは現実で起こるはずのすべての事象について計算することは不可能ですから、ある程度のデフォルメはされています。
では、RBRはどれほどの物理計算を行っているのでしょうか。RBRインストールフォルダにはphysics.rbzというファイルがあります。このファイルはZIP形式のファイルで、展開するとたくさんのテキスト形式のファイルがでてきます。これらのファイルは、RBRでの物理計算に使うパラメータがびっしりと詰まっています。実際にすべてのパラメータが利用されているのかはわかりませんが、その一部を抜粋してみます。
| CarcassStiffnessLateral | 256000.0 |
| CarcassStiffnessTorsional | 75000.0 |
| ReferenceFriction | 1.0 |
| CarcassWidth | 0.225 |
| CarcassRadius | 0.305 |
| TreadDepth | 0.01 |
| TreadWidth | 0.20 |
これは各車の設定ファイルに記されているタイヤに関するパラメータの部分です。タイヤ側面強度、ひねり強度、タイヤの基準となるフリクション、トレッドのパターン深さや幅まで書かれています。さらに、タイヤについてはこれとは別にピレリとミシュランに関するファイルがあり、それらにはもっと細かい部分までの値や、温度変化によるフリクション変化の度合いまで記されています。
コース上のオブジェクト1つ1つについてもパラメータが設定されています。滑りやすさや物体の質量に関する値がありますが、これらは割とデフォルメされた値を使っているようです。RBRでは車の挙動に大きな影響を及ぼす部分を中心に細かく計算している印象です。
最も興味深いのはサスペンションです。RBRではサスペンションとしてマクファーソンストラットを再現し、その動きをリアルタイムで計算しています。もちろんその結果が車の動きに反映されるわけです。では、サスペンションに関するパラメータを抜粋してみます。
| vecJointMount_VF | +0.36 | -2.53 | +0.05 |
| WishboneLength | +0.33 | | |
| vecSteeringMount_VF | +0.34 | -2.65 | +0.095 |
| SteeringRodMin-Max | 0.335...0.355 |
| vecStrutHubPoint_SF | +0.070 | +0.00 | +0.11 |
| vecTopMount00-06 | 0.520 | -2.480...-2.495 | +0.70 |
上から順に、ロアアームマウント座標、ロアアーム長、ステアリングアームマウント座標、ステアリングアーム長、ストラットハブオフセット、ストラットマウント座標、となっています。ストラットのバネとダンパーに関する部分は省略しています。数値は参考までに記しただけなので気にしないでください(座標はX,Y,Zの順、単位はメートル)。
RBRでは車を停止した状態でハンドルをめいっぱい切ると、車体がほんのわずか傾きます。これは、ステアすることでサスペンションのアライメントが変化し、その結果車体が傾くわけです。また、上記のパラメータを変更してアームを長くすると、タイヤは車体からはみ出るし、はみ出たタイヤが壁に当たれば車もスピンします。また、タイヤをヒットしてアームが曲がるか破損すると曲がりが悪くなったり直進しなくなったりします。上記のパラメータは走行中にきちんと利用され計算されていることがわかります。
物理計算によるリアルな挙動の再現以外にも、スタート順による路面の変化やリアルなコースなど、シミュ度が濃くなる要素は多くあります。なかでも、コースの出来は驚くべきものです。コースレイアウトそのものは割と平凡ですが、色々な種類の起伏があり、他のラリーゲームのような平坦な路面というものはほとんどありません。RBRでは車体の挙動はタイヤからきちんと計算されているので、片輪だけわだちにハマれば足をとられ、ちょっとした上り下りでもグリップが変化するので、初めてのプレイだとまっすぐ走ることも困難です。
そんなこんなで“かつてない”RBRですが、シミュレーション要素として足りない物も多くあります。幾つか挙げてみると、夜ステージが無い、走行中の気候変化が無い、グラベルとターマックの混合路面が無い、衝突時の挙動が大げさ、破損の再現度(タイヤ&ホイルは外れない、ミッション部分損壊なし、ドア外れすぎ)が低い、などがあります。
Physicsから見えるクルマの違い
physics.rbzには車の挙動に関する部分のパラメータが多く含まれています。各車で比較してみればその違いが見えてきます。
| | Imp03 | Xsara | Lancer | P206 | P307 | Accent | Corolla |
| JointMount:Y | -2.530 | -2.550 | -2.590 | -2.470 | -2.610 | -2.440 | -2.470 |
| vecCenterOfGravity:Y | -1.400 | -1.420 | -1.450 | -1.360 | -1.395 | -1.385 | -1.370 |
| vecCenterOfGravity:Z | 0.210 | 0.215 | 0.220 | 0.210 | 0.200 | 0.220 | 0.220 |
数値の単位はメートルです。Y軸は後車軸が0.0になり、前方になるほどマイナスになります。
JointMount:Yは前車軸と一致するので、この数値はホイールベースを表していることになります。
vecCenterOfGravity:Yは車体のY軸の重心だと思われます。いずれも後軸が原点なので、ホイールベースで割れば前後の比がわかります(CoG:Y/JointMount:Y)。
|
| | Imp03 | Xsara | Lancer | P206 | P307 | Accent | Corolla |
| CoG:Y/JointMount:Y | 0.5534 | 0.5569 | 0.5598 | 0.5506 | 0.5345 | 0.5676 | 0.5547 |
CoG:Y/JointMount:Yの値は大きいほどフロント寄りを示します。数値的にはどれも近い値ですが、0.001違うだけでも挙動は変わってきます。わかりやすくするために小数点第二位以下のみ表記し、大きい順に並べ替えてみます。
| | Accent | Lancer | Xsara | Corolla | Imp03 | P206 | P307 |
| CoG:Y/JointMount:Y | 676 | 598 | 569 | 547 | 534 | 506 | 345 |
違いがわかりやすくなりました。大きいほど初動はもっさりになり、小さいほど初期反応は良いが後部がワンテンポ遅れて動くような(ケツが重い)体感になります。
インプがランサーやクサラと比べてちょっと乗りにくい感じがあるのは、534が示すように若干リア寄りなのが影響しています。アクセントが“ミスターモッサリ”なのは突出してフロント寄りなのが大きな要因です。カローラはクサラとインプの間で平均的な値であることがわかります。もっぱら“じゃじゃ馬”との評価ですが、素性としてはとりわけ突出しているわけではないのです。最強に乗りにくいP307ですが、P206(506)でさえかなりクセがあると感じるのですから、345という値はかなり突飛な値といえます。
最初の表に戻ってvecCenterOfGravity:Zを見てみます。これはZ軸の重心ですから、単純に値が小さいほど優れていると考えて良いでしょう。だいたい想像通りの値でしょうか。アクセントがノーマル車の車高が最も低いのに割と大きめなのは、WRカーの設計が悪いということでしょうか(笑)。この値もアクセントのもっさり挙動に影響を与えているのかもしれません。
次にvecLocalInverseInertiaDiagonal(以下LIID)について見てみます。実はこの値の意味はよくわかっていないのですが、実験を繰り返すうちにどのような影響がでてくるかはおぼろげながらわかってきました。ちなみに、直訳してみると「局所的逆対角慣性」となります。意味ワカラン。
| | Imp03 | Xsara | Lancer | P206 | P307 | Accent | Corolla |
| LIID:X | 0.00075 | 0.00076 | 0.00070 | 0.00079 | 0.00072 | 0.00078 | 0.00079 |
| LIID:Y | 0.00169 | 0.00250 | 0.00169 | 0.00230 | 0.00225 | 0.00169 | 0.00169 |
| LIID:Z | 0.00075 | 0.00076 | 0.00071 | 0.00083 | 0.00070 | 0.00080 | 0.00081 |
LLIDの3つの値はXYZ軸ではないみたいなのですが、便宜上XYZとして記しています。(追記:ピッチ、ロール、ヨーと考えればXYZ軸であってるぽいです)
Xは起伏などでの跳ね方に影響してくるようで、大きくなるほど小さな起伏でも過敏に反応するようになるかわりに、起伏による跳ねる高さは小さくなります。小さくすると起伏での反応はマイルドになる代わりに跳ねは大きく(体感ではわからないレベルです)なります。Xは重力の強さのようなものだと想像すればわかりやすいです(でも重力の強さではないです)。大きいほうが跳ねる量は小さくなりますが車体の反応は過敏になるので若干運転しにくくなるかもしれません。Yはよくわかっていませんが、ハッチバック車は大きな数字のようです。Zは状態変化の速さ(加速度?)のようでXよりも挙動に与える影響は大きいようです。大きな値になるほど姿勢変化が早くキビキビとした挙動になりますが、扱いはシビアになりドリフトアングルの維持は難しくなってきます。
まとめると、Xは大きいほどナーバス、小さいともっさり。Zは大きいほど機敏、小さいとマイルド。といった感じです。
各車を見てみると、ランサーとP307はもっさりマイルドであることがわかります。P206とカローラはナーバスキビキビです。アクセントもカローラと似た傾向です。しかし、実際にアクセントに乗ってみるとかなりもっさりですね。LIIDはあくまで1つの要因にしかすぎません。先に取り上げたCoG:Yとホイールベース(JointMount:Y)、そしてLIIDが絡み合って挙動の“クセ”に現われるためです。アクセントの場合はCoG:Yの突出した値が相当効いているようです。
RBRの場合挙動を決める要素は無数にあり、それこそサスペンションのわずかな構造の違いからホイールベースやフロント・リアトラックの違いなども影響してきます。上記の数値を上げた項目は、挙動決定の大きな要因になる値なのでとりあげてみました。
最後に、集計したデータ(の一部)を置いておきます。
もどる