Vehicles の設定方法

このガイドでは、Chaos Physics ソルバを使用するようにビークルを設定する方法を説明します。

ビークルを構成する固有のアセットを以下に示します。

  • スケルタルメッシュ

  • 物理アセット

  • アニメーション ブループリント

  • ビークル ブループリント

  • 1 つ以上の ホイール ブループリント

  • エンジンのトルク カーブを表す Float Curve アセット

これらは作成対象が自動車でもオートバイでも同様です。このドキュメントでは、ビークルを設定するプロセスを説明します。

  1. Chaos Vehicles プラグインを有効化する。

  2. Chaos Wheel ブループリントを作成して編集する。

  3. エンジン トルクのカーブ アセットを作成する。

  4. Vehicle メッシュをインポートする。

  5. 物理アセットを作成して編集する。

  6. Wheel Controller ノードを使って Animation ブループリントを作成する。

  7. Vehicle ブループリントを作成する。

  8. ビークルのコントロール入力を設定する。

  9. ビークルの Game Mode を設定する。

Chaos Vehicles プラグインを有効にする

Chaos Vehicles を使用する前に、Chaos プラグインを有効にする必要があります。

  1. [Settings (設定)] > [Plugins (プラグイン)] の順にクリックして [Plugins] メニュー を開きます。

    Open the Plugins menu

  2. [Physics (物理)] カテゴリをクリックして ChaosVehiclesPlugin を有効にします。

    Enable the Chaos Vehicles plugin

  • プラグインを有効化してから Unreal Editor を再起動します。

  • PhysX が有効の場合、このプラグインは機能しません。

Chaos Wheel ブループリントを作成して編集する

ホイール ブループリントで、ホイール / サスペンション / ブレーキの組み合わせを設定します。

多くの場合、各ビークルには少なくとも 2 種類のホイールが必要です。また、異なるサイズのホイールを前輪または後輪に設定するケースでも同様に、具体的には、ステアリング / エンジン / ハンドブレーキに影響されるホイール (または車軸) と影響されないホイール (または車軸) です。また、異なるサイズのホイールを前輪または後輪に設定するケースでも同様に、異なる半径、質量、幅、ハンドブレーキ効果、サスペンションやその他のプロパティの設定を完全に制御し、目的の性能を車に与えることができます。

ビークルに装備できるホイールの数に制限はありません。複数のビークルが同じホイール ブループリントを共有できますが、この設計はホイールの寸法とサスペンションの制限が同一である場合にのみ有効です。

ホイール ブループリントを作成する

  1. コンテンツ ブラウザ で右クリックし、[Blueprint Class (ブループリント クラス)][Create Basic Asset (基本アセットを作成)] セクションから選択します。

    Create a new Blueprint actor class

  2. [Pick Parent Class (親クラスを選択)] ウィンドウの [All Classes (すべてのクラス)] で「wheel」と検索して ChaosVehicleWheel を選択します。[選択] をクリックしてアセットを作成します。

    Select the Chaos Vehicle Wheel class

  3. コンテンツ ブラウザ に新しいアセットが作成されます。後で見つけやすいように、わかりやすい名前を付けます (例: 「BP_ChaosFrontWheel」)。

  4. (オプションの操作) これらの手順をもう一度繰り返して、フロントリア のホイール タイプを作成します。それぞれを車軸ごとの設定として考えます。

ホイール ブループリントを編集する

コンテンツ ブラウザ 内のアセットをダブルクリックして、ホイールを編集するオプションのあるブループリント エディタで開きます。

まず最初にホイールごとに変更する必要のあるプロパティが 5 つあり、残りのプロパティはテスト中のビークルのパフォーマンスに影響するため後で調整する必要があります。

プロパティ

メモ

Axel Type

これは、ホイールがビークルのフロントかリアかを定義します。

Wheel Radius

この項目はセンチメートル (cm) 単位で表したレンダリング モデルのサイズと一致させる必要があります。

Affected by Handbrake

この項目はリア ホイールで有効にします。

Affected by Engine

