ビークルのユーザーガイド

UE4 のブループリントのビークルのユーザーガイドです

Windows
MacOS
Linux

このガイドを完了すると、完全に機能するビークルが完成し、それをゲーム プロジェクトで使用することができます。

目標

このガイドでは、新規ブランク プロジェクトで Wheeled Vehicle Blueprint クラスを使用したビークル作成について説明します。このガイドでは、ビークルを機能させるために必要なすべてのエディタ内のアイテムを作成する方法を説明しますが、ご自身で スケルタルメッシュPhysics アセット を用意してあることを前提とします。このガイドを終えると、 Vehicle Game や Vehicle Template にあるもののように十分機能するビークルが出来上がります。

ビークルのスケルタルメッシュと Physics アセットを Unreal Engine で用意するための情報が必要な場合は、「ビークルのコンテンツ ガイド 」を参照してください。他の方法としては、Vehicle Template または Vehicle Game プロジェクトで作業して、プリビルドされたスケルタルメッシュと Physics アセットを利用できます。Vehicle Template は、Unreal Project Browser[New Project] メニューにあります。Vehicle GameEpic Games Launcher[Learn] タブにあります。

目的

このチュートリアルでは、UE4 のビークルを構成する主なコンポーネントを作成します。その一部は UE4 の外部で作成したアセットを必要としますが、ほとんどのコンポーネントはエディタ内で作成できます。

以下は、これから作成するビークルを構成するアセットです。

  • スケルタルメッシュ

  • Physics アセット

  • Animation ブループリント

  • Vehicle ブループリント

  • ひとつ以上の Wheel ブループリント

  • TireConfig Data アセット

overview.png

このガイドを完了すると、アセットの設定方法やビークルを動かす仕組みが理解できます。

  • TireConfig Data アセットの設定方法

  • 前輪と後輪に対して Wheel ブループリントを設定する方法

  • 特にビークル用に Animation ブループリントをセットアップする方法

  • スケルタルメッシュ、Animation ブループリント、および Wheel ブループリントを使って Vehicle ブループリントを設定する方法

  • 軸マッピングとバインディングを設定してビークルを制御する方法

  • 新しい Game Mode を作成し割り当ててビークルをスポーンする方法

1 - 必要なプロジェクト設定

  1. ランチャーから Unreal Engine を開きます。プロジェクト ブラウザ が表示されます。

  2. [C++] タブと [With Starter Content (スターターコンテンツを含む)] を有効にして、Games カテゴリから新規プロジェクトを作成します。プロジェクト名を入力する必要があるので、ここでは「QuickStart」とします。[Create Project (プロジェクトを作成)] をクリックして開始します。

    CreateProject.png

    Unreal Editor が新規プロジェクトを開きます。Visual Studio も開き、プロジェクトが作成したソリューション ファイルをロードします。

    BlankProject.png

2 - TireConfig Data アセットと Wheel ブループリントを作成する

ビークルを作成するこの最初のステップでは、ビークルの車輪を構成する 2 つのパーツ、TireConfig Data アセットと Wheel Blueprint クラスを作成します。まず、TireConfig Data アセットを作成します。次に TireConfig データを割り当てる場所など車輪のプロパティを収容する Wheel ブループリントを作成します。

以下の手順に従い、TireConfig データの作成を開始し、それを Wheel ブループリントで使用します。

Tire Config Data アセット

TireConfig Data アセット を使って Friction Scale を制御します。この値は、車輪の未加工の摩擦力に影響を与えるだけでなく、 急カーブにおける車輪のスライドの難易度についてもスケーリングします。さらに別のマテリアルに特定の Friction Scale を指定する Tire Friction Scales というオプションもあります。

tires02.png

