第5回ue4ハンズオンセミナー

89
第5回 関西 Unreal Engine 4 ハンズオンセミナー

Transcript of 第5回ue4ハンズオンセミナー

Page 1: 第5回ue4ハンズオンセミナー

第5回関西 Unreal Engine 4ハンズオンセミナー

Page 2: 第5回ue4ハンズオンセミナー

自己紹介

HN : alwei

Twitterよくやっています。@aizen76

ゲーム業界でプログラマーを8年ほど。

今はフリーで様々なお仕事を受けています。

趣味で絵とかも描きます。モデリングも練習中。

Wii Uのスプラトゥーンに大ハマり中…夏コミヤバい。

UE4に関する事であれば何でもやりますので、いつでも声かけてください。

Page 3: 第5回ue4ハンズオンセミナー

Unreal Engine4(通称UE4)って?

アメリカ合衆国ノースカロライナ州にあるゲーム会社、

エピック・ゲームズが長年開発しているゲームエンジン。

歴史を辿れば既に20年ほどの歴史がある、最古参のゲームエンジン。

去年のGDC2014で最新版のUE4が一般公開されて、

今年のGDC2015でUE4の使用が完全にFree(無料)に!

作ったゲームを販売した場合にのみ5%のロイヤリティーがかかります。

それでも3ヶ月で3000$を越えなければロイヤリティーなし。

Page 4: 第5回ue4ハンズオンセミナー

UE4の国産ゲームの採用例

キングダムハーツ3 (スクウェア・エニックス)

鉄拳7 (バンダイナムコエンターテインメント)

ストリートファイターV(カプコン)

LET IT DIE(ガンホー・オンライン・エンターテイメント)

シェンムー3(YsNet)

等々…現在進行形で採用例が増えています。

今日は皆さんに既にインストールされているUE4を使って、

1本ゲームを作っていこうと思います!(最新版のUE4.8.1を使用)

Page 5: 第5回ue4ハンズオンセミナー

サードパーソン テンプレート

まずはUE4.8を起動

サードパーソンテンプレートで始めます

Page 6: 第5回ue4ハンズオンセミナー

その前にご自身のパソコンスペックが厳しい場合には、以下の部分を選択し、『ハイエンド』を『スケーラブルな3D・2D』に。更に『デスクトップ/コンソール』を『モバイル/タブレット』に。スターターコンテンツは有りのままにしておいてください。プロジェクト名は自由につけてください。

Page 7: 第5回ue4ハンズオンセミナー

モバイル/タブレットに設定した方

そのままだとマウス入力がタッチ扱いになります。メニューから『編集』→『プロジェクト設定』→『インプット』→ 『Use Mouse for Touch』のチェックを外しておいてください。

これで入力が『デスクトップ/コンソール』を選んだ時と同様のものになります。

Page 8: 第5回ue4ハンズオンセミナー

ついでにノード名を英語化

同じようにメニューから『エディタの環境設定』を開き、『Use Localized Graph Editor Nodes and Pins』のチェックを外します。これでブループリント上のノード名が全て英語になり、わかりやすくなります。

Page 9: 第5回ue4ハンズオンセミナー

プロジェクトが起動したら…余計なものを消しておきます。階段とか、文字とか、?のアイコンとか。選択後にDeleteキーで削除。

Page 10: 第5回ue4ハンズオンセミナー

影が残った!?

一度焼き付いた影が残ったままになります。

ツールバー上にある『ビルド』ボタンでライティングビルドを行い、影を再度焼き直します。これで余計な影はなくなります。

Page 11: 第5回ue4ハンズオンセミナー

まだ動作が重いという方

最終手段ですが、ツールバーから『設定』の中にある、『描画レベルをプレビュー』→『モバイル/HTML5』を選択してみてください。シェーダーコンパイルが走り、しばらく時間がかかります。

これで描画が一気に軽くなりますが、モバイル品質になってしまうために動的影がなくなったり、一部マテリアルの互換がなくなってしまうため、たまに見た目がおかしくなってしまう事もあります。