この項目はリア ホイール駆動 (RWD) ビークルのリア ホイールで有効にします。この項目はフロント ホイール駆動 (FWD) ビークルのフロント ホイールで有効にします。この項目は全ホイール駆動 (AWD) ビークルの全ホイールで有効にします。

Affected by Steering

この項目はフロント ホイールで有効にします。フロント ホイールが多いビークルでは (たとえば、トラックの運転台に 4 ホイール ステアリングがある場合)、この項目をステアリング角度は異なる 2 列目で有効にします。または、負のステアリング角度を設定したステアリングをリア ホイールに選択することで、全ホイール ステアリングを実現します。

Max Steer Angle

通常これは正の値です (角度単位で指定)。しかし、全ホイール駆動 (AWD) ビークルで使用するリア ホイールのカウンター ステアリングに対しては負の値を設定できます。

Set the properties described above

Chaos Wheel ブループリント クラスのデフォルトの例。

バギーの例では、フロントとリア ホイール ブループリントの両方の Wheel Radius58 に設定します。

エンジン トルクのカーブ アセットを作成する

トルク カーブは、指定した回転数でエンジンから出力されるトルクの量を表します。グラフの X 軸は、0 からエンジンの最大回転数までの範囲のエンジン回転数 (毎分回転数) を表します。Y 軸は、NM (ニュートン メートル) でのエンジンのトルク出力を表します。典型的なトルク カーブは逆 U 字型形状で、中回転域でトルクがピークになり、その両側では減少しています。

以下のステップに従って、トルク カーブを作成します。

  1. コンテンツ ブラウザ で右クリックし、[Miscellaneous (その他)] > [Curve (カーブ)] を選択します。Curve Float タイプを選択し、[選択] ボタンをクリックしてアセットを作成します。

    Select Miscellaneous - Curve

    Select the Curve Float type and click Select

  2. アセットに 「TorqueCurve」 と名前を付けます。

    Select Miscellaneous - Curve

  3. コンテンツ ブラウザTorqueCurve をダブルクリックし、カーブ エディタ で開きます。ポイントを追加して好みのカーブ形状にします。

Vehicle メッシュをインポートする

このガイドでは Vehicle Game サンプル プロジェクトから バギー ビークル メッシュ を使用します。Epic Games Launcher[Learn (ラーニング)] タブ をクリックしプロジェクトを検索します。

Vehicle 物理エディタ

プロジェクトにビークル メッシュをインポートしたら、次の手順に従い 物理アセット エディタ でメッシュを表示します。

  1. コンテンツ ブラウザビークル スケルタル メッシュ をダブルクリックし、開きます。

    Open the vehicle skeletal mesh

  2. [Physics (物理)] タブをクリックし、物理アセット エディタ を開きます。

    Click the Physics tab

物理アセットを作成して編集する

物理アセットを作成する

関連付けられた物理アセットの無いスケルタル メッシュがある場合、次のステップに従って物理アセットを作成します。

  1. コンテンツ ブラウザ でスケルタル メッシュ アセットを右クリックし、[Create (作成)] > [Physics Asset (物理アセット)] > [Create and Assign (作成して割り当て)] を選択します。

    Create a new physics asset

  2. Primitive Type ドロップダウンをクリックして [Single Convex Hull (単一凸包)] を選択します。[Create Asset (アセットを作成)] をクリックして、新しい物理アセットを作成します。

    Select Single Convex Hull

    すると、各ボーンにデフォルトのコリジョン形状をもつ物理アセットを生成します。物理アセットのすべてのボーンを表現するために同じプリミティブ型を使用するため、コリジョンの初期設定は最適ではない場合がほとんどです。

  3. コンテンツ ブラウザ物理アセット をダブルクリックし、物理アセット エディタ で開きます。

    Open the new physics asset

    Open the new physics asset

  4. 物理アセット エディタ 内で、各ボーンに使用されるコリジョン プリミティブをビークル メッシュに適したものに調節できます。

