【Unreal Engine】Physics Assetとラグドール:やられ演出を物理で作る

作成: 2026-07-23

倒した敵が棒立ちで消える問題を、ラグドール(物理で崩れ落ちる)で解決する入門。ラグドールの正体(アニメを止めて骨ごとの物理に切り替える)、Physics Assetとは何か、Blueprintでラグドール化する3点セット(Simulate Physics+Ragdollプロファイル+Movement停止)、Add Impulseで攻撃方向へ吹き飛ばす方法まで。撃った方向へ敵が崩れ落ちるやられ演出を作ります。

敵のHPをゼロにして、倒せるようになった。でも、倒した敵は棒立ちのまま、その場でスッと消えるだけ。せっかく 当たった手応え を作り込んでも、最後の「倒れる」瞬間が味気ないと、撃破の爽快感が半減します。

この「倒れる」を物理で作るのが ラグドール です。アニメーションを止めて、骨ごとの物理ボディに切り替えると、敵は撃った方向へ吹き飛び、地形に沿って自然に崩れ落ちます。この記事では、その土台になる Physics Asset の見方から、Blueprintで敵をラグドール化して吹き飛ばすまでを、やられ演出を作りながら解説します。

撃たれた敵がアニメから物理に切り替わり、攻撃方向へ崩れ落ちるラグドールのイメージとソフトブルーのクレイ人形

この記事でわかること

  • ラグドールの正体: アニメを止めて骨ごとの物理に切り替える
  • Physics Asset とは何か(骨に付いたカプセルの集まり)
  • Blueprintでラグドール化する 3点セット
  • Add Impulse で攻撃方向へ吹き飛ばす
  • 部分ラグドール・後始末の注意
  • 実践: 撃った方向へ敵が崩れ落ちるやられ演出

Sponsored

ラグドールの正体

ラグドールと聞くと難しそうですが、正体はシンプルです。 アニメーションの再生を止めて、キャラクターを「骨ごとの物理ボディの集まり」として物理シミュレーションに任せる こと、それだけです。

通常はアニメで骨が動き、ラグドール化すると各骨が物理ボディになって重力と衝突で崩れることを対比した図
  • 通常時: アニメーション(歩く・攻撃する)が、キャラクターの骨を動かしています。骨は決められたポーズをとります
  • ラグドール時: アニメを止め、各骨に付いた物理ボディが、 重力・衝突・加えられた力 で自由に動きます。関節でつながった人形が、力の抜けたように崩れます

だから「布人形(rag doll)」と呼ばれます。生きている間はアニメで制御し、死んだ瞬間に物理へ切り替える。この切り替えが、やられ演出の核心です。

Physics Assetとは

ラグドールを支えるのが Physics Asset です。これは、Skeletal Mesh と対になる資産で、 各骨に付いた物理ボディ(カプセルや箱)と、それらをつなぐコンストレイント(関節)の集まり です。

Physics Assetの中身。各骨にカプセルの物理ボディが付き、関節でつながっている様子をPhysics Asset Editorで示した図
  • ボディ(Body): 各骨を包むカプセルや箱。これが衝突と物理の実体です
  • コンストレイント(Constraint): ボディ同士をつなぐ関節。曲がる角度の制限などを持ちます

Physics Assetは、Content BrowserでSkeletal Meshを右クリックし、 Create → Physics Asset → Create で自動生成できます。作ったら Physics Asset Editor を開き、シミュレート再生(Simulate)ボタンで、実際に崩れ落ちる様子を確認します。ここで、めり込んだり暴れたりする部分があれば、そのボディのカプセルの大きさや衝突を調整します。まずは自動生成のまま試し、おかしい所だけ直すのが早道です。

Blueprintでラグドール化する3点セット

いよいよBlueprintで、生きている敵を死んだ瞬間にラグドールへ切り替えます。ここで大事なのが、 3点セットを揃える ことです。1つでも欠けると、うまく崩れません。

