妹でもわかるUnrealEngine4

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

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

OpenAssetOrgのアセットで2Dゲームを作る(26) マウス押しっぱなしでの弾発射

f:id:una_unagi:20170222223913p:plain
f:id:una_unagi:20170222223921p:plain

「とりあえずUE4ぷちコン用のサプライズなネタも思いつかないことだし、とりあえず作ってたゲームの改良をしている」

妹「矢の量を増やしたの?」

「矢を増やしたというか、マウスクリックじゃなくて、マウスドラッグで発射するように変更した。押しっぱなしで、Tickのたびに新しい矢を発射する」

妹「矢撃つ時に、カチカチするのなんかめんどくさかったからね」

「元々こういう設計にしようと思ってたんだけど、やるのをすっかり忘れていた」

変更前
f:id:una_unagi:20170222224412p:plain

変更後
f:id:una_unagi:20170222224419p:plain

「こういう時にGateノードは便利。普通は切り替え用にBoolean変数作らないといけないし、その変数をどこで変更してるのかもわかりづらくなるんだけど、これなら1つのグラフ上に置けるから関係性がわかりやすい」

妹「でもこの仕組みだと、Tickの間隔が変わると矢の出方が変わるのでは?」

「固定フレームレートだからその心配はない。というか、こうしようと思ってたのもあって固定にした。もちろん設定値よりTickが遅くなる場合はあるんだけど、その場合敵の動きや出現も遅くなるから。矢も綺麗に揃った状態に見える」

妹「じゃあ固定じゃないフレームレートだとこの方法は使えないのか」

「出来なくはないと思うよ。ある程度のブレはあるものだと割り切っちゃえば。ただ綺麗に並んでるのが時々ズレるってのは違和感あるから、乱数で少しずつ弾の角度とか発射位置とか変えるとかしておけば、わりと自然になるはず」