【UEチャレンジ企画】キャラクターや物体に動きをつける

【UEチャレンジ企画】キャラクターや物体に動きをつける

【UEチャレンジ企画】キャラクターや物体に動きをつける

初学者がUnreal Engineによるゲーム制作に100日取り組んで、どこまでプロの開発者に近づけるのかという本企画。今回は第四弾となります。

前回、『Unreal Engine 5で極めるゲーム開発』を読み始めました。今回はUnreal Engineで動きのある要素を実装するために、学習を深めています。

コンテンツ [表示]

  1. 1Unreal Engine企画第五弾!
  2. 2キャラクターや物体に動きをつける!
  3. 3物体に動きをつける
  4. 4キャラクターを動かす
  5. 5今後の目標:ブループリントの理解を深める

Unreal Engine企画第五弾!


Unreal Engine100日チャレンジに挑戦している、neruです。

本企画は、Unreal Engineの初学者である私が、100日でどれだけのものを作れるのかというチャレンジ企画です。

初回の記事で、本企画の詳細と、筆者の経験値がどの程度なのかを説明しています。
 

あわせて読みたい
【UEチャレンジ企画】Unreal Engine100日チャレンジ開始!最初の一歩のイメージ
【UEチャレンジ企画】Unreal Engine100日チャレンジ開始!最初の一歩
初学者がUnreal Engineでゲーム制作に100日取り組んで、どこまでガチになれるのかという企画!今回は初回の記事となります。 ダウンロードからさっそく最初の壁にぶち当たる筆者。最初のゲーム作成までを記事にしました。

 

前回の記事では、『Unreal Engine 5で極めるゲーム開発』という書籍を読み始め、本格的な学習を開始しました。

モデリング機能を活用して地形や物体を作成し、当たり判定を設定することで、ゲームの基本的な舞台を作ることができました。

あわせて読みたい
【UEチャレンジ企画】書籍を読んで学ぶ!モデリング機能で物体を作るのイメージ
【UEチャレンジ企画】書籍を読んで学ぶ!モデリング機能で物体を作る
初学者がUnreal Engineによるゲーム制作に100日取り組んで、どこまでプロの開発者に近づけるのかを試す本企画。今回は第四弾となります。 前回、Epic Games公式のチュートリアルを見て学習を進めた筆者。今回は『Unreal Engine 5で極めるゲーム開発』という書籍を読み、Unreal Engineについての知識を深めました。


今回は、さらにゲームとして楽しめる要素を追加するため、動きのある要素について学習を進めました。

キャラクターや物体に動きをつける!


前回の記事では、モデリング機能やコリジョン設定などを通じて、様々な物体や地形を作ることを学習しました。

その結果、以下のようなステージを作成し、ゲームの舞台となる場所を構築することに成功しました。
 

 

ただし、今回製作したこのワールドは、このままではゲームとしてプレイすることができません。物体に動きをつけることができていないからです。

現段階では、ゲーム内の物体が動くこともありません。また、キャラクターとのインタラクションを起こしたり、操作によってギミックを作動させたりといったことができません。

やはりゲームとしてはいろいろな仕掛けを用意して、プレイが楽しめるようにしたいです。

今回はゲーム内の要素を動かす方法を学んで、ゲームプレイの根幹となる部分の制作方法を学んでいきます。

また、キャラクターの操作についても、学習を深める必要があります。

前回は、キャラクターの見た目のデータを取り込むことはできましたが、それを操作することはまだできません。

また、敵などのプレイヤーキャラクター以外のキャラクターを動かす方法についても知識がありません。

今回の学習では、ゲームとしてやりごたえのあるものを作るために、移動やジャンプなどの操作ができるようにしていきます。また、動く敵キャラクターも作っていきます。

 

物体に動きをつける

 

まず学んだのが、ゲーム内の物体の動かし方です。

これまでのチャレンジでも、物体の動かし方について、触れたことがあり、動く床を作ることに成功しました。「猫でも分かる UE4を使ったゲーム開発」というチュートリアルを見て学習しました。
 

 

今回はより本格的に物体の動かし方について学びました。

例えば、物体を回転させる方法について学び、以下のような動きを実装しています。なお、ガトリング砲のモデルは書籍のリンクからお借りしました。
 

 

今度はギミック制作に移ります。

前回の記事ではとげの床を作りましたが、この段階では、床に当たっても何も起きません。床を踏むと、ゲームオーバーになる仕組みを実装したいです。

 

とげの床。現段階では触れても反応しない。

 

そのようなギミックを作るためには、ブループリントを使ってプログラムを組む必要があります。

