アルゴンUE4/UE5&アプリ開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE4番外編】ぷちコン第15回に参加しました!

ゲーム制作を行いました(^◇^)

ぷちコン第15回で制作したゲームの制作過程とか、

どんな形で実装したのかや反省点などを紹介します!

作ったゲームはこちらになります!

ゲーム画面

www.youtube.com

ゲームはこちらからダウンロードできます。

※1.85GBと重たいのでご注意ください・・・

www.dropbox.com

UE4.26.1で紹介しています。

※誤字脱字・間違いなどありましたらコメントのほうもよろしくお願いします!!

キャラクターの動き

キャラクターはBlenderで作成しています。

AnimationBPなどはブレンドスペースを用いています。

ステートはこの一つだけです(;・∀・)

AnimationBPのステート

イベントグラフではYawとBoostの値をキャラクターBPから受け取り、

その値を元にアニメーションさせています。

AnimationBPのイベントグラフ

AnimationBPに関しては以上になります。※少ない(;・∀・)

CharacterBPの方でキャラクターの動作などを作っています。

まずキャラクターのマテリアルの変更を行っています。

季節の数値を取得してSwitchでそれぞれの季節用のマテリアルに変更しています。

CharacterBPの季節ごとのマテリアル変更

マテリアルの変更についてはマテリアルのパラメーターの値を変更して対応してます。

マテリアルの値の変更

他のエフェクトの画像も変更したりしています。

エフェクトで使用している画像の変更

キャラクターの動きなどはインプットの値を元にどちらに移動するか設定し、

その値に対して移動する量の数値とアニメーションの数値を割り当てています。

処理の流れは下記になります。

1.キャラクターが存在しているかチェック

2.入力されているかチェック

3.入力されていたらその方向に移動しつつアニメーション

4.入力されていなくてアニメーションの途中だったら通常の状態に戻っていく

キャラクターの動きのノード

キャラクターの判定については当たったActorの名前を取得して
そこから判定を作ってみています。
当たり判定でキャストする必要がないなら

これでも問題ないかなと思い組み込みました。

キャラクターの当たり判定と音

ステージの作成

ステージでは横長のステージに季節ごとのオブジェクトを配置しています。

春のステージは下記のアセットを使用しています。

www.unrealengine.com

実際に作成したステージは下の感じになります。

桜が綺麗だったので他のゲーム開発で使いたいです!
※富士山も入ってます!

春のステージ用アクター

その他夏・秋・冬はセットで見つけた下記のアセットを使用して作成しています。

www.unrealengine.com

ステージを動かす仕組みは結構ざっくりしていて、

ステージが領域外に消えたら新たなステージを画面外に表示させるという流れです。

図解にするとこんな感じです。

ステージ移動のロジック図解

実際に作ったロジックはこんな感じです。

季節ごとのエフェクトやキャラクターの武器などもここで、

変更していたりするので若干スパゲティな感じになってます・・・

※もう少し分散して処理を作ったほうがいいです・・・(反省点)

各季節ごとのステージの動作

各種エフェクト

エフェクトの部分はアセットを一部改良した形となっています。

活用したアセットは下記になります。

www.unrealengine.com

docs.unrealengine.com

※Stylized Magic Trailsは実はUE4.26には対応していません・・・
 UE4.25のプロジェクトを先に入れてプロジェクトをアップデートして使用しました。

 やり方はこちらになります。

argonauts.hatenablog.jp

MagicTrailsの方は改良して花吹雪が出るようにしました。

色とマテリアルを改良して結構きれいな感じになったかなと思っています。

Cascadeによる花吹雪

それ以外はエフェクトがとても良くできていたので、

あまり手を加えていません。
※色や雰囲気・テクスチャなどは変更していますが動作で大きく変更はしていません。

敵キャラ・ボスキャラの作成

敵キャラクターとボスキャラは手作りです。

こちらもBlenderを使用してモデリングをして、マテリアルを適応しています。

各種敵キャラクターのモデル

それぞれ特徴を持っていて一番左から、

・普通の射撃(3パターンの動作をしつつ自機に向かって弾を飛ばす)

・自機に向かって飛んでいきぶつかったら爆発するタイプ

・4方向から連続して弾を打ち続ける。

この3パターンの敵を出現ランダムで出現させています。

BOSSキャラクターも同様に自身で作成しています。

ボスキャラクター

ボスの動作は左右に移動しつつ、

ホーミングミサイルを発射したり通常の弾を発射します。

移動の処理は以下のとおりです。

※Event Tickを使わずにTimeLineで行ってみました。

ボス移動時の処理

射撃やホーミングの処理は以下になります。

通常の射撃時の動作

ホーミング弾のBP

最後に

今回ぷちコンに参加させていただきましたが反省点を少し・・・

・正直オリジナリティを出しきれなかった。

※色々準備不足でギリギリだったのでもう少しイメージを固めてから作る。

・処理をどう軽くするかとかこんな実装でも行けるのでは?を試しまくっていた。

※試すのは良かったんですがのめり込みすぎました。。。

 Tickを一切使わないとかTimelineとか関数とかイベントで代用できないかとか。

次参加するときはオリジナリティと見栄えの良さを挙げられたらなと思います。

ありがとうございました!!