とりあえず軽くなればいいという方向け。

Page 12: 第5回ue4ハンズオンセミナー

ここからゲームを作っていきます

目標は3Dパーソンシューティング。

プレイヤーキャラクターを操作(WASDで移動、スペースでジャンプ)し、マウスでカメラを操作、マウス左クリックでショットを撃ちます。

敵はランダムに生成され、それぞれはAIを使ってプレイヤーに近寄ってきます。プレイヤーにぶつかるとプレイヤーのライフポイントを奪い、プレイヤーのライフポイントが0になった時点でゲーム終了です。

プレイヤーはショットで敵を倒しながら、スコアをどこまで稼げるかという、サバイバルタイプのゲームになります。

スコアとライフはUIとして表示され、ゲームは何度もリトライできるようになっています。

Page 13: 第5回ue4ハンズオンセミナー

まずは武器の弾を作成

『新規追加』から『ブループリント クラス』を選択し、親クラスを『Actor』にします。作成したBPは『PlayerShotWeapon』という名前にしておきます。

Page 14: 第5回ue4ハンズオンセミナー

コンポーネントを追加する

作成したブループリントを開きます。ファイルを開いたらコンポーネントを追加しましょう。

『ParticleSystem』コンポーネントと『ProjectileMovement』コンポーネントを追加しておきます。

コンポーネントとは既に1つ以上の機能を持った、ブループリントクラスに追加できる汎用パーツの事です。

他にも様々な便利なコンポーネントがあります。

Page 15: 第5回ue4ハンズオンセミナー

パーティクルエフェクトを追加

『ParticleSystem』を選択したまま、右側の詳細から『Template』の横の画像の赤い部分を選択。

『P_Fire 』というエフェクトを選択します。上手く追加できれば炎のエフェクトが表示されるようになります。

Page 16: 第5回ue4ハンズオンセミナー

プレイヤーから撃てるようにする

プロジェクト設定からインプットで、Bindingsを追加します。

『Action Mappings』を選択して、『+』ボタンを押してアクションを追加。

『Shot』という名前に変更してから、『Mouse』の中から『マウスの左ボタン』を探して選択します。

Page 17: 第5回ue4ハンズオンセミナー

ブループリントから発射させる

『ThirdPersonCharacter』というブループリントを開きます。『イベントグラフ』内で右クリックから検索メニューを表示させてノードを検索します。『ActionEvent』の『Shot』と『GetActorTransform』と『SpawnActor Player Shot Weapon』のノードをそれぞれ呼び出して、画像のように繋ぎます。『SpawnActor~』のClassには『Player Shot Weapon』クラスを選択します。

Page 18: 第5回ue4ハンズオンセミナー

プレイすると…

弾は発射できるが、何かおかしい…

Page 19: 第5回ue4ハンズオンセミナー

弾の速度と重力を設定する『PlayerShotWeapon』のブループリントを開きます。『ProjectileMovement』コンポーネントを選択したまま、『詳細』からProjectileの項目を弄ります。

『Initial Speed』を『2000』に。

『Max Speed』も『2000』に。

『Projectile Gravity Scale』は『0』にします。

Page 20: 第5回ue4ハンズオンセミナー

再度プレイ…

弾が飛んだぁーーー!!

ヽ(*゚∀゚ *)ノ

Page 21: 第5回ue4ハンズオンセミナー

もう少し派手にしたい

お好みでどうぞ

パーティクルを複製してみたり パーティクルのスケールを大きくしてみたり

Page 22: 第5回ue4ハンズオンセミナー

ついでに弾の寿命を設定

コンポーネントで『PlayerShotWeapon』を選択したままにするか、『クラスのデフォルト』を選択。『詳細』のActorの項目内にある、『Initial Life Span』を『3』に設定します。

これで弾は生成後、3秒後に自動で消滅します。

Page 23: 第5回ue4ハンズオンセミナー

更に効果音も設定してみる