学習したのは、プレイヤーキャラクターと物体が接触した際に、何らかの処理を実行する方法です。

以下のようなブループリントを組むことで、とげを踏んだ時にゲームオーバーになる仕組みを作ることができました。
 

ダメージ判定のプログラム

 

Event Hitと書かれている赤いノードは、物体と接触したときに反応します。画像ではこのノードをApply Damage(ダメージを与える)というノードにつなげることで、接触時にダメージを与える処理を実現しています。
 

このように、Unreal Engineではノードを組み合わせることで様々な動きを実現できます。

現段階では知っているノードが少ないので簡単な仕組みしか作れませんが、様々な種類のノードを知っていけば、面白い仕組みも作っていけそうです。

これで物体に動きを設定して、ゲームとしての仕組みづくりの一歩目を踏み出せました。
 


 

キャラクターを動かす

ゲームをプレイしている様子

 

次に、キャラクターの動かし方を学習します。今回学んだことは以下の二点です。


一つは、プレイヤーの操作を受け取って、プレイヤーキャラクターを動かす仕組みづくりについてです。もう一つが、敵キャラクターを動かす方法についてです。

まずは、プレイヤーキャラを動かせるようにしました。こちらも、「猫でも分かる UE4を使ったゲーム開発」である程度は触れていましたが、改めて理解を深めました。

前回のチャレンジでは、Unreal Engineにデフォルトで入っているマネキンを動かすだけでしたが、今回はインポートしたキャラクターを動かすことに成功しました!
 


まだアニメーションをつけることができていないので、キャラクターがTポーズのまま平行移動するという何ともシュールな絵面ですが……。見た目はともかく、ゲームをするうえで最低限のアクションはできるようになりました。

 


プレイヤーキャラクターの操作はできたので、今度は敵キャラクターの動きを作りました。Unreal Engine 5には、敵キャラクターを制作するうえで非常に便利な機能があります。簡易的なAIを使って、自動的にキャラクターを動かすことができます。


 

 

少し設定するだけで、このように特定ポイントを巡回する動きを作れました。

AIと聞いて難しそうなイメージがありましたが、今回のようなシンプルな動きなら、初心者である私でも実装でき、驚きました。

この動きを実装するためには、マップ上に透明な箱のようなものを設置し、巡回するエリアを設定します。

その後、巡回してほしいポイントに透明なマーカーを設置し、ブループリントでプログラムを組めば、最短の移動ルートを計算して自動的に移動してくれます。
 

当たり判定を設定している様子


オレンジ色の箱が巡回エリアの設定。

巡回ポイントの設定

オレンジ色の4つのポイントを設定。このポイントを通過するように巡回する。

プログラミングのフロー


巡回を命令するプログラム。「AI Move To」というノードで自動的に最短距離を移動してくれる。

 



Unreal Engine 5には難しそうなイメージがあったのですが、簡単な操作で複雑な動きを実現する機能があり、いい意味で予想を裏切られました。

これで、敵キャラクターの動きも設定することができました。
 


 

今後の目標:ブループリントの理解を深める

的に刺さっている矢

 

今回のチャレンジで、物体とキャラクターに動的な仕組みを追加して、インタラクションを起こせるようにできました。

一方、今回追加した仕組みは単純なもので、より複雑なギミックを作ることはできていません。ブループリントへの理解もまだ不十分です。

次回以降、ブループリントをより深く学習して、複雑な仕組みを作れるようにしていきたいです。

条件分岐や変数など、プログラムを学ぶ上で必須の知識について学んでいきます。

Unreal Engine 100日チャレンジは今後も継続します。

引き続きどうぞよろしくお願いします!


 

neru
ライター

neru

大学生時代に英文学を専攻していたライターです。学生時代からゲームやVtuberといった領域に興味を持っており、情報収集をしてきました。現在は英語のスキルを活かしつつ、英語×エンタメ最新領域を掛け合わせたリサーチ活動や、記事執筆を行っています。好きなものはラーメン、サッカー観戦、音楽鑑賞。

おすすめの記事

Recommended Articles
  • ゲーム企画の伝え方 〜より良い企画を作成するために抑えるべきポイント〜

    2024.02.13

  • 【完全版】ChatGPTを使いこなすための汎用プロンプト16選

    2024.03.22

  • ChatGPTを使ったゲーム企画書の書き方|すぐに使えるプロンプトと実例

    2024.03.22

リンクと画像の例

Risdom事前登録受付中!

Sample Image

タワーオフェンスゲーム「Knightcore Kingdom(ナイトコアキングダム)」日本上陸!

タワーオフェンスゲーム「Knightcore Kingdom(ナイトコアキングダム)」