読者です 読者をやめる 読者になる 読者になる

妹でもわかるUnrealEngine4

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

毎日更新? 妹に説明するために書いてるけど、たまにわかってない場合もあるUnrealEngine4を中心としたゲーム制作の話。略すとイモリアル

OpenAssetOrgのアセットで2Dゲームを作る⑭ 爆発させる

2Dゲーム Paper2D UE4.14

f:id:una_unagi:20170110230235g:plain

妹「なんでこの人爆発するの?」

「シューティングとはそういうものなんじゃないかと思って。血まみれにするのもアレだし」

妹「それはアレだけど……」

opengameart.org
f:id:una_unagi:20170110225628p:plain

「爆発の絵は、背景のブロックや矢と同じ、DungeonCrawlアセットを使ってる」

妹「このアセットなんでもあるね」

「爆発のアセットはよく使われるから、他にも色々あるんだけどね。ライセンスがややこしかったり、加工しないとUE4ではそのまま使えなかったりするから、安定して使えそうなのは少ない」

妹「加工しないと使えないとは不便な」

f:id:una_unagi:20170110232155p:plain

「例えばこういう感じで、枠線で区切ってあるタイプのスプライトシートにUE4は対応してない。数字指定で細かく指定すれば出来なくはないけどつらい。対応してるソフトなら枠線の内側を自動的にパパッと取り込んでくれるんだけど」

f:id:una_unagi:20170110225641p:plain
f:id:una_unagi:20170110225634p:plain

「で、今回の仕組みとしては、Destroyした時に何らかのアクターをスポーンするコンポーネントと、PaperFlipbookを再生して消えるだけのアクターの組み合わせで爆発させてる。本当はちゃんとアニメが終わったタイミングとか調べた方がスマートなんだけど、めんどくさかったので適当に設定した」

妹「これダメージ受けるのとは別のコンポーネントなんだ」

「そこは難しい問題。今回はOnDestroyedバインドしてるけど、敵のアクターをしばらく残したままで爆発したい場合はこの方法使えない。そういう爆発させたいタイミングとDestroyさせるタイミングが違う場合は、ダメージ処理の中でスポーンさせる方が早いと思う」