『Audio』コンポーネントを追加。 詳細の『Sound』に『Explosion_Cue』を設定。

Page 24: 第5回ue4ハンズオンセミナー

敵を作る

弾と同じように新規ブループリントを作成します。

今度は親クラスを『Character』クラスに。

名前は『EnemyCharacter』に変更します。

Page 25: 第5回ue4ハンズオンセミナー

メッシュを設定する

『Mesh』を選択しておきます。詳細の『Skeletal Mesh』を変更。『SK_Mannequin』に修正。

Page 26: 第5回ue4ハンズオンセミナー

メッシュの位置と向きを修正

ロケーション(位置)のZを『-90』、ロテーション(向き)のZを『-90』に。

これでコリジョンの位置とほぼ重なり、正面向きで動くようになります。

Page 27: 第5回ue4ハンズオンセミナー

敵のアニメーション設定とマテリアル

『Anim Blueprint Generated Class』を『ThirdPersonAnimBlueprint』に修正。これでアニメーションができるようになります。

ついでにマテリアルを修正すると、見た目が変わってプレイヤーと見た目の違いがついてわかりやすくなります。

自由なマテリアルを設定してください。もし見た目が変わらなくても、一旦ウィンドウを閉じてから開き直すと、しっかりとマテリアルが反映されます。

Page 28: 第5回ue4ハンズオンセミナー

試しに一体配置してみる

コンテンツブラウザからドラッグ&ドロップするだけで配置が可能。

Page 29: 第5回ue4ハンズオンセミナー

ここで弾のあたり判定を追加

『PlayerShotWeapon』のブループリントを開いて、『Sphere Collision』コンポーネントを追加。

中心に透明な球体のようなものが見えていればOK。詳細の中の『Sphere Radius』の値を変えるとあたり判定も大きくなります。

Page 30: 第5回ue4ハンズオンセミナー

敵側のあたり判定

今度は『EnemyCharacter』を開きます。

『CapsuleComponent』を選択して、右クリック→『イベントを追加』→『OnComponentBeginOverlapを追加』を選択。

Overlapというのは見えないコリジョン同士が重なった時に発生する呼び出しのイベント。

Beginは重なった瞬間、Endは離れた瞬間に発生。お互いにOverlap用のあたり設定を持っていないとこのイベントは発生しないので、注意。

Page 31: 第5回ue4ハンズオンセミナー

弾と当たったかを確認する追加された『OnComponentBeginOverlap』の『Other Actor』ピンを引っ張って、ドラッグ&ドロップで操作します。そして『cast to PlayerShotWeapon』と入力。この操作をしないとこのノードはでてこないので注意してください。

Page 32: 第5回ue4ハンズオンセミナー

ノードを呼び出して接続する

更に3つのノードを呼出します。『Spawn Emitter at Location』、『GetActorTransform』、『Set Life Span』を1つずつ。そして『Emitter Template』には『P_Explosion』を設定します。これでヒット時に爆発エフェクトが発生するようになります。『Set Life Span』はヒット後、0.2秒後に自滅する設定となります。

Page 33: 第5回ue4ハンズオンセミナー

GetActorTransformを分解する

構造体ピンは右クリックから要素を分解して取り出すことが可能。

分割して、『Spawn Emitter at Location』の『Location』と『ROtation』に繋ぎましょう。

Page 34: 第5回ue4ハンズオンセミナー

これで敵が倒せるように!!

ボーーーンッ!!

\(^o^)/ ヤッタネ

Page 35: 第5回ue4ハンズオンセミナー

ここからは敵のAIを作成

AIを動かすには、様々な設定が必要です。

ナビゲーションメッシュ、AIController、ビヘイビアツリーなど、様々な新しいものがでてきますので、焦らずに落ちついてやっていきましょう。

今回はあくまでも最低限の手順でAIを動かせるようにしています。

わからないところがあれば随時聞いてください。

Page 36: 第5回ue4ハンズオンセミナー

ナビゲーションメッシュを作成