ラグドール化の3点セット:Set Simulate Physics(true)・Collision ProfileをRagdollへ・Movementを止める、を並べた図
  1. Set Simulate Physics(true): Meshに対して物理シミュレーションをオンにする。これで骨が物理で動き出します
  2. Collision Profileを Ragdoll: Meshの衝突プロファイルを Ragdoll に切り替える。物理ボディが地面や壁と正しく衝突するようになります
  3. Movementを止める: Character Movementを止める(Set Movement ModeNone にするなど)。アニメ制御の移動と物理がケンカしないようにします

さらに、CharacterのCapsule Componentと物理ボディが衝突し合って暴れることがあるので、 ラグドール化する瞬間にCapsuleのコリジョンをOFF にすると安定します。この3点セット+Capsule OFFが、Blueprintラグドールの定番の形です。

Sponsored

攻撃方向へ吹き飛ばす

ただ崩れるだけでなく、 撃った方向へ吹き飛ばす と、やられ演出が一気に気持ちよくなります。これには Add Impulse を使います。

Add Impulseで、被弾した骨(Hit Bone)に攻撃方向×係数の力を加え、その方向へ吹き飛ぶことを示した図

Add Impulse は、物理ボディに 瞬間的な力 を加えるノードです。ラグドール化した直後に、これを呼びます。

  • どこに: Line Trace のHit Resultが持つ Hit Bone Name(当たった骨)を指定すると、当たった部位に力が加わります
  • どちら向きに: 攻撃の方向(弾の飛んだ向きなど)× 係数(大きさ)を、力のベクトルとして渡します

これで、正面から撃てば仰向けに、背後から撃てばうつ伏せに、頭を撃てば頭から、と 当てた部位と方向で倒れ方が変わります 。Line Traceの記事で取得したHit ResultのBoneと方向が、ここでそのまま活きます。

部分ラグドールと後始末

全身ではなく、 一部の骨だけを脱力させる こともできます。これが 部分ラグドール です。

Set All Bodies Below Simulate Physics を使い、ある骨(たとえば肩)より下だけを物理にすると、 腕だけがだらんと垂れる ような表現ができます。上半身は生きているのに腕は脱力、といった演出に向きます(まずは全身ラグドールに慣れてから挑戦すれば十分です)。

全身ラグドールは床に崩れ落ちるの�に対し、部分ラグドールは立ったまま指定した骨から下の腕だけが垂れることを左右で比較した図

そして忘れてはいけないのが 後始末 です。ラグドールは骨ごとに物理計算が走るので、死体を大量に残すと重くなります。

  • 基本: 倒れてから数秒後(例:8秒)に、タイマーで Destroy Actor する
  • 残したいなら: 一定時間で物理をスリープさせる、残す死体の数に上限を設ける、といった対策で負荷を抑える

「倒した敵をいつまでも残す」は見た目には楽しいですが、パフォーマンスと引き換えです。基本はタイマーで消す、と考えてください。

Sponsored

実践:敵を吹き飛ばして崩れ落とす

ARPGの雑魚撃破、シューターのヘッドショット、乱闘アクションの吹き飛ばし。 「倒した敵が、撃った方向へ吹き飛んで崩れ落ちる」 は、撃破の爽快感を決める定番演出です。ここではその一周を、体力とダメージ の敵を流用して組みます。

作るのは、 HPがゼロになったら、敵がアニメから物理に切り替わり、被弾した方向へ吹き飛んで崩れ、8秒後に消える やられ演出です。

動かすとこうなります。敵を正面から撃つと、仰向けに崩れる。背後から撃つと、前のめりにうつ伏せに倒れる。頭を撃てば頭から崩れ落ち、当てた部位と方向によって倒れ方が毎回変わります。そして8秒後、死体は静かに消えます。

敵を正面から撃つと仰向け、背後から撃つとうつ伏せに崩れ、当てた方向で倒れ方が変わる様子を示した実例図

再現条件

項目設定
BP_Enemy(Character)Physics Asset を割り当て済みのSkeletal Mesh。体力とダメージ の死亡イベントを持つ
死亡イベントHPがゼロで HandleDeath を呼ぶ
攻撃側Line Trace でヒット判定。Hit Result の Hit Bone Name と方向を敵へ渡す
Collision ProfileMesh用に Ragdoll プロファイルが使えること(コリジョンプロファイル の下地)

ラグドール化の処理

