ダリアメモ@ブログ

日々思ったことや自分用のメモも含めプログラムの技術を淡々と書いていきます

ぷちコンに参加しました!

今回、ヒストリアさんで行われたUnrealEngine4を使ったコンテストに参加しました。
今回は自分の振り返りやこの処理こんな風にやったよーみたいなことを書いていこうと思います。

今回出させて頂いた作品はバリフレクションというゲームとなります。
やることは敵の攻撃をバリアで跳ね返して敵を倒すのが目的となります。
これの前に音の反射を利用したゲームを作ろうとしてましたが、うまく形に出来ず、
その結果このゲームを作ろうとした時には時間が全然足りず、
実装に時間がかかってゲーム性に力を入れられなかったのが反省点です。


作品のベースはThirdPersonテンプレートを元にして作成しました
移動とカメラはそのままに、アクションとしてはバリアを張る機能を追加しただけとなります。


実際にやったこと


①敵が常にプレイヤーの方向に向くようにした


Find Look At Rotationを使って計算結果のRotationを取得し、SetWorldRotationでArrowコンポーネントを回転させることによって表現しました。
f:id:daria_sieben:20151010221421p:plain
Lookに自分を、Targetにプレイヤーを入れることで常にプレイヤーの方を向くようになります。
ただ、今のままだとプレイヤーが真下に行った時も敵が下方向に向いてしまう問題があります。
わかりにくいかもしれませんがこんな感じです。
f:id:daria_sieben:20151010220433p:plain

個人的に見栄えがよろしくない気がしましたので、
Yaw以外の値を0にすることによって敵が下を向かなくなりますので解決しました。


②敵の攻撃の反射


バリアに当たったら敵に向かって反射するようにしました。
Find Look At Rotationを使って敵の攻撃をLookにし、敵をTargetにして回転させて、GetActorFowardVectorで前ベクトルを取得して速度を設定し
ProjectileMovementのVelocityにセットしてやっています。
f:id:daria_sieben:20151010224830p:plain

以上となります。
実現できた要素が少ないので、書き込めることが全然なかったですが、
自分としては初コンテスト参加で色々と刺激になり、とても良い勉強になりました。

次回のぷちコンも参加する予定なので、
その時は相方と共に今回以上のゲームを作りたいと思います。