敵が移動できるように『Nav Mesh Bounds Volume』をレベル上に配置します。これでAIを使った時にナビゲーションメッシュを使っての移動が可能になります。

Page 37: 第5回ue4ハンズオンセミナー

ナビゲーションメッシュを全体に

配置した『Nav Mesh Bounds Volume』をスケーリングで大きくしてマップ全体に広げておきます。

ここで『P』キーを押してみて、地面が緑色に染まっていれば正常にナビゲーションメッシュが生成できていることが確認可能です。

小さすぎると正しくナビゲーションメッシュが機能しない事があります。ちゃんと動かない時にはボリュームサイズを大きくしてみてください。

Page 38: 第5回ue4ハンズオンセミナー

AIControllerとビヘイビアツリー作成

新規ブループリント作成で、『AIController』をメニューから検索して作成します。名前は『EnemyAIController』にします。

更に新規アセット作成で『その他』から、『ビヘイビアツリー』を作成します。名前は『EnemyBT』にします。

Page 39: 第5回ue4ハンズオンセミナー

ビヘイビアツリーとは?

別名『振る舞い木』。

その名の通り、振る舞い(ここではタスク)をツリー上に並べていき、視覚的にAIの動きを作っていくという仕組み。

ステートマシンと並び、AIを作るためのメジャーな手法で、日本ではアーマード・コアなどのゲームで採用されているとか。

Page 40: 第5回ue4ハンズオンセミナー

AIControllerからビヘイビアツリーを起動

『EnemyAIController』を開き、イベントグラフ内へ移動します。

『Event BeginPlay』から、『Run Behavior Tree』を呼出します。

『BTAsset』から作成した、ビヘイビアツリー、『EnemyBT』を選択します。

これでビヘイビアツリーが使えるように。

Page 41: 第5回ue4ハンズオンセミナー

EnemyAIControllerを設定『EnemyCharacter』を開きます。『クラスのデフォルト』を設定したまま、『Pawn』の中の『AI Controller Class』を選択し、ここに作成した『EnemyAIController』を設定しておけばOKです。

Page 42: 第5回ue4ハンズオンセミナー

新規ブラックボードの作成

今度は作成したビヘイビアツリー『EnemyBT』を開きます。ツールバー上に『新規ブラックボード』というボタンがありますので、ブラックボードを作成します。ブラックボードというのはAIにとっての記憶領域(メモリー)にあたる部分です。

Page 43: 第5回ue4ハンズオンセミナー

ブラックボードにキーを作成

ブラックボードの名前は『EnemyBlackboard』に変更しておきます。今度は『新規キー』を作成し、『TargetPoint』という名前で、『Key Type』を『Vector』にします。

『TargetPoint』はAIが移動する際に使用する移動対象地点となります。

Page 44: 第5回ue4ハンズオンセミナー

新規タスクの作成

再びビヘイビアツリーアセット『EnemyBT』を開きます。『新規タスク』から新規のビヘイビアツリーのタスク用ブループリントが作成されます。コンテンツブラウザから名前を『BTTask_FindTarget』という名前に変更します。

Page 45: 第5回ue4ハンズオンセミナー

タスクの中身を作成

『BTTask_FindTarget』を開いて、『TargetPoint』という名前で変数を作成。

変数の種類を『Blackboard Key Selector』に変更します。『編集可能』のチェックボックスにチェックをつけます。

Page 46: 第5回ue4ハンズオンセミナー

タスクの中身を作成

以下のようにノードを組んでいきます。特に『Finish Execute』のSuccessのチェックボックスがついていないと、この後に正しく動作しないので、十分に注意してください。

このタスクでプレイヤーキャラクターの位置を探しだし、ブラックボードの値に書き込みます。

Page 47: 第5回ue4ハンズオンセミナー

ビヘイビアツリーとブラックボードの関連付け

ビヘイビアツリーとブラックボードを関連付ける必要があります。『詳細』の『Blackboard Asset』で作成した『EnemyBlackboard』を選択してください。これでビヘイビアツリーとブラックボードが関連付けされます。

