ATMWRIによるUE5の記録

Unreal Engine 5 を使い始めました

アンリアルクエスト4にオンライン参加した(初級編)

先日開催されたアンリアルクエスト4「アンリアルエンジンを使って1日で作品を作ろう!」というイベントに参加した記録と感想

初級クエス

  1. 的を壊せ

    • 弾のBPにProjectileタグをつける
    • 的のBPでOn Component Hitイベントを使用、Actor has Tagで分岐
    • 弾が当たった時にはDestroyActor
  2. 的を動かせ
    SetActorLocationを使用してランダム指定したLocationにむけてEventTick毎にDirectionをNormalizeして変数MoveSpeedで移動する妙な方法しか思いつかなかった。後でInterpToMovementコンポーネントという便利な存在を知る

    • DetailからControl Pointsを複数設定可能
    • Behaiviour TypeをPingPongにする
  3. ゴールを作成せよ
    エディタ内のモデリングツールで外枠のリングと内側のエリアを作成した

    • 内側のメッシュのコリジョンOverlapAllDynamicにしてGenerateOverlapEventsをチェック
    • OnComponentBeginOverlapイベントでActorHasTagでPlayerを検出
    • Delay使ってGoalEvent発火
  4. 秒数が増える仕組みを作成せよ

    • EventTickDeltaSecondsを加算していく
  5. ステージを作成せよ
    エディタ内のモデリングツールを初めて使った。ワールド内に配置された既存のメッシュを選択して取り返しのつかない変更をしてしまう。メッシュに変な穴があいた

  6. 当たると死ぬ棘を作成せよ
    モデリングツールを使用して棘を作る。簡単そうだがメッシュが気のせいレベルで動いてまともに使えな・・・原因はマテリアルスロットになぜか入れてしまったvertex animationのあるAdvancedFlagだった

    • モデリングツールで作成したものをStatickMesh化、editorの最上部のActorメニューからConvert [xxx] to StaticMesh
    • OnComponentHitイベントでPlayerタグを検出してプレイヤーをcastして死亡イベントを発火させた。(インターフェースでやった方がいいのかな)
    • プレイヤーBPで死亡イベントはSetCollisionEnabledSetAllbodies SimulatePhysicsを使うといいらしい

感想

「これはこうやるんだよ」といった情報があれば1日でこなせる設定で、それらの情報を知らなかったら苦労するのを実感した。制限時間内に終わらせるには知らない事を一人考えこむより公式ドキュメント読んで検索するか他の人に聞いてどうにかするのが正解なんだろう。目の前の得体のしれないパラメータ総当たりして時間を浪費してしまう癖は直さないとなぁ