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

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

Windows
MacOS
Linux
前提トピック

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

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

ステップ

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

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

    addSkelMeshComp.png

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

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

      collisionSettings.png

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

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

    addPhysAnimComp.png

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

    variableName.png

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

    compile.png

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

    boneName.png

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

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

    eventBP.png

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

    addSKMPref.png

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

    • TargetSkeletal Mesh Component です。

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

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

    constraintProfNodeSettings.png

  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

    fullGraph.png

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

    変数

    説明

    Bone Name

    spine_01

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

    コンポーネント

    説明

    Skeletal Mesh Component

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

結果

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

result.png

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

achievedBy.png

追加リソース

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