物理アセットを編集する

  1. [Skeleton Tree (スケルトン ツリー)] ウィンドウ内で [ギア アイコン] をクリックし [Show Primitives (プリミティブを表示)] を選択します。

    Select Show Primitives

  2. [Skeleton Tree (スケルトン ツリー)] ウィンドウ内のすべてのホイール ボーンを選択します。

    Select all the wheel bones

  3. [Tools (ツール)] ウィンドウに移動し、[Body Creation (ボディ作成)] セクションで Primitive Type ドロップダウンをクリックし、[Sphere (球体)] を選択します。[Re-generate Bodies (ボディを再生成)] をクリックします。

    Select the Sphere primitive type

    Select the Sphere primitive type

  4. 各ホイールに球体のプリミティブがあるのが確認できます。

    凸型ハルのあるホイール

    球のあるホイール

  5. [Skeleton Tree (スケルトン ツリー)] ウィンドウ内で サスペンション ボーンを選択します。右クリックし、[Collision (コリジョン)] > [No Collision (コリジョンなし)] を選択してビークル サスペンションからコリジョンを削除します。

    Select the Sphere primitive type

    Select the Sphere primitive type

Wheel Controller ノードを使って Animation ブループリントを作成する

アニメーション ブループリントは、タイヤの回転、サスペンション、ハンドブレーキ、ステアリング アニメーションなど、そのビークルに固有のビークル スケルタルメッシュ アニメーションを制御するために使用します。Wheel Controller Node を使用してアニメーションを操作することで、こうした種類のアニメーションの作成時に多くの作業を軽減できます。

Wheel Controller ノード

アニメーション ブループリントでビークルのアニメーションを取得して制御する場合、Wheel Controller ノードを使用することで追加の設定をほとんど、またはまったく行わずにビークルのアニメーションをすべて簡単に制御できます。

Wheel Controller node

このノードはホイールから必要な情報 (例: 「回転速度はどのくらいか」、「ハンドブレーキの影響を受けているか」、「このホイールのサスペンション設定値は何か」) を取得して、そのクエリ結果をホイールが関連付けられたボーンのアニメーションに変換します。

アニメーション ブループリントを作成する

  1. コンテンツ ブラウザ で右クリックし、[Animation (アニメーション)] > [Animation Blueprint (アニメーション ブループリント)] を選択します。

    Select Animation Blueprint

  2. [Create Animation Blueprint (アニメーション ブループリントを作成)] ウィンドウで VehicleAnimationInstance 親クラスを選択し、リストからビークル [Skeleton (スケルトン)] を選択します。[作成]をクリックして、新しいアニメーション ブループリント アセットを作成します。

    Select the vehicle animation instance parent class and your vehicle skeleton from the list

  3. コンテンツ ブラウザアニメーション ブループリント をダブルクリックし、開きます。

  4. Anim Graph を右クリックし、「Mesh Space Ref Pose」を検索し、選択します。

    Select the Mesh Space Ref Pose node

  5. Anim Graph を右クリックし、「Wheel Controller for WheeledVehicle」を検索し、選択します。Mesh Space Ref Pose ノードを Wheel Controller ノードに接続します。

    Select the Wheel Controller for WheeledVehicle node

    Connect the Mesh Space Ref Pose node to the Wheel Controller node

  6. Anim Graph を右クリックし、「Component To Local」 を検索し、選択します。Wheel Controller ノードを Component To Local ノードに接続します。Component To Local ノードを Output Pose ノードに接続します。

    Select Component To Local node

    Connect the Wheel Controller node to the Component To Local node. Connect the Component To Local node to the Output Pose node

  7. (オプションの操作) (Vehicle Game のサンプル バギーのように) 追加のストラットやその他のサスペンションが必要な場合、アニメーション グラフ 内にこれらのポリゴンに影響を及ぼすジョイント部分を処理する追加のノードが必要です。たとえば、バギーでは、車軸とホイールの接続部分の制御に追加のジョイントを使用しています。これらは Look At ノードにより駆動され、ホイールのジョイント部分がある場合は Wheel Controller ノードにより駆動されます。次の例で示すように、この Look At ノードはサスペンションとホイールの接続を維持します。

バギーは以下の Look At ノード構成を使用します。

ボーン

Look At

F_L_Suspension

F_L_wheelJNT

F_R_Suspension

F_R_wheelJNT

B_L_Suspension

B_L_wheelJNT