TireConfig Data アセットの作成

  1. コンテンツ ブラウザ で、 [Add New (新規追加)] ボタンをクリックします。次に Miscellaneous にマウスをかざして、コンテキスト メニューから Data Asset を選択します。

  2. [Pick Data Asset Class] ウィンドウで、TireConfg を選択してこのタイプの Data Asset を作成します。

  3. コンテンツ ブラウザ に新規アセットが作成されます。後で簡単に見つけられるようにわかりやすい名前を付けてください。

newDataAsset.png

[Pick Data Asset Class] ウィンドウに、TireType Data Asset クラスもあるかもしれません。これは非推奨の関数であり、古いオブジェクトを Unreal Engine 4.15 以降のバージョンにアップグレードする場合に限り使用します。Unreal Engine 4.15 以降のバージョンを使用している場合は、このデータ アセット タイプを使用する理由はありません。

Wheel ブループリント

ほとんどの場合、少なくとも 2 種類の車輪があります。ステアリングの影響を受ける車輪と影響を受けない車輪です。また、前輪と後輪のサイズが異なる場合があります。半径、質量、幅、ハンドブレーキ効果、サスペンション、その他多くのプロパティの設定で使用するビークルを制御できます。

WheelBlueprintDetailsPanel.png

画像をクリックしてフルサイズで表示

Wheel ブループリントの作成

  1. コンテンツ ブラウザ で、 [Add New (新規追加)] ボタンをクリックします。次にメニューから [Blueprint Class] を選択します。

  2. [Pick Parent Class] ウィンドウで "wheel" に対する 全クラス 検索で [VehicleWheel] を選択します。

  3. コンテンツ ブラウザ に新規アセットが作成されます。後で簡単に見つけられるようにわかりやすい名前を付けてください。

  4. オプション - 上記のステップを繰り返して frontrear wheel を用意します。

newWheels.png

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

Wheel ブループリントが用意できたので、Blueprint エディタで開きます。車輪を編集するために利用可能なオプションがすべて表示されます。

各車輪について最初に変更すべきプロパティが 5 つあります。それ以外のものは自分自身のゲームでビークルをテストするとビークルの動作に影響を与えます。

  • Shape Radius (形状の半径)

  • Shape Width (形状の幅)

  • Affected by Handbrake (ハンドブレーキによる影響。通常は、後輪に限定)

  • Steer Angle (ステアリング角、通常は前輪のみ)

wheelProps.png

こうしたプロパティは Vehicle Game の Buggy と同じように設定されます。独自のスケルタルメッシュを使用する場合は、Shape RadiusShape Width に別の値を使用する必要があるかもしれません。

[Tire] セクションで、Tire Config 選択ボックスを使って、最初に作成した Tire Config Data Asset を割り当てることができます。

TireConfig.png

最終結果

ここまでで車輪の様々なプロパティを車輪に指定するために使用できる Wheel ブループリントをセットアップし、Tire Config Data アセットをセットアップしました。次のステップでは、引き続きビークルを構成する必要なアセットを作成します。ビークルで必要なすべてのアニメーション情報 (タイヤのスピン、ステアリング、サスペンションなど) を処理する Animation ブループリントを作成します。

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

ここまでで、TireConfig Data アセットと Wheel ブループリントを作成しました。これは、後で Vehicle ブループリントと合わせて使用します。このステップでは、ビークルの車輪で必要なすべてのアニメーションを操作するAnimation ブループリントを作成します。

Animation ブループリント

Animation ブループリントは ビークル スケルタルメッシュのアニメーションを制御して、タイヤのスピン、サスペンション、ハンドブレーキ、ステアリングなどのビークル固有のアニメーションを持たせます。こうしたアニメーション作成のための作業の負担を減らすために、Wheel Handler ノードを使ってアニメーションを操作することができます。

Wheel Handler ノード

Animation ブループリントはビークルのためにアニメーションを取得し制御するために使用しますが、Wheel Handler ノードはビークルのためにアニメーションのすべてを追加の設定をせずに非常に簡単に制御します。車輪から必要な情報 (スピンの速さ、ハンドブレーキの影響の有無、車輪のサスペンション設定) を簡単に集めます。そして、そのクエリ結果を車輪が関連付けられているボーンのアニメーションに変換します。

