S大学ゲーム制作サークル
第一回
超初心者向けUE4チュートリアル(1)
Unreal Engine4とはなにか
• Epic gamesが開発したゲームエンジン。基本的に無料で使用出来る。
• 他のゲームエンジンと比較すると簡単にハイクオリティな画を作ることが
出来る。
• 一切コードを書かずBlueprintと呼ばれるビジュアルスクリプトで開発出
来るのが最大の特徴。
• C++を独自にカスタマイズしたUnreal C++で
コードを書いての開発も可能。
そもそもゲームエンジンとは
• ゲーム開発を効率よく進める為、ゲーム開発に関わる機能を集約、簡易化
したソフトウェアのこと。
• Unreal Engine4の他にUnity、GameMaker、CryEngine等が存在するが、日
本でゲームエンジンを用いての個人開発をするなら現状UnityかUE4の二
択。
Unityを採用しているゲーム
• 白猫プロジェクト
• スーパーマリオラン
• ポケモンGO
• Fate/Grand Order
• Cuphead
• その他多くのPC/モバイル向けゲーム
UE4を採用しているゲーム
• ドラゴンクエスト11(PS4/Switch)
• Final Fantasy Ⅶ R
• ドラゴンボールファイターズ
• サマーレッスン
• Fortnite
• PUBG
• Etc.
UE4 vs Unity
Unityの特徴
• C#で開発。
• ユーザーが圧倒的に多いので情報が豊富。
• モバイル向けの開発は現状Unityの方が簡単?(要検証)
• UE4より動作が軽い。
• アセットストアが充実している。素材がなければ金を使って買えることも多い。
UE4の特徴
• BlueprintかC++で開発。
• AAA級タイトル開発も可能。
• 簡単にリアルな画を作れる。
• FPS,TPSゲームを作るのはとても簡単。
• Blueprintが超優秀。やりたい機能を気軽に試せる。
• 最近スマホ向け開発も進んでいる。
結論
好きなの使え!
なぜ今回UE4を使うのか
• プログラミング未経験者でもBlueprintには小難しい文法がなくとっつきや
すい。
• 最初から綺麗な画が表示されるので感動する。モチベーションが高まる。
• UE4ユーザーが少ないのでもっと増えて欲しい。
• 私がUnity触ったことな(ry
覚えていてほしいこと
• 今回は生協パソコン程度のスペック(メモリ8GB,オンボードGPU)でも動
作するよう設定を下げて使います。本当に使えるかどうか事前に検証もし
ています。
• UE4本来の綺麗な画、エフェクトを出すには生協パソコンでは厳しいです。
これは3D開発をするのであればUnityを使うにせよ他のゲームエンジンを
使うにせよ「基本」同じです。
• 本格的に3Dゲームを開発したくなったら可能であれば良いPCを買って下
さい。環境設定に時間を取られる程無駄な時間もありません。
ここから本編
前提条件
• UE4.19.1のインストールが完了している。
• 事前に配布したプロジェクトをダウンロード、解凍している。
• WindowsPCを使用している。(MacでもUE4は機能するようですが今回配
布したプロジェクトはWindowsで制作されている為、Macで動作するかは
保証していません。
今回完成させるゲーム
• 動画
ThirdPerson Templateを立ち上げる
• Epic GamesLauncherを立ち上げる。
• 起動ボタンを押す。
ThirdPerson Templateを立ち上げる
• New Projectを選択。ThirdPersonを選択する。
• 保存先を任意の場所に変更する。
• Nameを”ThirdPersonTemplate”に
変更。
• With Starter Contentになっている
ことを確認。
• パソコンのスペックが厳しい場合
は Desktop/Console -> Mobile/Tablet
に、Maximum Quality -> Scalable 3D
or 2Dに変更する。
• Create Projectを選択。
ThirdPerson Templateを立ち上げる
• Playを押す。
ThirdPerson Templateを立ち上げる
• WASDで前後左右に移動。
• マウスでカメラ操作。
• Spaceでジャンプ。
• Escでゲーム画面を
抜けられる。
• 操作を確認したらウイ
ンドウを閉じる。
こんな感じで
• UE4にはあらかじめ基本的な機能、アニメーションを内包したテンプレー
トがいくつか存在。これを眺めているだけで十分勉強になる。
• 最近1200万ドルを稼ぎ出したゲーム、Paragonで実際使用されたアセット
が無料公開された。他にもEpic社自ら実際のゲームで使用されたハイクオ
リティなアセットがあり、それらは
マーケットプレイスからダウンロー
ド可能。
事前にDLしたプロジェクトを起動する
• 配布したファイル(URL: )を解凍したか確認する。
• 中に入っている”GameCircleProject001”を開く。
その中から”GameCircle001.uproject”を押すとプロジェクトが起動する。
配布したプロジェクトについて
• ThirdPerson Templateを少しだけいじってある。
• 違いはレベル上に配置されていた不要な足場を削除してあったりプレイ
ヤーの開始位置が変更してあったりすること。今回使用する3Dモデルや、
実装に少し手間の掛かるゴールオブジェクトをあらかじめ作成して保存し
てあることくらい。
UE4の軽量化
• こちらのブログを参考に。配布したプロジェクトは既に設定を済ませてあ
ります。
UE4 エディター動作を極限まで軽くしてみる
エディタ画面の説明
①
②
③
④
⑤ ⑥
⑦
①メニューバー
②モードパネル
③コンテンツブラウザ
④ツールバー
⑤ビューポート
⑥ワールドアウトライ
ナ
⑦詳細パネル
使いながら覚え
ていけばいい!
基本的な操作方法(ビューポートの操作)
• マウス左ボタン+上下移動 → カメラを水平に移動
• マウス左右ボタン or 中ボタン+左右移動 → カメラを左右に水平移動
• マウス左右ボタン or 中ボタン+上下移動 → カメラを上下に鉛直移動
• マウス左ボタン+左右移動 → カメラを左右に回転
• マウス右ボタン+上下左右移動 → カメラを上下左右に動かす
基本的な操作方法(2)
• ビューポート上の物をクリックし、Wキーをクリックするとその物を移動
させられる。
• 黄色く光っている軸だけを移動させることが可能。
基本的な操作方法(3)
• ビューポート上の物をクリックし、Rキーをクリックするとその物を回転
させられる。
• 黄色く光っている軸だけを回転させることが可能。
基本的な操作方法(4)
• ビューポート上の物をクリックし、Eキーをクリックするとその物を拡縮
させられる。
• 黄色く光っている軸だけを拡縮させることが可能。
基本的な操作方法(5)
• これら移動・回転・拡縮の操作は詳細パネルから数値で入力することが出
来る。
• Scaleの右側にある鍵マークが閉じているとxyz比を維持しながら拡縮操作
ができる。
レベルデザイン
• レベルデザインとはゲーム中のステージを制作したり、アイテムや敵を配
置する作業のこと(難易度調整のことではない)。
• 今回はBSPブラシと呼ばれるUE4標準の機能を使って簡単にレベルデザイ
ンしていく。
レベルデザイン
• 画面左のモードパネルから “Geometry” を選択。
その中からBoxを選んでビューポートの任意の場
所にドラッグアンドドロップ。
•
レベルデザイン
• 詳細パネルからBoxの位置、サイズを変更出来
る。
• 一番上のLocationを(x,y,z) = (-1240,650,330)に
変更
• Brush SettingのX,Y,Zで各軸方向の一辺の長さ
を変えられる。
• 今回は(X,Y,Z) = (1200,400,400)に設定。
レベルデザイン
• 同様にモードパネルからBoxをドラッグアンドドロップし、位置、サイズ
を変更して任意の位置に配置していく。
• 以下の指示に従ってBoxを配置。
1. Location:(-440, 950, 330) Size:(400, 1000, 400)
2. Location:(-940, 1150, 330) Size:(600, 600, 400)
3. Location:(-440, -400, 330) Size:(400, 900, 400)
4. Location:(-1240, -1150, 530) Size:(-130, -1150, 530)
5. Location:(-140, -1150, 530) Size:(1000, 600, 800)
6. Location:(750, 950, 530) Size:(600, 1000, 800)
完成写真
レベルデザイン(2)
• モードパネルの5つのモードから
一番右のメニュー、
”Geometry Editing”を選択。
• Editが選択されているのを
確認して、最初に設置した
Boxの右写真の位置の辺を
選択。
• Wキーを押し移動操作に切
り替え。選択した辺を真下
の辺まで動かす。
直方体をスロープの様に変形する
レベルデザイン(2)
• 同様に右写真の様に指定のBoxを変形させる。
動く床を作成する
• まず操作しやすいように Content Browserの Add New の真下にある三角
形のマークを押す。これでContent Browser が操作しやすくなる。
動く床を作成する
• Content/Geometry/Meshから “SM_Box300_300_50” があることを確認す
る。
• 右クリック。Asset Action -> Create Blueprint Using
this…を選択。
• Content/MyBlueprints を選択し、Nameを
BP_MoveFloor に変更したらOKを押す。
動く床を作成する
• こういった画面が
出てきたら成功。
今何をしたのか
• 誤解を恐れずに言えば、タダの3DモデルであったSM_Box…に色々なギ
ミックを仕込む為にSM_Box…を元にしたブループリントを新たに作成し
ました。
• こうして新たに作成したブループリントに色々ギミックを書き込み、ゲー
ムを作っていくわけです。
動く床を作成する
• Event Graph タブを選択する。ここに色々なギミックを書いていくことに
なる。
変数を追加する
• 動く床がゲームスタート時にいるxyz座標を保存しておく変数を作成しま
す。
• 画面左、Variables(変数)の文字の横にある+マークを
押して下さい。
• +マークを押すと新たに変数が用意されます。名前を
StartLocationとして下さい。(F2キーを押せば,もしく
は右の詳細パネルのVariable Nameから名前を変える
ことが出来ます)
変数を追加する
• この変数は前述の通り初期xyz座標を格納する
変数。これに相当する変数型は”Vector”です。
• 画面右、詳細パネルのVariableTypeから変数の型
をVectorに変更して下さい。
動く床を作成する
• 画面左、MyBlueprintパネルに表示されている変数StartLocationをドラッ
クアンドドロップでEvent BeginPlayの右当たりに置く。Get か Setどちら
かを問われるのでSetを選ぶ。
• 右の様になれば正しい。
動く床を作成する
• 任意の場所で右クリック。
GetActorLocationと入力し呼び出す。
動く床を作成する
• 画像のようにノードを繋ぐ。
説明
• “GetActorLocation”は対象の物のLocationをGetする関数。
• それの出力ピンを Set StartLocation の入力ピンに繋ぐことで
GetActorLocationでGetしたVectorを変数に格納する。
• 白色の矢印は実行順を示してる。Event BeginPlayはゲームが始まった時に
呼ばれるので今回組んだブループリントは
“ゲームが開始したタイミングで取得した自身のステージ上での位置を変
数 StartLocationに格納する”
ということになる。
動く床を作成する
• 任意の場所で右クリックし、Add Timelineと検索し呼び出す。名前を
Timeline_MoveLocationとする。
• 呼び出したTimelineノードを
ダブルクリックすると以下の
ような画面が開く。
Timelineを設定する
• Lengthを4.00に設定。上に並んでいるボタンから”f”のロゴが入っているボ
タン(add float track)を選択。
• Shiftキーを押しながらグラフを左クリックするとキーを打てる。
• 数字を直接入力してキーの位置、値を決められるので
Time:0.00, Value:0.00 に変更。
• 同様に
• Time0.50, Value0.00
• Time2.00, Value1200.00
• Time2.50, Value1200.00
• Time4.00, Value0.00 の位置にキーを打つ。
• Loopにチェックを入れる。
完成図
動く床を作成する
• Event Graphに戻る。
• 変数一覧からStartLocationをD&D、Getを選択。
動く床を作成する
• StartLocationの出力ピンを引っ張った状態で “Break Vector”と検索し呼び
出す。このノードはVectorを分解しX,Y,Z座標に分ける関数。
動く床を作成する
• AddYから引っ張った状態で”+”と検索。”float + float”を呼び出す。
• +の2つ目の入力ピンにBreakVectorのYを繋ぐ。
動く床を作成する
• Set Actor Locationを検索し呼び出す。New Locationのところで右クリック
して “Split Struct Pin” を選択。
動く床を作成する
• 画像の様に繋ぐ。
解説
• Timelineで打ったキーの値を、ゲーム開始時のY座標に足し続けて、床の
新しいLocationとしてセットする(SetActorLocation)。
• (ちょっとだけ難しい話。読み飛ばしても良い)UE4ではVector変数は
C++組み込み型の単精度浮動小数点型のfloat 3つの構造体変数として定義
されている。なおUnreal Engine4では組み込み型のintやStringを生で使わ
ないらしい。
動く床を作成する
• 画面上に表示されているCompileをクリック。エラーがあればコンパイル
時にエラーと表示される。
• コンテンツブラウザからBP_MoveFloorをビューポートにD&Dする。
• Locationを(710, -1200, 700)にセット。
• Playの右側にある下三角ボタンから Simulateを選択。 プレイヤー以外の
ゲーム上での動きをシミュレート出来る。
動いた\(^o^)/
当たったら一発OUTのトゲ床を実装する
• Content/Geometry/Meshes の中にあらかじめ用意してある “SM_Thorms”
を元にして作る。
• 動く床を作った時とは別の方法でBPを作成
してみる。
MyBlueprintsフォルダ上で
右クリック -> Blueprint Classを選択。
• 右のようなウィンドウが出てきたらActorを
クリックする。(親クラスがActorのBPを作
る)
• 名前をBP_Thornsにする。
当たったら一発OUTのトゲ床を実装する
• Content BrowserでBP_Thornsをダブルクリック。
• 右のような画面が表示されたら、Open Full Blueprint Editorをクリック
する。そうすると動く床の時にみた画面が表示
される。
当たったら一発OUTのトゲ床を実装する
• 画面左上、Add Componentから StaticMeshを検索して選択。
• 表示されたStaticMesh Componentを選択した状態で画面右の詳細パネル
からStatic Meshをクリック。SM_Thornsを
選択する。
当たり判定をつける
• トゲの上側に当たり判定を付けて、そこにプレイヤーが触れたらプレイ
ヤーが死亡するようにしたい。その為にBox型の当たり判定をつける。
• コンポーネントパネルでStaticMeshが選択されていることを確認して Add
Component をクリック。Box Collision を検索して追加する。
• Box Componentを選択。詳細パネルで
LocationとBox Extent(Boxのサイズ)を画
像の通り設定する。
• Compileする。
プレイヤーにHPを実装する
• レベルエディタに戻り、コンテンツブラウザから
Content/ThirdPersonBP/Blueprints/ThirdPersonCharacter
をダブルクリック。
• ThirdPesonCharcterはサードパーソンテンプレート
に最初から用意されているプレイヤーのBP。
• 新たに変数、MaxLifePointとLifePointを用意する。
その変数の型はDoubleとする。
プレイヤーにHPを実装する
• MaxLifePointを選択した状態で詳細パネルからDefault Valueを100に設定
する。(MaxLifePointの初期値を100とする)
• Construction Scriptタブを選択して以下のようなBPを組む。
• Construction Scriptとはざ
っくり説明するとそのBPが
生成された時に実行される
関数。(つまりコンストラ
クタ)
• MaxLifePointをLifePointに
代入している。
プレイヤーにダメージ処理を実装する
• EventGraphに戻る。適当なところで右クリックしてEvent AnyDamageを
検索し呼び出す。
• 以下の様なBPを組む。テクニックとしてCtrlキーを押しながら変数をグラ
フにドラックアンドドロップする
とGetterが、Shiftキーを押しなが
らD&DするとSetterを簡単に呼び
出せる。
プレイヤーにダメージ処理を実装する
• 続いて以下にノードを組む。①は 「<=」と検索して呼び出せる。
Branchの説明
• ②:Branchは他の言語でいう「if」に相当する条件分岐。
Conditionが「True」ならTrue側が実行され、Conditionが「False」なら
False側が実行される。
• 今回組んだBPは「LifePointが0以下なら」という条件を評価して、「0以
下ならTrueを」、「0より大きければFalseを」Conditionに流して、
Branchで分岐する。
プレイヤーにダメージ処理を実装する
• True側にPrint Stringを繋ぎ、In Stringに “Dead!” と入力する。Print
Stringは文字を出力する関数。
当たったら一発OUTのトゲ床を実装する
• BP_Thornsに戻る。コンポーネントパネルからBoxを右クリックして、
Add Event -> On Component Begin Overlapをクリック。Event Graph上
に新たにEventが追加される。
• On Component Begin Overlapイベント
は対象のコンポーネント(部品)に何か
他の物が触れた時(Overlapした時)呼ば
れるイベント。
当たったら一発OUTのトゲ床を実装する
• On Component Begin Overlapの出力ピン、 “Other Actor” は触れた他の物
体のこと。コレが “ThirdPersonCharacter” の時にプレイヤーにダメージを
与える。
• 写真の様にBPを組む。
説明は後述。
• 終わったらCompileを
忘れない。
前頁の解説
• Cast to ThirdPersonCharacterでは、入力として入ってきたObjectが
ThirdPesonCharacterかどうか判定している。ThirdPersonCharcterでなけれ
ば、Cast Failedに実行が流れる。Cast することでThirdPersonCharacter固
有の要素にアクセスすることが出来る(後々意味は分かるはず)。
• ApplyDamageでは Damaged Actorに Base Damage分のダメージを与える。
トゲ床をレベル上に配置する
• レベルエディタに戻る。
• BP_ThornsをD&Dでレベル上に4つ配置する。Locationは以下の通り。(詳
細パネルで直に指定するほうがとりあえずは早い)
• (-310, 230, 130)
• (-510, 230, 130)
• (-310, 430, 130)
• (-510, 430, 130)
• Playを押して実際にダメージ床を踏んでみる。
トンネルを作る
• 今のままだと地面に落ちると「詰み」状態になってしまう(スタート位置
に戻れない)。
• トンネルを作れば
解決する
トンネルを作る
• トンネルを簡単に作るのにもBSPブラシを使う。
• まずモードパネルからGeometry -> Boxを選択しレベル上にドラック&ド
ロップする。
• サイズは(X,Y,Z) = (200, 400, 200)。
トンネルを作る
• Brush SettingのBrush Typeを AdditiveからSubtractiveに。
• 位置を(x,y,z) = (-1350, 650, 230)にする。
•
結果
Brush Typeについて
• AdditiveとSubtractiveを日本語に訳すとそれぞれ「付加的な」、「減じる、
引く」。つまり、足し算(加算)と引き算(減算)のこと。前者はそのモ
ノ自体をレベルに足し算・追加し、後者はそのモノの形にレベルを引き
算・除去する役割を持つ。
トンネルを追加する
• もう一つBoxをレベル上に追加。以下の設定の通りに配置する。
• Brush Type: Subtractive
• 位置: (x,y,z) = (-440, -320, 230)
• サイズ: (X,Y,Z) = (400, 200, 200)
ゲームクリアアイテムを実装する
• Content/Myblueprints 内にあらかじめ用意してあるBP_CubeItemをレベ
ル上に配置。位置は(800, 1000, 930)。
BP_CubeItemの説明
• あらかじめ実装してある機能はGIF画像の通り乱雑に回転する機能だけ。
中身を見ると分かると思うが、動く床と同じ様にTimelineを使って回転の
XYZを変更させているだけ。このTimeline制作が
やや面倒な為今回はあらかじめ用意した。
クリア演出を実装する
• クリアした時=緑のキューブを獲得した時に画面右上に ”Clear!” と表示
させるようにする。
• まず、ThirdPersonCharacterのBP編集画面に戻る。
• 適当なところで右クリックし、 “add custom event”と検索。クリックし
てBP上に配置する。名前を変えられるので名前を “Event Clear” とする。
• Event Clearの実行ピンから新たにPrint String を繋ぎ In String に “Clear!”
と入力する。ここまで終わったらコンパイル。(忘れない!)
クリア演出を実装する
• BP_CubeItemの編集画面に戻る。
• コンポーネントパネルのStaticMeshを右クリック。Add Event -> On
Component Hitを選択する。このイベントは、対象のコンポーネント(部
品)に何か他の物があたった時に呼ばれるイベント。出力ピンの一つであ
るOther Actorはその「当たった他のモノ」の情報が入ってくる。
• 次のスライドで示す画像の様なBPを組む。詳細は後述。
前頁の解説
• 前述の通り、 Cast to ThirdPersonCharacter とは、入力として入ってき
たObjectが ThirdPesonCharacter かどうか判定し、 ThirdPersonCharcter で
なければ、 Cast Failed に実行が流れ、そうであれば、入力を
ThiridPersonCharcter であると認識し、それが持つ固有の要素にアクセス
することが出来る。
• つまりcastとは入力として入ってきたモノを解釈し直すというもの。cast
しなければ ThirdPersonCharcter固有のイベントである “Event Clear” を
BP_CubeItem から実行できない(なぜならHitしたモノが全てプレイヤー
であるとは限らないから)。
前頁の解説(続き)
• Cast することで Event Clearを実行できるようになった。もし、Hitしたも
のがプレイヤーで無ければ 実行はCast Failedに流れ何も実行されない。
• Event Clearを呼んだら BP_CubeItem はもう必要ない。 DestroyActorはそ
れそのものを破壊する関数。
UIを作る
• 今回はUE4標準の機能だけを使ってUIを作っていく(photoshop等で素材
を作るなどはしない)。
• Content Browser のContent/Myvlueprintを開き、右クリック。一番下に
表示される UserInterface から Widget Blueprintを選択する。その名前
を ”MainUI” とする。
• MainUIをクリック。編集画面に移行する。
UI編集画面
HPバーを配置する
• まずHPバーを配置する。画面左の “Palette” から Progress Bar を選択肢て
真ん中の編集画面にD&Dする。配置した Progress bar はWordや
Powerpointで挿入する画像の様に、サイズ、位置を変更できる。大体下画
像の通りの位置、サイズに配置する。
「HP:」というテキストを配置
• 同様に Palette から TextをD&D。詳細パネルの Text から文字を変更でき
るので「Text: 」と変更する。
• 「Size to Content」にチェックマークを入れると Text が表示される枠が
文字数、大きさに沿って自動的に変更される。
• Appearance -> Font の右向き三角をクリックすると隠しメニューが表示
される。ここで文字フォントを変更可能。 Size を先に配置した Progress
Bar に合う大きさに変更する(ここで数字が表示されている枠を右クリッ
ク+ドラックすると数字を直で入力せずにサイズを指定できる。実際の動
きは次ページ)。
• 次次頁の画像のとおりに配置。それが終わったらコンパイル。
フォントサイズ変更
画面配置
Progress barをHPバーとして機能させる
• ThirdPersonCharacterが持っている変数、
LifePointをHPとして、Progress Bar に利
用する。
• Progress Bar の詳細パネル -> Progress ->
Percent の横にある Bind ボタンをクリック。
Create Binding と聞かれるので続けてクリッ
ク。
Progress barをHPバーとして機能させる
• デフォルトで以下の様なグラフが表示されるはず。とりあえず難しいこと
は考えず次ページの通りにBPを組む。
Progress barをHPバーとして機能させる
前頁の解説
• Get Player Characterでゲーム中でのプレイヤーBPを見つける。それを
ThirdPersonCharcterでcastして、LifePoint(現在のHP)をMaxLifePoint(最大
HP)で割ることで現在のHPの割合が算出できる。それを Retrun Nodeに繋
ぐことで Progress barの割合を決めることが出来る。
• この関数は便利なことに引数が変更される時毎回実行される。
UIをレベルに登録する
• レベルエディタに戻り画面上部の
Blueprints -> Open Level Blueprint
を選択。右画像の様にBPを組む。
Create Widgetと検索し
てノードを設置。Classを
MainUIにする。
死亡・クリア演出を作りこむ
• 死亡した時、クリアした時 Print string で表示するだけではダメ。(なぜ
ならPrint string)は開発中にしか表示されないから。
• そこで、死亡・クリア時にUI上に文字を表示し、それ以上操作できなくな
るようにしたい。
死亡・クリア演出を作り込む
• ThirdPersonCharcterに新たにBoolean型変数、 IsDead と IsClear を用意
する。(BooleanはTrueかFalseか、どちらかの情報を保持する変数型。UE4
ではチェックなしがFalse、有りがTrueと扱われる)
• 次頁の様に Event AnyDamage と Event Clear を書き換える。
コンポーネントパネルから
CharacterMovement
(キャラの動きを制御する部品)
をD&Dする。
死亡・クリア演出を作り込む
• MainUI編集画面に戻る。
• 画像の通りにTextを配置する(文字色は Color and Opacityを変更すること
で変えられる)。
死亡・クリア演出を作り込む
• Dead! テキストを選択。詳細パネルから Behavior -> VisibilityのBindボ
タンを押して関数を作成。以下の様にBPを組む。
死亡・クリア演出を作り込む
• Clear! テキストを選択。詳細パネルから Behavior -> VisibilityのBindボタ
ンを押して関数を作成。以下の様にBPを組む。
やり直せるようにする
• 今のままでは死亡・クリア時、それ以上動けず、やり直すことが出来ない。
• UIをレベルに登録する時に開いたレベルブループリントの編集画面に戻る
• 以下の様なBPを組んでやり直し出来るようにする。
Input Rで検索して配
置。
Level Nameは大文字
小文字含め完全に一
致させる
完成!
完成&次回予告
• これで完成!実際にPlayしてエラーがないか試してみてください。
• 次回予告
• 敵キャラクター実装
• 攻撃
• エフェクト
• 敵キャラのAI
• (余裕があればアニメーション)
• その他要望があればなにかしらやります
もっと勉強したい
もっと自分で勉強したいという人にオススメの教材をいくつか紹介。
本
• Unreal Engine 4で極めるゲーム開発:サンプルデータと動画で学ぶUE4
ゲーム制作プロジェクト
• 通称極め本。多くのUE4ユーザーはここから始めたと思われる。
一通りの機能を試しつつ、現場のワークフローに従い一本のゲー
ムを作り上げていく。
• 注意は3年近く前のバージョンのUE4を使って作業しているため、
現在UI、名前、機能の変更があったものを使っていることがある。
現行(4.19.2)バージョンでは26章辺りから本通りに作業するのが厳
しい。それを加味してもこの本はオススメ。
もっと勉強したい
• C++でつくるUnreal Engineアプリ開発 for Windows & macOS 〜初歩か
らプラグイン開発まで〜(中級者向け)
• 最近刊行された。UE4をC++を使って扱いたいという方には最適の本。ただし高度は
C++の知識が求められるのでC++に自信の無い人は後回しにしたほうが良さそう。
• UE4をつかって「個人で」ゲーム開発をするだけならブループリントで十分事足りる。
それでもC++を使いたい、使う必要がある、エンジン拡張をしたいという人は買お
う。
もっと勉強したい
動画教材(Udemy)
• はじめてのアンリアルエンジン入門チュートリアル講座
• 作って覚えるアンリアルエンジン〜ダンジョンゲーム編〜
• 動画教材サービス、Udemyで購入できる動画教材。スマホでも購入できる上、頻繁
にセールを開催しておりどちらも大体3000円以内で購入可能。
• どちらも兎に角丁寧な作り。後者はなんと18時間超の超大作。動画と喋りでの説明
が非常にわかりやすい。配信開始されたのも2017年で最新バージョンの対応もされ
ている。今から始めるならこちらを非常にオススメする。

S大学ゲーム制作サークル第一回 超初心者向けUE4チュートリアル(1)