ビークル アートの設定

Unreal Engine でビークルのアート アセットを設定する方法。

ビークルのアートのセットアップに基本的に必要なのは、スケルタルメッシュ です。ただし、ビークルのタイプによっては、サスペンションに特別な配慮が必要な場合があります。たとえば、戦車はサスペンションは隠れてしまうため、サスペンションの設定は必要ありません。しかし、サンプルの ビークル ゲーム 内のデューン バギーでは、むき出しになっているコンポーネントをリアルにシミュレートするために複数のジョイントが必要になります。

基礎原理

ビークルのメッシュは、X 軸上に沿って正の X 方向を向きます。

The vehicle mesh should face the positive X axis

ご使用のモデリング ソフトウェアで、Unreal Engine で使用する車輪の半径を cm 単位で測定する必要があります。

measure the radius of your wheels

この画像では、Maya の Distance Measurement ツールを使用して、車輪上の対向する 2 つの頂点間の距離に基づいて車輪の直径を測定しています。この値の半分が車輪の半径になります。

3D Studio Max の Helpers セクションに類似ツールがあります。

ジョイント

四輪車両で最低限必要なジョイント数は、5 です。ルートが 1 で車輪が 4 です。車輪とルートのジョイントは、X 軸が前方向、Z 軸が上方向になります。

The wheel and root joints should be aligned with X forward, Z up

これで Y 軸上を転がり、Z 軸で操作します。

その他のジョイントは適切に見えるように調整可能ですが、Animation ブループリントLook At ノードなどは、X 軸が前方向であることを前提としています。

ビジュアルの不自然さを防ぐためには、車輪のジョイントを正確に中心にするようにします。コリジョン検知には、ビジュアル メッシュを使用しませんが、車輪メッシュが中央から外れていると、車輪が壊れているように見えます。

バインディング

Maya標準的なスムーズ バインド または 3Ds Maxスキン モディファイア を使用します。不自然な変形を生じることなく自由に回転できるように、1 つのジョイントのみに車輪のウェイトをかけるようにします。ショック アブソーバーやストラットには より詳細なスキニングを適用できます。

エクスポート

ビークルは、特定の配慮なく、スケルタルメッシュ としてエクスポートされます。

インポート

ビークルはスケルタルメッシュに標準の FBX を使用してインポートされます。インポータの [Create Physics Asset (物理アセットを作成)] オプションを有効にする必要があります。

物理アセット

ビークル 物理アセット は、Unreal Engine でのビークルの適切なシミュレーションに必要です。スケルタルメッシュを最初にインポートする際、Unreal Engine は自動的に物理アセットを作成することができます。コンテンツ ブラウザ で、デューン バギー 物理アセット をダブルクリックして開きます。

Vehicle physics asset

生成されたビークルの物理アセットが表示されます。Unreal が、各ジョイントにスキニングされた頂点をどのようにラップしようとしているかを確認してください。ただし、手動でボディを作成することで、物理シミュレーションの品質を向上させることができます。

Physics asset created when the vehicle was imported

左側の [Skeleton Tree (スケルトン ツリー)] パネルに移動し、ツリー上のすべての物理ボディを選択します。右クリックして [Delete (削除)] を選択します。

Delete all the physics bodies

物理ボディの作成のセットアップ

[Skeleton Tree] パネルで、設定 アイコンをクリックしてメニューを開き、[Show All Bones (すべてのボーンを表示)] を選択します。

Select Show All Bones

これで、スケルタルメッシュのすべてのボーンが表示されます。

The bones are showing on the Skeleton Tree

ボディのコリジョンを作成する

次に、デューン バギーのボディの物理ボディを作成します。

  1. [Tools (ツール)] パネルに移動し、[Body Creation (ボディ作成)] セクションで [Primitive Type (プリミティブ型)] ドロップダウンをクリックします。[Box (ボックス)] を選択します。

    xxx

  2. [Skeleton Tree] パネルに移動し、ルート ジョイントを右クリックして、[Add / Replace Bodies (ボディを追加/置き換える)] を選択します。これで、バギーのボディにボックス形状の物理ボディが追加されます。

    Click Add / Replace Bodies

  3. その後、新しい物理ボディを 移動回転スケール させると、バギーのボディの形状をさらに整えることができます。

    Scale the physics body to match the shape of the buggy's body

作成された物理ボディは、スケルタルメッシュのその他の部分に対して作成されたコンストレイントと物理ボディの階層のルートになります。

車輪のコリジョンを作成する

先ほどと同じ手順で、車輪用の物理ボディを作成します。

  1. [Tools (ツール)] パネルに移動し、[Body Creation (ボディ作成)] セクションで [Primitive Type (プリミティブ型)] ドロップダウンをクリックします。[Sphere (球体)] を選択します。

    Change the Body Creation Primitive Type to Sphere

  2. [Skeleton Tree] パネルに移動し、車輪ジョイントを選択します。右クリックして、[Add Replace/Bodies (ボディを置き換え/追加)] を選択します。

    Select Add Replace/Bodies

    The wheel Physics Bodies are now created

  3. 新しく作成した車輪用の物理ボディを選択し、右クリックして [Physics Type (物理タイプ)] > [Kinematic] を選択します。

    Select Physics Type - Kinematic

    [Physics] セクションの [Details] パネルから [Physics Type] を変更することも可能です。

    Select Physics Type - Kinematic

    これは、車輪がビークルの領域に影響を及ぼすために必要です。これにより、シャドウとカリングが正確に生じるようにし、さらに、ゲーム開始時に、車輪がビークルから 転がり落ちないようにします。

    車輪の物理ボディは、コリジョンには使用されません。車輪は環境と相互作用するためにレイ キャストを使用しています。

[Skeleton (スケルトン)] パネル内のすべてのジョイントとボディを選択し、下の [Graph (グラフ)] パネルを確認してください。ビークル内のすべての物理ボディと物理コンストレイントの関係がわかります。

The Graph panel shows the relationship between bodies and constraints

今後に向けて

これは、インポートされたビークル メッシュのシンプルなセットアップにすぎません。ビークル ゲームでバギーの物理アセットを確認すると、次のようになります。

Physics Asset from the Vehicle Game

車輪がワールド内のオブジェクトを通り抜けてクリッピングしないようにするため、ビークルの側面に沿って追加のボディが使用されています。独自のビークルをインポートする場合、シミュレーションで望ましい結果を得るために、ボディを追加する必要がある場合があります。

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