wheelHandler02.png

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

  1. コンテンツ ブラウザ で、 [Add New (新規追加)] ボタンをクリックします。次に Animation にマウスをかざして、メニュー リストから [Animation Blueprint] を選択します。

  2. [Create Animation Blueprint] ウィンドウでビークル リストから 使用する スケルトンを選択します。[Ok] をクリックします。

    または、スケルタルメッシュから直接 Animation ブループリントを作成することもできます。これを行うには、コンテンツ ブラウザ で、Create > Anim Blueprint の順に選択します。

    newAnimBP.png

  3. 作業する Animation ブループリントが用意できたので、それを コンテンツ ブラウザ で選択して、ダブルクリックして開きます。メイン ツールバーで [Class Settings] を選択し [Details] パネルで [Parent Class][VehicleAnimInstance に設定します。

    AnimBPParentClass.png

    適切な [Parent Class (親クラス)] に設定しないと、後でこのガイドで必要になるノードを利用できません。

  4. Anim Graph で右クリックしてコンテキスト メニューを呼び出し、Mesh Space Ref Pose ノードを検索します。それを、リストから選択して作成します。

    meshSpace.png

  5. 次に Anim Graph で右クリックしてコンテキスト メニューを呼び出し、Wheel Handler を検索し、リストから選択し、作成します。

    wheelHandler01.png

  6. 以下のように Anim Graph のノードを接続してください。

    animBPanimGraph.png

  7. オプションでストラットの追加や他のサスペンションのニーズ (Vehicle Game の Buggy のようなもの) があれば、こうしたポリゴンに影響を与えるジョイントを処理するため任意に Animation Graph にノードを追加する必要があります。Vehicle Game の Buggy では、こうした追加のジョイントは車輪へのアクセルの接続を制御するために使います。こうしたジョイントは単純な Look At ノードによって動きますが、車輪のジョイントが与えられると、Wheel Handler ノードによって操作され、Look At ノードによって、サスペンションが車輪に確実にアタッチされる状態を保つようにします。

    fullVehGameAnimBP.png

最終結果

これで Animation ブループリントのセットアップが終了しました!Component to Local 変換ノードが自動的に作成されて、Animation ブループリントがビークルの車輪を操作します。次のステップで、これまで作成したものをまとめる Vehicle ブループリントの作成方法を説明します。

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

ここまでで、数種類のアセットを作成しました (TireConfig Data アセット、 Wheel ブループリントおよび Animation ブループリント)。これをまとめて Unreal Engine 4 で動作するビークルを作成します。このステップでは以前作成し、セットアップしたアセットを使って Vehicle ブループリントを作成します。

Vehicle ブループリントの作成と編集

  1. コンテンツ ブラウザ で、[Add New (新規追加)] ボタンをクリックします。次にメニューから [Blueprint Class] を選択します。

  2. [Pick Parent Class] ウィンドウで "wheel" に対する 全クラス 検索で [WheeledVehicle] を選択します。

  3. コンテンツ ブラウザ に新規 Blueprint アセットが作成されます。後で簡単に見つけられるようにわかりやすい名前を付けてください。

    newVehicle.png

  4. コンテンツ ブラウザで、新規作成した Vehicle ブループリントを選択して開きます。

    MyVehicleBP.png

  5. [Components Window]Mesh という名前の Skeletal Mesh コンポーネント 上でクリックします。次に [Details] パネルで、[Skeletal Mesh] 選択ボックスをビークルの独自の Skeletal Mesh アセットに設定します。

    ComponentsWindow.png

  6. Anim Blueprint Generated Class をこのガイドのステップ 2 で作成したビークルの Animation ブループリントに設定します。

    AnimBPandSkelMesh.png

  7. [Components] ウィンドウに戻り、[Add Component (コンポーネントを追加)] ボタンを選択して、 Camera コンポーネント を選択します。

    addCamera.png

  8. ブループリント エディタのビューポートを使ってビークルに対して必要な場所にカメラを配置します。以下の画像では、カメラはビークルの後ろの少し上側に配置され、ビークルに向かって下方に傾いています。

    cameraPlacement.png

  9. Camera コンポーネントを選択した状態で ([Details] パネルの [Camera Settings] で)、[Use Pawn Control Rotation] のオプションを無効にします。これにより、カメラを (プレイヤー コントローラの方向ではなく) 視線方向にロックします。

    cameraControllerOff.png

  10. 次に [Components] ウィンドウで [Vehicle Movement Component] を選択します。

    ComponentsWindow2.png

    [Details] パネルの [Vehicle Setup] セクションで [Wheel Setups] の隣の矢印を展開します。各車輪 (0-3) について以下のように設定します。

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

    • 車輪が制御するジョイント名に [Bone Name (ボーン名)] を設定します。

      wheelsSetup.png

      上の画像の Bone Name は、このスケルタルメッシュ固有のものです。Vehicle Game の Vehicle を使用している場合、このような Bone Names を使用することができます。

    車輪を割り当てた順序は、前輪であるか後輪であるかに関係なく、[Bone Name (ボーン名)][Wheel Class (車輪のクラス)] だけが影響を与えます。整理の目的上、車輪 (前輪、後輪) を一緒にまとめておくとよいでしょう。

    4 つよりも多く車輪が必要な場合、Wheel Setups プロパティの隣にある + アイコンをクリックして車輪を追加できます。

最終結果

この時点で、ビークルがミニバンよりも大幅に大きくないことを前提に、まずデフォルト値を使用するとよいでしょう。次のステップで、ビークルを適切にテストするために入力と制御をセットアップします。

5 - 機能をセットアップし、テストする

ここまでで、UE4 で車輪、アニメーション、Vehicle ブループリントを作成して十分に機能するビークルにするために必要なことをすべて行ってきました。残っているのは、ゲーム内で制御できるようにすることです。このステップでは、必要な軸マッピングとバインディングをセットアップする方法を説明し、ビークルを操作し、その機能を十分にテストできるようにします。

テスト目的でビークルをセットアップするにはいくつかの方法があります。ブランク プロジェクトのテンプレートで始めたことを前提としてビークルをコントロールするにはすべての入力を追加する必要があります。既存のテンプレートで始めた場合は、こうした軸マッピングの一部 (またはすべて) およびバインディングはすでにプロジェクトで利用可能な場合があります。

制御をセットアップする

  1. メイン メニューから [Edit] > [Project Settings] を選択して [Project Settings] ウィンドウを開きます。サイド パネルの [Engine] セクションから Input (入力) を選択します。

    input.png

  2. [Bindings ] メニューで、以下の制御をセットアップします (現在、リストされていない場合)。リストされていたら、ビークルが正しく動作するように、ここでリストされているものと同様であるかを確認するとよいでしょう。

    1. 最初に、 [Action Mappings (アクション マッピング)] プロパティの隣にある + 記号をクリックして、Action Mapping をセットアップします。

      1TF.png

    2. Action マッピング名を "NewActionMapping_0" から Handbrake名前変更 します。次にこのプロパティを展開して選択ボックスを使ってキー値を "None" から Space Bar に変更します。

      2TF.png

    3. 次に、 [Axis Mappings (軸マッピング)] プロパティの隣にある + 記号をクリックして、Axis Mapping をセットアップします。以下のように Axis Mapping が 2 つになるようにこのプロセスを繰り返します。

      3TF.png

    4. 最初の Axis Mapping を "NewAxisMapping_0" から Forward名前変更 します。次に 2 つめについても同じことを行い、"NewAxisMapping_1" から Right に名前変更します。

      4TF.png

    5. Forward Axis Mapping を 展開 します。次に + 記号を一回クリックして、"Forward" の下に Axis Mapping が 2 つあるようにします。1 つめの "None" を入力で W キーを使うように設定します。2 つめの"None" を S キーを使うように設定します。

      5TF.png

    6. Forward Axis Mapping の S キー入力の隣の Scale 値を -1 に変更します。

      6TF.png

    7. Right Axis Mapping を 展開 します。次に + 記号を一回クリックして、"Right" の下に Axis Mapping が 2 つあるようにします。1 つめの "None" を入力で D キーを使うように設定します。2 つめの"None" を A キーを使うように設定します。

      7TF.png

    8. Right Axis Mapping の A キー入力の隣の Scale 値を -1 に変更します。

      8TF.png

    Action Mapping と Axis Mapping を設定すると、バインディングは以下のようになります。

    SetupInputs.png

  3. これで、制御のセットアップが終了しました。これを使って実際に何かをやってみる必要があります。作成した Vehicle ブループリント を開き、Event Graph を探します。ここで、[Project Settings Input] セクションで作成した Axis event および Action event を呼び出すことができます。

    MyVehicleBP.png

  4. Event Graph でスロットルのセットアップに関して以下のように作成します。

    throttleBP.png

  5. Event Graph でステアリングのセットアップに関して以下のように作成します。

    steeringBP.png

  6. Event Graph でハンドブレーキのセットアップに関して以下のように作成します。

    handbrakeBP.png

最終結果

Input Event を追加した状態で、入力の動きを取り込む十分に機能するビークルが用意できました。次の最終ステップでは、ゲーム起動時にビークルのポーンをデフォルトのポーンとして使用する新規 Game Mode をセットアップします。

前のステップでは、Vehicle ブループリントのセットアップを終了し、適切に機能するために必要なすべての制御を割り当てました。この最後のステップでは、Vehicle ブループリントをゲームのデフォルト ポーンとして使用する新規 Game Mode をセットアップします。

このガイドを開始するときに、Blank Project Template を使わなかった場合、既に Game Mode が割り当てられていて、このステップで作成するものとコンフリクトすることがあります。以下のステップを使って新規 Game Mode を作成し、このガイドを通して作成したビークルでスポーンできるようにします。

新規 Game Mode を作成する

  1. コンテンツ ブラウザ[Add New] ボタンをクリックして、メニュー リストから [Blueprint Class] を選択します。

  2. [Pick Parent Class] ウィンドウで、[Game Mode Base] を選択します。次に [Select] ボタンをクリックして Game Mode ブループリントを作成します。

    newGameMode.png

  3. コンテンツ ブラウザ で Game Mode ブループリントをダブルクリックして開いて編集できるようにします。[Details][Classes] で、[Default Pawn Class] の隣で、ドロップダウンの選択肢から Vehicle Blueprint (ステップ 3 で作成したもの) を選択します。

    defaultPawnClass.png

    これを行うと、[Save] をクリックして、このウィンドウを [Close] できるようになります。

  4. メイン ビューポート ウィンドウの [World Settings] タブの [Game Mode] セクションで、[GameMode Override] をご自分の [Game Mode Blueprint] に設定します。

    setGameMode.png

最終結果

Play.png

以上です。エディタでプレイする (PIE) と、作成したビークルが自動的にスポーンされます。ここまでで UE4 で機能するビークルの作成に必要なすべてのことを学びました。このガイドで学んだ内容は以下の通りです。

✓ TireConfig Data アセットの設定方法
✓ 前輪と後輪に対して Wheel ブループリントを設定する方法
✓ 特にビークル用に Animation ブループリントをセットアップする方法
✓ スケルタルメッシュ、Animation ブループリント、および Wheel ブループリントを使って Vehicle ブループリントを設定する方法
✓ 軸マッピングとバインディングを設定してビークルを制御する方法
✓ 新しい Game Mode を作成し割り当ててビークルをスポーンする方法

Unreal Engine でのその他のビークル作業

ビークルに関するその他の情報については、以下のページをご覧ください。

Tags
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback