“案外複雑でわかりにくいChaosVehicleの設定項目を解説します”

執筆:  “S.K”

はじめに

初めまして。

株式会社ORENDA WORLDでエンジニアをしております、S.Kと申します。

今回はUnrealEngine5に標準で用意されているChaosVehicleSystemの設定・各種パラメータについて解説をしようと思います。

このシステムはUE5で使用されている物理エンジンであるChaosPhysics上で動作する、軽量かつ汎用性の高いビークルシステムです。サンプルも用意されており、簡単に物理ベースの車両挙動を実装することが可能なほか、車両の設定パラメータが豊富に用意されているため、様々な車両・用途に対応することが可能です。

一方で設定項目が膨大なほか、専門的な内容のものも多いため、

・思ったよりスピードが出ない/出すぎる

・車がいきなり滑り出す

・もっとリアルな動きをさせたい

などの問題があった場合、どの項目を調整すればよいか分からない方も多いのではないでしょうか。

本記事では主に公式のビークルサンプルをもとに、各種パラメータの解説をしていこうと思います。車両を一からセットアップする方法については本記事では扱いませんが、こちらも難解な点、つまづきやすいポイントなどありますので、今後記事化するかもしれません。

この記事で使用する環境

本記事ではUE5.3.2を使用していますが、基本的にUE5であれば内容は同一です。

UE4に関してはChaosPhysicsが標準採用されておらず、PhysXベースのWheeledVehicleとなっているため、内容が全く異なります。

プロジェクトを作成し、プレイモードに入ると車両アクタが生成されます。

キーボードおよびゲームパッドに操作が割り当てられているので、まずは走らせてみましょう。

キーボード操作の割り当ては以下の通りです。

パラメータを見てみよう

Vehicleテンプレートにおいて使用されている車両BPは、VehicleAdvPawnです。

BP内のVehicle Movement Componentを選択すると、詳細タブに設定項目が表示されます。

Wheel Setup

ここからは上から順に、Wheel SetupからVehicle Setupまでの使用頻度の高い項目の解説をしていきます。

Wheel Setup


Chaos Vehicleのタイヤ・サスペンションまわりの設定は、車両本体のBPと別にChaos Vehicle WheelクラスのBP内で定義されています。
そのため、車両メッシュのどのボーンをタイヤとして扱うか、またボーンに対しどのChaos Vehicle Wheel BPを適用するかをこの項目で設定します。

VehicleAdvPawnは四輪車なので、インデックス[0]から[4]まで設定がされています。

Mechanical Setup

エンジン・駆動系の設定を行います。

Engine Setup

Differential Setup

Transmission Setup

Finalは全てのギアに加算される係数、Forwardは前進、Reverseは後進のギアレシオです。

Steering Setup

Angle RatioとAckermanでは、左右の舵角を調整して内輪差を吸収し、スムーズに旋回できるようになります。
自動車の旋回時は外側のタイヤがより大きな半径の軌跡を通るため、これを理論的に解決するためアッカーマン・ジャントー機構が存在し… といった感じですが、詳細は割愛します。
思った通りにハンドルが切れていないという場合には、こちらを確認するといいかもしれません。

Vehicle Setup

まとめ

ChaosVehicleSystemはUE標準であること、動かすだけならサンプルをもとにして手軽に使用できることから、UE5で車両を扱いたい場合まず最初に検討する機能だと思います。

一方で、中身は割ときっちりとした物理ベースであったり、設定内容が英語かつ専門的だったりするので、どう調整していけばいいかが分かりにくい機能でもあります。

本記事の内容が、車両がうまく走らない、設定項目がどのように反映されているか分からないというケースの助けになれば幸いです。

また、サンプルを使用せず一から車両を組む、別の3Dモデルを自前で用意するなどの場合にも様々な落とし穴があるので、その辺りに関しても次回以降解説できればと思います。

関連記事