ビークル (乗り物) アートの設定

Unreal Engine 4 でビークル (乗り物) にアートアセットを設定する方法

Windows
MacOS
Linux

ビークルのアートのセットアップで、基本的な最低必要条件は スケルタルメッシュ のみです。ビークルのタイプによって、どの程度複雑なアートのセットアップが必要であるかが決まります。 また、サスペンションには特別な配慮が必要な場合があります。戦車のサスペンションは隠れてしまう場合がほとんどなので、凝った設定をする必要はありません。 しかし、ビークルゲーム 内のデューンバギーなどの場合は、むき出しになっているコンポーネントすべてを本物のように動作させるために多くのジョイントが必要になります。

基礎原理

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

basics01.png

Unreal Engine 4 で使用するために車輪の半径をセンチメータ単位で測定する必要があります。

wheelRadius.png

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

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

ジョイント

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

wheelJnt.png

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

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

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

バインディング

Maya の標準的なスムーズ バインドまたは 3DS Max のスキンモディファイアです。不自然な変形を生じることなく自由に回転できるように、1 つのジョイントのみに車輪のウェイトをかけるようにします。ショックアブソーバーやサスペンションの場合は、 スキニングでこのような状態を回避できますが、アンリアルエディタ側で更なる見直しが必要となります。

エクスポート

ビークルは特に気にしなくても スケルタルメッシュ としてエクスポートできます。

インポート

スケルタルメッシュに対して、標準の FBX をインポートします。インポータに Physics アセット を作成させる場合もあるでしょう。

Physics アセット

PAicon.png

Physics アセットはビークルにとって非常に重要であり、見過ごしたり、スキップしたりできないものです。Unreal Engine 4 で最初に Physics アセットを作成したときは、 以下のようになるでしょう。

badPA.png

この図のようになるのは、物理アセットツール (PhAT) は、ジョイントにスキニングされた頂点をできる限りラップしようとするからです。実際のところ、これらをすべて削除し、再作成することになるでしょう。 なぜでしょう?現時点では、PhAT ではすべての物理ボディをまとめて保持するコンストレイントの再作成をうまく処理できません。そのため、中間の物理ボディを削除すると、 新規コンストレイントをその階層の上に作りません。ただし、すべての物理ボディを削除しルート ジョイントから最後までビルドすると、 すべてのコンストレイントが正確に作成されます。

[Hierarchy (階層)] ペインでは、[Shift] キーを押してすべてを選択して、[Delete] キーを押します。これで、アセットからすべての物理ボディが取り除かれます。

selectAllDelete.png

まず、ルート ジョイントから始めて、ビークルのジョイントで物理ボディの作成を開始します。物理的にシミュレートするか、またはビークルの境界に影響を与える必要がある物理ボディだけが ジョイント上で必要になります。

このバギーの場合、ルートのボックスと車輪の球体があれば開始するのには十分ですが、 望ましい動作をさせるには他の数多くの物理ボディが必要になります。

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

ビークルのルート用にボックスを作成するには、以下の手順に従います。

  1. [Hierarchy (階層)] ペインでルート ジョイントを 右クリック します。

  2. [Add Body (ボディを追加)] を選択します。

  3. [Collision Geometry (コリジョン ジオメトリ)]Box に設定します。

  4. [OK]クリック します。

    bodyToRoot.png

  5. これで、新しい物理ボディを 移動回転スケーリング させると、ビークルの形状をさらに整えることができます。

    newBodyBoxResultScaled.png

車輪のコリジョンの作成

車輪の球体を作成するには、以下の手順に従います。

  1. [Hierarchy (階層)] ペインで車輪のジョイントを 右クリック します。

  2. [Add Body (ボディを追加)] を選択します。

    bodyToWheel.png

  3. [Collision Geometry][Sphere (球体)]設定 します。

  4. [OK] をクリックします。

    spheres.png

  5. [Details (詳細)] ペインの [Physics Type (物理タイプ)] プロパティを [Kinematic (キネマティック)] に設定します。

    makeTheWheelsKin.png

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

    車輪の物理ボディはコリジョンのために使用されることは実際には決してありません。現在、車輪はワールドと相互作用するためにレイキャストを使用しています。

今後に向けて

これは単純なセットアップにすぎません。ビークル ゲームでビークルの Physics アセットを見ると、以下のようになります。

goodPA.png

車輪の外部では、すべてのコリジョン ボディはビークルのルート ジョイントに存在します。これにより、一部のゲーム エレメントで車輪が動かなくなるのを防ぎます。 また、車輪のメッシュが壁やレールを通り抜けてクリッピングするのを防ぎます。

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