B_R_Suspension

B_R_wheelJNT

B_L_wheelJNT

B_L_Suspension

B_R_wheelJNT

B_R_Suspension

Vehicle ブループリントを作成する

この手順では、以前に設定したアセットをすべて使って Vehicle ブループリントを作成します。

  1. コンテンツ ブラウザ で右クリックし、[Blueprint Class (ブループリント クラス)][Create Basic Asset (基本アセットを作成)] カテゴリから選択します。

    Create a new Blueprint class

  2. [Pick Parent Class (親クラスを選択)] ウィンドウで[All Classes (すべてのクラス)] セクションを展開し、「WheeledVehiclePawn」 を検索し、選択します。[Select (選択)] をクリックして新しいブループリント アセットを作成します。

    Create a new Blueprint class

  3. コンテンツ ブラウザVehicle ブループリント をダブルクリックし、開きます。

    Open the new  Vehicle Blueprint

  4. [Components (コンポーネント)] ウィンドウで、メッシュ スケルタル メッシュ コンポーネントをクリックします。[Details] パネルへ移動し、[Mesh (メッシュ)] セクションの Skeletal Mesh ドロップダウンをクリックします。ビークルの スケルタル メッシュ アセットを選択します。

    Select the Mesh

    Select your vehicle's skeletal mesh

  5. [Details] パネルで、[Animation (アニメーション)] セクションをスクロールし、Anim Class ドロップダウンをクリックします。ビークルの アニメーション ブループリント を選択します。

    Select your vehicle's Animation Blueprint

  6. [Details] パネルで [Physics (物理)] セクションまでスクロールし、[Simulate Physics (物理をシミュレート)] チェックボックスを有効にします。

    Enable the Simulate Physics checkbox

  7. [Components (コンポーネント)] ウィンドウで、[Add Component (コンポーネントを追加)] をクリックし、「Spring Arm」を検索し、選択します。

    Add a Spring Arm

  8. Spring Arm コンポーネントを選択した状態で [Add Component (コンポーネントを追加)] をクリックし、「Camera (カメラ)」を検索し、選択します。

    Add a Camera

  9. ビューポートCamera を選択し、好きな位置に配置します。

    Position the Camera to your liking

  10. Camera コンポーネントを選択し、[Details] パネルに移動します。[Camera Settings (カメラ設定)] セクションまでスクロールし、[Use Pawn Control Rotation] が無効なことを確認します。

    Verify that Use Pawn Control Rotation is disabled

    これにより、プレーヤー コントローラーのビュー方向ではなく、カメラのビュー方向にカメラをロックします。

  11. [Components (コンポーネント)] ウィンドウで [Vehicle Movement Component (ビークルの動きのコンポーネント)] を選択します。

    Select the Vehicle Movement Component

  12. [Details] パネルへ移動し、[Vehicle Setup (ビークル設定)] セクションまでスクロールします。Wheel Setups の横にある矢印を展開し、それぞれのホイールに以下を設定します。

    • Wheel Class に作成した Wheel ブループリントに設定する。

    • Bone Name に、ホイールで制御する必要のあるジョイント名を設定する。

    Wheel Setups

    ホイールを割り当てる順番は、フロント ホイールかリア ホイールかとはまったく関係ありません。Bone NameWheel Class のみ効果があります。整理のため、新しいビークルのホイールの順番を統一することをお勧めします (例: FL、FR、BL、BR)。基準を決めておくと、ホイール インデックス (ホイール設定配列のインデックス) でホイールデータにアクセスする際に役立ちます。

    つ以上のホイールが必要なビークルの場合は、Wheel Setups プロパティの横にある [+] アイコンをクリックしてさらに追加するか、もしくは必要に応じてホイールを削除します。

  1. [Components (コンポーネント)] ウィンドウで [Vehicle Movement Component (ビークルの動きのコンポーネント)] を選択します。[Details] パネルに移動します。[Mechanical Setup (メカニカル設定)] セクションにスクロールして、[Engine Setup (エンジン設定)] カテゴリを展開します。[Torque Curve (トルク カーブ)] カテゴリを展開し、トルク カーブ アセットExternal Curve ドロップダウンに追加します。

    Wheel Setups