HandleDeath の中で、AIと入力を止め、3点セットでラグドール化し、Impulseで吹き飛ばして、タイマーで消します。

上段「�アニメを止める」でHandleDeath→Stop AI Logic→Set Collision Enabled→Set Movement Mode、下段「物理に渡して、片づける」でSet Collision Profile Name→Set Simulate Physics→Add Impulse→Delay→Destroy Actorへ折り返す2段組みの完成ノードグラフ
BP_Enemy(イベントグラフ)
HandleDeath(Hit Bone Name, HitDirection を受け取る)
  → AIを止める(Stop Logic / Unpossess など)
  → Capsule Component → Set Collision Enabled(No Collision)
  → Character Movement → Set Movement Mode(None)
  // ① ラグドール3点セット
  → Mesh → Set Collision Profile Name("Ragdoll")
  → Mesh → Set Simulate Physics(true)
  // ② 吹き飛ばす
  → Mesh → Add Impulse(Impulse = HitDirection × 力係数, Bone Name = Hit Bone Name)
  // ③ 後始末
  → Delay(8.0)→ Destroy Actor

確かめる

Playして敵を撃ってください。うまくいけば、 正面から撃てば仰向け、背後から撃てばうつ伏せ に崩れ、当てた部位によって倒れ方が変わります。8秒後、死体は消えます。

うまくいかないときの切り分けです。

  • その場で棒のまま硬直するCollision Profileの切り替え忘れ が最有力。Ragdoll に切り替えているか、Set Simulate Physics(true) を呼んでいるか確認
  • 崩れるが吹き飛ばないAdd Impulse の力係数が小さすぎるか、Bone Nameが空。Hit Bone Nameが渡っているか確認
  • 崩れ方が暴れる・めり込む → CapsuleのコリジョンをOFFにしているか、Physics Assetのボディ調整(前述)を確認

ポイントは2つです。

  • ラグドールは3点セットで完成する: Simulate Physics・Ragdollプロファイル・Movement停止。1つでも欠けると崩れません。棒立ちならまずCollision Profileを疑ってください
  • 方向はLine Traceから、片づけはタイマーで: 吹き飛ぶ向きはLine Trace のHit Resultが供給し、死体はタイマーで消す。演出の気持ちよさとパフォーマンスは、この2つで両立します

おまけ:先に知っておくと良いこと

起き上がりは「戻す」処理が要る。 スタンから復帰させたいなど、ラグドールから元のアニメへ戻したい場合、Set Simulate Physics(false) にするだけだと、キャラが一瞬で参照ポーズへ カクッとスナップ します。自然に起き上がらせるには、倒れた姿勢を Pose Snapshot で記録し、Physics Blend Weight でアニメへ徐々にブレンドして戻す、といった一手間が要ります。まずは「倒れて消す」だけを作り、起き上がりはその先の課題にするのが現実的です。

当たった感じの延長として。 ラグドールは、ゲームフィールとヒットフィードバック の「当たった感じ」を、死亡演出まで延長するテクニックです。ヒットストップ・画面シェイク・ノックバックに、最後の「崩れ落ちる」を足すと、撃破の一連が完成します。

Physics Assetは使い回せる。 骨格(スケルトン)が同じキャラどうしなら、1つのPhysics Assetを複数のキャラで使い回せます。敵の種類ごとに作り直す必要はなく、骨格が同じなら共有できると覚えておくと、量産が楽になります。

まとめ

やられ演出のラグドールは、次の流れで作ります。

段階やること道具
土台骨に物理ボディを付けるPhysics Asset(自動生成→調整)
切り替えアニメを止めて物理へSimulate Physics+Ragdoll+Movement停止
吹き飛ばす攻撃方向へ力を加えるAdd Impulse(Hit Bone・方向)
片づける死体を消すタイマーで Destroy

そして貫く原則が、 生きている間はアニメ、死んだ瞬間に物理 という切り替えです。この一線を境に、キャラは制御された動きから、力の抜けた崩れへと変わります。

これで、倒した敵が棒立ちで消える味気なさから卒業できました。あなたのゲームの敵は、どの方向から、どんなふうに崩れ落ちてほしいですか。まずは正面から一発、撃ってみてください。

さらに学ぶために