Page 48: 第5回ue4ハンズオンセミナー

ビヘイビアツリーの中身を作成

いよいよビヘイビアツリーの中身を作成します。再度『EnemyBT』を開きましょう。

始めは『ROOT』ノードしかありません。赤く囲っている部分を引っ張って、ノード検索します。

ビヘイビアツリーでは『Selector』と『Sequence』というノードが主に分岐を担当するノードになっています。

今回は最もシンプルな形で作成するので、『Sequence』ノードを使います。

Page 49: 第5回ue4ハンズオンセミナー

タスクノードを呼び出し

『Sequence』ノードを作成後、左から『BTTask_FindTarget』、『Move To』、『Wait』というタスクを作成します。

タスクにブラックボードの値が設定されているか確認をしてください。『TargetPoint』が指定されていればOKです。

ノードの右上に数字がありますが、これがタスクの実行される順番です。本来は分岐が入りますが、今回は最もシンプルに左から右へと流れるだけにしています。

Page 50: 第5回ue4ハンズオンセミナー

これでAIが動く!

上手くいけば『プレイ』するだけで敵がずっと追いかけてきます。

上手くいかない場合はナビゲーションメッシュのボリュームサイズを大きくしてみる、タスクの『FinishExecute』のSuccessのチェックボックスがついていないか等、確認してみてください。

そしてもう一度全体の手順の見直しを。

Page 51: 第5回ue4ハンズオンセミナー

ここから…

プレイヤーのライフと敵を倒したスコアがUIとして表示される。

敵にタックルされるとプレイヤーがダメージを受ける。

敵を倒すとスコアが加算される。

敵を4箇所からある程度ランダムに出現させる。

ライフを全て失なうとゲームオーバー。

リセットを押すと強制リセット。

焦らずにやっていきましょう。

Page 52: 第5回ue4ハンズオンセミナー

プレイヤーのライフを作成プレイヤーキャラクターである『ThirdPersonCharacter』にライフ用の変数を追加します。ブループリントを開いて、『LifePoint』というFloat型の変数を追加。『編集可能』のチェックボックスにはチェックをいれておきます。『Life Point』のデフォルト値は『1.0』に設定しておきます。

Page 53: 第5回ue4ハンズオンセミナー

ウィジェットブループリント作成

新規で『ユーザーインターフェイス』から、『ウィジェットブループリント』を作成します。

名前を『GameUI』というファイル名にします。

Page 54: 第5回ue4ハンズオンセミナー

ゲーム用UIの作成ファイルを開くとUIをデザインするための画面が開きます。

Page 55: 第5回ue4ハンズオンセミナー

プログレスバーを作成『共通』から『Progress Bar』をD&Dで画面の左上に配置します。適当に大きさを拡大して、長さを調整します。

Page 56: 第5回ue4ハンズオンセミナー

プログレスバーにバインドをする

プログレスバーを選択したままで、『詳細』の『Progress』内の『Percent』をバインドします。『バインディングを作成』してください。

Page 57: 第5回ue4ハンズオンセミナー

ウィジェットのブループリント

バインドすると専用のブループリントが開きます。下記の画像のようにブループリントを組んでいきます。赤の部分はD&Dから検索しないと出現しないので気をつけてください。

Page 58: 第5回ue4ハンズオンセミナー

レベルブループリントを開く

ツールバー上から『レベルブループリントを開く』でレベルブループリントを開きます。

レベルブループリントには『GameUI』のウィジェットを追加するためのノードを組んでいきます。

Page 59: 第5回ue4ハンズオンセミナー

ウィジェットをゲーム上に追加レベルブループリントに下記のノードを追加していきます。『Create Widget』の『Class』を『GameUI』に修正します。『Add to Viewport』は『Return Value』ピンからのD&Dで検索してください。

Page 60: 第5回ue4ハンズオンセミナー

プレイしてみよう

ゲーム上にゲージ出現!

Page 61: 第5回ue4ハンズオンセミナー

敵にタックル攻撃のコリジョン

『EnemyCharactr』を開きます。『コンポーネントを追加』から、『Sphere』コリジョンを追加します。

大体画像の位置までコリジョンを動かして位置を調整します。

Page 62: 第5回ue4ハンズオンセミナー

コリジョンイベントを追加

『Sphere』コンポーネントを右クリックして『イベントを追加』、『OnComponentBeginOverlapを追加』。

オーバーラップとはコリジョン同士が重なった時に発生するイベントの事です。

これでプレイヤーと重なった時にダメージを発生させます。

Page 63: 第5回ue4ハンズオンセミナー

タックルでダメージを与える

『OnComponentBeginOverlap』から下記のようにノードを組んでいきます。赤丸の部分はD&Dしてから検索をしてください。『LifePoint』は最大で『1.0』なので、『0.1』ずつ引き算していきます。

Page 64: 第5回ue4ハンズオンセミナー

タックルでダメージ!

敵からタックルされると、ゲージが減ります。

Page 65: 第5回ue4ハンズオンセミナー

スコアを作成

スコア管理用のブループリントを作ります。

新規ブループリントを作成します。親クラスに『GameState』を指定して、『選択』をします。

ファイル名を『MyGameState』に変更します。

Page 66: 第5回ue4ハンズオンセミナー

MyGameStateを使用できるようにする

メニューから再度、『プロジェクト設定』を開きます。

『マップ&モード』を選択して、『Game State Class』を選択します。

リストにある、『MyGameState』を選択するとゲーム中に使用可能になります。

Page 67: 第5回ue4ハンズオンセミナー

Score変数を追加『MyGameState』を開いて、変数を追加します。『Score』変数を追加して、『Int型』に変更します。『編集可能』にチェックをいれます。

Page 68: 第5回ue4ハンズオンセミナー

UIにスコアを追加

スコアを追加するために『GameUI』を開きます。今度はデザイナー画面で『Text』を2つD&Dで配置します。

Page 69: 第5回ue4ハンズオンセミナー

テキストの変更とバインド片方のTextを『SCORE :』に変更し、もう片方は適当な数値を入力しておきます。配置を調整しながら、数値を入れた方のTextを『バインディングを作成』しておきます。

Page 70: 第5回ue4ハンズオンセミナー

スコアのノードを設定

バインドして開く先で下記のようにウィジェットブループリントを組みます。赤丸の部分はD&Dしないとでないことに注意してください。『ToText』は直接『Score』ピンから『Return Value』ピンに繋ぐと自動で出現します。

Page 71: 第5回ue4ハンズオンセミナー

敵を倒したらスコアを足す『EnemyCharacer』のブループリントを開きます。さきほど敵を倒した処理を作成したので、最後に作った『Set LifeSpan』ノードの後に、下記のノードを足していきます。赤の部分にはD&Dしてから検索してください。

Page 72: 第5回ue4ハンズオンセミナー

敵を倒すと…

スコアが増えたッ!!

Page 73: 第5回ue4ハンズオンセミナー

敵をランダムで出現させる

敵をランダムに出現させるブループリントを作成していきます。

新規ブループリントを作成し、親クラスを『TargetPoint』にして『選択』。

ファイル名は『EnemySpawnPoint』にします。ファイルを開いて、イベントグラフのウィンドウを開いておきます。

Page 74: 第5回ue4ハンズオンセミナー

ランダムで出現させるために

『Event BeginPlay』から開始します。

『Delay』ノードに対して、『Random Float in Range』ノードで『Min』に『2』、『Max』に『5』を入れておきます。

これで、2秒から5秒の間でランダムに出現することになります。

Page 75: 第5回ue4ハンズオンセミナー

敵を出現させる処理

『Delay』の後に敵を出現させる処理を作成していきます。

『Spawn AIFromClass』ノードがAIを持つ敵キャラクターを生成します。『Pawn Class』に『Enemy Character』、『Behavior Tree』に『EnemyBT』をそれぞれ設定してください。

あとは『GetActorLocation』と『GetActorRotation』からそれぞれ、位置と向きをとってきて、そのままノードピンを接続していきます。

Page 76: 第5回ue4ハンズオンセミナー

処理を無限ループさせる

Rerouteノードを少し上の位置に追加して配置します。

下記のように『Spawn AIFrom Class』のお尻と『Delay』の頭のピンにそれぞれ繋げます。これで処理は無限にループしてくれます。

Page 77: 第5回ue4ハンズオンセミナー

EnemySpawnPointを配置するカメラを真上の位置にして、下に向けた時に以下の赤丸の位置に、『EnemySpawnPoint』を配置します。高さも必要に応じて調整してください。

Page 78: 第5回ue4ハンズオンセミナー

プレイすると…

敵がランダムに出現して大量に襲ってくる…!!

Page 79: 第5回ue4ハンズオンセミナー

ゲームオーバー画面の作成

ゲームオーバー画面を作成します。『GameUI』を開き、『Text』を大体真ん中の位置に配置します。

Page 80: 第5回ue4ハンズオンセミナー

表示の調整『Text』を『GameOver !!』に変更します。『Color and Opacity』の『G』と『B』を『0』にします。『Font』の数値を『60』にします。

Page 81: 第5回ue4ハンズオンセミナー

可視状態の設定

普段は文字は見えないようにするために、『Visibility』を『Hidden』に変更します。

そのまま右にあるバインドを選択し、『バインディングを作成』を選択します。

Page 82: 第5回ue4ハンズオンセミナー

可視状態変数を作成

バインディング後、自動でグラフ画面に移動します。

可視状態を管理する変数『Visible』を新規作成します。『変数の種類』を『ESlate Visibility』型に変更します。

この変数で可視状態を決めることになります。

Page 83: 第5回ue4ハンズオンセミナー

可視状態の制御そのままグラフ内に下記のようにノードを作成していきます。いつものごとく、赤の部分はD&Dから検索して呼び出してください。

これでライフポイントに応じて処理を分岐させます。

Page 84: 第5回ue4ハンズオンセミナー

可視状態の制御『Branch』以降の続きです。ライフがなくなった場合、プレイヤーは入力を無効化するために『Disable Input』を呼び出します。その後に表示を『Visible』に切り替えます。そうでない場合はずっと『Hidden』を設定しておきます。

Page 85: 第5回ue4ハンズオンセミナー

可視状態の制御

ラストです。最後は『ReturnNode』の『Return Value』に、『Visible』変数の値を渡してあげるようにして完了です!

Page 86: 第5回ue4ハンズオンセミナー

ライフがなくなると…

GameOverが表示され、入力ができなくなれば成功です!!

Page 87: 第5回ue4ハンズオンセミナー

最後にリセット機能を入れよう

ゲームオーバーになっても再開できるようにリセット機能を入れます。レベルブループリントから『R』キーイベントを配置し、『Open Level』をで『Level Name』に『ThirdPersonExampleMap』を設定します。

これで『R』キーを入力するとゲームをリセットできます!

Page 88: 第5回ue4ハンズオンセミナー

ゲームできたー\(^o^)/

これで一通りの機能が入ったゲームを作成できました。

あとは敵AIの待機時間や出現時間を調整してみたり、敵の速さなどを調整してみることでゲームバランスを調整してみましょう。

Page 89: 第5回ue4ハンズオンセミナー

今回学んだこと

弾の撃ち方、敵とAIの作成、UIの作成、攻撃コリジョンの作成、ランダム出現する敵の作り方やスコア処理、ライフ処理、ゲームオーバー処理、などゲームに必要なものの作り方を一通り学んだことになります。

ここまでをしっかりと理解できていればかなりのゲームに応用することが可能です。今回作ってみたものを家で改造してみたり、別のゲームへと作り替えてみましょう。

楽しい勉強はまだ始まったばかりです!

一緒にUnreal Engine4を学んでいきましょう!

ノウハウはぜひネットなどで共有してください!