News Activity Product Learning red Event Contact
Devblog top img

開発ブログ

2018-02-25

破壊可能オブジェクトの作り方

UE4

writer : toppon

破壊可能オブジェクトの作り方

今回は、破壊可能オブジェクトというものを作っていきます!

破壊可能オブジェクトとは、ダメージを受けたときに、ばらばらになるオブジェクトのことです。

スタティックメッシュコンポーネントであれば何でも破壊可能オブジェクト化することができます。

早速、作っていきましょう!

まず、ファーストパーソンのテンプレートを開きます。

UE4.18からは、破壊可能オブジェクトのプラグインが無効化されて使えなくなっているので、プラグインを有効化して使えるようにします。

編集のPluginから、プラグイン画面を開いてください。

次に、Apex Destructionという名前のプラグインの下のenabledの箱をチェックします。

すると、エンジンの再起動が要求されるので、再起動してください。

次に、左にあるキューブを、下のコンテンツブラウザに移動します。ドラッグアンドドロップでコンテンツブラウザのところに追加してください。

追加したらできたCubeを右クリックして、

Create Destructible Meshを選択します。

だいぶ見にくい(と言うか見えない、、?)ですが、上にあるFracture Meshtと言うものを選んでください。
右のプロパティは、壊れ方に関するものです。

完了したら、上のExplode Amountというスライダをスライドすると、どのように壊れるかがわかると思います。

それが終われば、また、マップに戻ってください。

次に、先程作った破壊可能メッシュをマップに置きます。

次に、右にあるブループリントを作成というのを選んでください。

ここで、名前はそのままでブループリントを作成します。(もちろん名前を変えても構いません)

開いたら、イベントグラフに移動し、適当なところで右クリックをしてイベントHitを出します。

次に、ここから、自分の弾だけが壊せるようにしたいので、キャストノードで自分の弾だけを取るようにします。

cast to FirstPersonProjectileノードをつなげ、OtherとObjectを繋いでください。

ここから、自分の弾だったときのみ、ダメージを与えて壊そうと思うので、Apply Damageというノードを使います。

次に、ダメージを与える量として、Damage Amountを1に、そして当たった場所として、HitLocationとHitLocationをつなぎます。

次に、Otherから、Get Velocityというノードを出し、当てた弾の強さを求め、Impulse Dirにつなぎます。

次に、Get Velocityから、VectorLengthというノードにつなぎ、当てた強さを求め、Impulse Strengthにつなぎます。

これで試しに実行してみると、少し弱かったようなので、ダメージの量を増やします。

今回は、Damage Amountを10にしました。また、VectorLengthに何かをかけてからImpulse Strengthにつなげても、バラけ方を変えることができます。

こうして、銃で撃つと壊れる物体を作ることができました!