ビークルのアートのセットアップに基本的に必要なのは、スケルタルメッシュ です。ただし、ビークルのタイプによっては、サスペンションに特別な配慮が必要な場合があります。たとえば、戦車はサスペンションは隠れてしまうため、サスペンションの設定は必要ありません。しかし、サンプルの ビークル ゲーム 内のデューン バギーでは、むき出しになっているコンポーネントをリアルにシミュレートするために複数のジョイントが必要になります。
基礎原理
ビークルのメッシュは、X 軸上に沿って正の X 方向を向きます。
ご使用のモデリング ソフトウェアで、Unreal Engine で使用する車輪の半径を cm 単位で測定する必要があります。
この画像では、Maya の Distance Measurement ツールを使用して、車輪上の対向する 2 つの頂点間の距離に基づいて車輪の直径を測定しています。この値の半分が車輪の半径になります。
3D Studio Max の Helpers セクションに類似ツールがあります。
ジョイント
四輪車両で最低限必要なジョイント数は、5 です。ルートが 1 で車輪が 4 です。車輪とルートのジョイントは、X 軸が前方向、Z 軸が上方向になります。
これで Y 軸上を転がり、Z 軸で操作します。
その他のジョイントは適切に見えるように調整可能ですが、Animation ブループリント の Look At ノードなどは、X 軸が前方向であることを前提としています。
ビジュアルの不自然さを防ぐためには、車輪のジョイントを正確に中心にするようにします。コリジョン検知には、ビジュアル メッシュを使用しませんが、車輪メッシュが中央から外れていると、車輪が壊れているように見えます。
バインディング
Maya の 標準的なスムーズ バインド または 3Ds Max の スキン モディファイア を使用します。不自然な変形を生じることなく自由に回転できるように、1 つのジョイントのみに車輪のウェイトをかけるようにします。ショック アブソーバーやストラットには より詳細なスキニングを適用できます。
エクスポート
ビークルは、特定の配慮なく、スケルタルメッシュ としてエクスポートされます。
インポート
ビークルはスケルタルメッシュに標準の FBX を使用してインポートされます。インポータの [Create Physics Asset (物理アセットを作成)] オプションを有効にする必要があります。
物理アセット
ビークル 物理アセット は、Unreal Engine でのビークルの適切なシミュレーションに必要です。スケルタルメッシュを最初にインポートする際、Unreal Engine は自動的に物理アセットを作成することができます。コンテンツ ブラウザ で、デューン バギー 物理アセット をダブルクリックして開きます。
生成されたビークルの物理アセットが表示されます。Unreal が、各ジョイントにスキニングされた頂点をどのようにラップしようとしているかを確認してください。ただし、手動でボディを作成することで、物理シミュレーションの品質を向上させることができます。
左側の [Skeleton Tree (スケルトン ツリー)] パネルに移動し、ツリー上のすべての物理ボディを選択します。右クリックして [Delete (削除)] を選択します。
物理ボディの作成のセットアップ
[Skeleton Tree] パネルで、設定 アイコンをクリックしてメニューを開き、[Show All Bones (すべてのボーンを表示)] を選択します。
これで、スケルタルメッシュのすべてのボーンが表示されます。
ボディのコリジョンを作成する
次に、デューン バギーのボディの物理ボディを作成します。
[Tools (ツール)] パネルに移動し、[Body Creation (ボディ作成)] セクションで [Primitive Type (プリミティブ型)] ドロップダウンをクリックします。[Box (ボックス)] を選択します。
[Skeleton Tree] パネルに移動し、ルート ジョイントを右クリックして、[Add / Replace Bodies (ボディを追加/置き換える)] を選択します。これで、バギーのボディにボックス形状の物理ボディが追加されます。
その後、新しい物理ボディを 移動、回転、スケール させると、バギーのボディの形状をさらに整えることができます。
作成された物理ボディは、スケルタルメッシュのその他の部分に対して作成されたコンストレイントと物理ボディの階層のルートになります。
車輪のコリジョンを作成する
先ほどと同じ手順で、車輪用の物理ボディを作成します。
[Tools (ツール)] パネルに移動し、[Body Creation (ボディ作成)] セクションで [Primitive Type (プリミティブ型)] ドロップダウンをクリックします。[Sphere (球体)] を選択します。
[Skeleton Tree] パネルに移動し、車輪ジョイントを選択します。右クリックして、[Add Replace/Bodies (ボディを置き換え/追加)] を選択します。
新しく作成した車輪用の物理ボディを選択し、右クリックして [Physics Type (物理タイプ)] > [Kinematic] を選択します。
[Physics] セクションの [Details] パネルから [Physics Type] を変更することも可能です。
これは、車輪がビークルの領域に影響を及ぼすために必要です。これにより、シャドウとカリングが正確に生じるようにし、さらに、ゲーム開始時に、車輪がビークルから 転がり落ちないようにします。
車輪の物理ボディは、コリジョンには使用されません。車輪は環境と相互作用するためにレイ キャストを使用しています。
[Skeleton (スケルトン)] パネル内のすべてのジョイントとボディを選択し、下の [Graph (グラフ)] パネルを確認してください。ビークル内のすべての物理ボディと物理コンストレイントの関係がわかります。
今後に向けて
これは、インポートされたビークル メッシュのシンプルなセットアップにすぎません。ビークル ゲームでバギーの物理アセットを確認すると、次のようになります。
車輪がワールド内のオブジェクトを通り抜けてクリッピングしないようにするため、ビークルの側面に沿って追加のボディが使用されています。独自のビークルをインポートする場合、シミュレーションで望ましい結果を得るために、ボディを追加する必要がある場合があります。