物理コンストレイント プロファイルの適用方法

ブループリントによる物理コンストレイント プロファイルのスケルタルメッシュ コンポーネントへの適用方法の説明です。

前提トピック

このページは以下のトピックへの知識があることを前提にしています。まず以下のトピックの内容についてご確認をお願いします。

以下は、ポーンSkeletal Mesh コンポーネント物理コンストレイント プロファイル を有効にするためのシンプルなグラフ作成のステップです。

ステップ

  1. スケルタルメッシュ コンポーネントのある ブループリント を開く、または作成します。

    • ブループリントにスケルタルメッシュ コンポーネントがない場合は、 [Components] パネル を使って追加します。

    Open or create a Blueprint with a Skeletal Mesh Component

  2. スケルタルメッシュ コンポーネントの [Collision (コリジョン)] 設定を調整します。

    • [Collision Preset] を変更して、スケルトンメッシュコンポーネントで [Collision Enabled] になるようにする必要があります。ポーンカプセル(または他のジオメトリ)が存在する場合は、衝突設定に互換性があることを確認してください。例えば、ポーン のカプセルを使って、ポーン のコリジョンが無視されることを確認します。

      Adjust the Skeletal Mesh Component Collision settings

      この例では、[Object Type][Pawn] に設定されており、衝突チャネルのポーンを無視していることがわかります。こうすることで、スケルタルメッシュ がコリジョン カプセルから 出ようとする問題が修正されます。ただし、スケルタルメッシュ を別の ポーン と衝突させたい場合、自分の スケルタルメッシュ の Object Type を調整して、 その [Object Type] との カプセル の衝突方法を変更します。カスタム コリジョン チャネル の作成方法の詳細は、「カスタム仕様のオブジェクト タイプをプロジェクトに追加する」を参照してください。

  3. [Components] パネルPhysical Animation コンポーネント を ブループリントに追加します。

    Add a Physical Animation Component to your Blueprint using the Components Panel

  4. 名前 変数を追加し、「Bone Name」と名前を付けます。

    variable-name.png

  5. Bone Name 変数の値を設定できるようにコンパイルします。

    Compile so you can set the value of the Bone Name variable

  6. Bone Name Default Value を希望するターゲットの Bone に変更します。この例では spine_01 です。

    Change Bone Name Default Value to the desired target Bone

  7. イベントグラフ に切り替えます。

  8. Event BeginPlay イベントノードを検索、または作成します。

    Locate or create the Event BeginPlay event node

  9. Skeletal Mesh Component に参照を追加します。

    Add a reference to your Skeletal Mesh Component

  10. Set Constraint Profile for All ノードを追加します。

    • TargetSkeletal Mesh Component です。

    • Profile Name は、物理アセットツール (PhAT) で作成した (する) コンストレイント プロファイル の名前です。

    • Default if Not Found はオプションです。有効にすると、プロファイルにボーンが存在しない場合現在の設定を維持します。

    Add a Set Constraint Profile for All node

  11. Set Constraint Profile for All ノードに接続された Set All Bodies Below Simulate Physics ノードを追加します。

    • TargetSkeletal Mesh Component です。

    • In Bone Name は入力で Bone Name 変数を受け取ります。

    • New Simulate は有効にしなければなりません。

    • ターゲット ボーンとして spine_01 を使用しているので、Include Self は有効にしなければなりません。

  12. 最終的なグラフ

    Copy Node Graph

    Final Graph

    グラフには表示されない情報

    変数

    説明

    Bone Name

    spine_01

    Set All Bodies Below Simulate Physics node ノードで使用され、骨格メッシュのどの部分がシミュレートされるかを定義します。

    コンポーネント

    説明

    Skeletal Mesh Component

    コンストレイント プロファイルが適用されるコンポーネント。Character を継承する既存のブループリントから作業する場合は、「メッシュ」という名前になります。

結果

ゲームをプレイすると、コンストレイント プロファイル に引き継がれます。設定に応じて、キャラクターがばらばらになったり、組み込まれているモーターが腕を振り回したりします。

Result

このエフェクトを出すには、上腕のコンストレイントの [Linear Limits][Free] に設定します。

This effect was achieved by setting the Linear Limits on the upper arm constraints to Free

追加リソース

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