ビークルのコントロール入力を設定する

  1. [Settings (設定)] > [Project Settings (プロジェクト設定)] をクリックして [Project Settings] ウィンドウを開きます。

    Open the Project Settings

  2. [Input (入力)] カテゴリに移動して、ステアリング、スロットル、ブレーキ、ハンドブレーキのコントロール入力を設定します。以下の画像は Vehicle Game のバギーの入力です。

    Input Settings

  3. コンテンツ ブラウザVehicle ブループリント をダブルクリックし、開きます。

    • [Vehicle Movement Component (ビークルの動きのコンポーネント)]イベントグラフ にドラッグしてノードを作成します。

    • Vehicle Movement Component ノードからドラックし Set Throttle Input を検索し、選択します。

    Input Settings

  4. イベントグラフ を右クリックし、「Throttle」を検索し、選択して、Throttle 入力イベントに追加します。

    Add Throttle

  5. *InputAxis Throttle** ノードを **Set Throttle Input** ノードに接続します。**InputAxis Throttle** ノードの **Axis Value** ピンを **Set Throttle Input** ノードの **Throttle** ピンに接続します。

    Connect the InputAxis Throttle node to the Set Throttle Input node

  6. 上記の手順に従って Set Brake InputSet Steering Input のノードを追加し、それぞれ対応する入力イベントと接続します。

    Add the nodes for Set Brake Input and Set Steering Input

  7. 上記の手順に従って Set Pitch InputSet Roll InputSet Yaw Input のノードを追加し、それぞれ対応する入力イベントと接続します。

    Add the nodes for Set Brake Input and Set Steering Input

  8. 上記の手順に従って Set Change Up InputSet Change Down Input のノードを追加し、それぞれ対応する入力イベントと接続します。

    • Set Change Up Input ノードの New Gear Up チェックボックスを有効にします。

    • Set Change Up Input ノードの [New Gear Up (新規ギア アップ)] チェックボックスを有効にします。

    Add the nodes for Set Brake Input and Set Steering Input

  9. 上記の手順に従って Set Handbrake Input のノードを 2 回追加し、各ノードを InputAction Handbrake ノードの PressedReleased ピンに接続します。Pressed ピンに接続した Set Handbrake Input ノードの [New Handbrake (新規ハンドブレーキ)] チェックボックスを有効にします。

    Add the nodes for Set Brake Input and Set Steering Input

ビークルの Game Mode を設定する

  1. コンテンツ ブラウザ で右クリックし、[Blueprint Class (ブループリント クラス)][Create Basic Asset (基本アセットを作成)] カテゴリから選択します。

    Create a new Blueprint class

  2. [Pick Parent Class (親クラスを選択)] ウィンドウで、[Game Mode Base] を選択し、Game Mode ブループリントを作成します。

    Select Game Mode Base

  3. コンテンツ ブラウザGame Mode ブループリント をダブルクリックし、開きます。

    Double-click the new Game Mode Blueprint to open it

  4. [Details] パネルへ移動し、[Classes (クラス)] セクションまでスクロールします。Default Pawn Class ドロップダウンをクリックし、Vehicle ブループリント を選択します。

    Double-click the new Game Mode Blueprint to open it

  5. [Compile (コンパイル)][Save (セーブ)] をクリックして、ウィンドウを閉じます。

  6. [メイン ビューポート] ウィンドウで、[Window (ウィンドウ)] > [World Settings (ワールド設定)] をクリックし、[World Settings (ワールド設定)] パネルを開きます。

    • [World Settings] パネルへ移動し、[Game Mode (ゲーム モード)] セクションまでスクロールします。

    • GameMode Override ドロップダウンをクリックし、Game Mode ブループリントを選択します。

    Open the World Settings panel

    Click the GameMode Override dropdown and select your Game Mode Blueprint

  7. [Play (プレイ)] を押してビークルをテストします。

    Showcase of three Fluid Systems in the level

既存の PhysX ビークルを Chaos に変換する場合は、「ビークルの PhysX を Chaos に変換する方法」のガイドを参照してください。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル