とあるゲームプログラマの挑戦と敗北の歴史

UE4とプログラミングとmayaとpythonとhtmlとマラソンを中心に情報を発信する元「技術ブログを目指すブログ」から再始動した毎日の日々を発信するブログです。

UE4:非破壊メッシュのやりかた

非破壊メッシュにかんする
ApexDestructionプラグインを利用した
UE4標準の破壊表現のやり方のおぼえ書きです。

f:id:toncrimentan_w:20210311004309p:plain



プラグインの有効化
Apex Destructionプラグインを有効にし再起動します
f:id:toncrimentan_w:20210311001634p:plain



非破壊メッシュの作成
・破壊したいメッシュを右クリック
・非破壊メッシュを作成をクリックする
 (図ではSM_TableRoundを破壊する想定です)
・非破壊メッシュウィンドウが表示される
・フラクチャメッシュをクリックし割っておく。
メッシュが細かいと時間がかかります。
f:id:toncrimentan_w:20210311001857p:plain
・無事スタティックメッシュと同じフォルダにできています。
f:id:toncrimentan_w:20210311002006p:plain



壊れるアクターBPの作成
・コンテンツブラウザを右クリックし、ブループリントクラスを選択
・Actorのクラスを選択、
・壊す用のアクター(BP_Actor)を作成する
f:id:toncrimentan_w:20210311002133p:plain



壊れる前のスタティックメッシュの追加
作成したBP(BP_Actor)を開き
コンポーネントを追加を選択
・StaticMeshコンポーネントを追加
・スタティックメッシュに壊す前のメッシュ(SM_TableRound)を指定
f:id:toncrimentan_w:20210311002648p:plain



イベントグラフの作成
(図は一定時間後破壊する例)
・DestroyComponentノードで現在のStaticMeshコンポーネントを削除
・Add Componentと入力すると出てくる
 クラスごとにコンポーネントを追加ノード を作成する
・Classピンに DestructableComponent を指定し
 DestructableComponentを追加ノード に変化させる
・SetDistructibleMeshノードを作成し
 NewMeshピンには先ほど作成した非破壊メッシュ(SM_TableRound_DM)を指定
・ApplyDamageノードで一発ダメージを与えて壊すようにする
f:id:toncrimentan_w:20210311003353p:plain



レベルに配置しプレイすると
一定時間後ごらんのとおり破壊されます。
f:id:toncrimentan_w:20210311003433p:plain



おしまい。