UNREAL ENGINE
BP操作編
荻野雄季
イヌでも分かる!!
© Unity Technologies Japan/UCL
ブループリントのおさらい
復習は大事だぜ!
ブループリント
・ノードをベースとするインターフェースの概念を基礎とし
たスクリプティングシステム一式
ブループリントのメリット
メリットってなんだろう?
メリット
・視覚的に見えるので処理の流れが追いやすい!
・プログラマでなくても誰もがエディタ上で
インタラクティブコンテンツを作成できる
・プロトタイプを誰でも高速で作成できる
ブループリントのデメリット
デメリットは何?
作った本人さえわからなくなるほど
スパゲッティになりやすい!!
なにこれ、よみにくっww
マジウケルwww
ブループリントの種類
初心者は3つ覚えればOK!
ブループリントの種類
・レベルブループリント
レベルに1つだけ存在するブループリント。
レベル上のアクターと直接連携できる。
ブループリントの種類
・クラスブループリント
一般的によく使われるブループリント。
基底クラスを継承することが前提となっている。
UnityだとGameObjectに
スクリプトが入った状態かな?
ブループリントの種類
・アニメーションブループリント
ステートマシンの仕組みを採用した、
アニメーション専用のブループリント
UnityだとAnimatorだね!!
プログラミング用語解説
最低限の用語は理解しないとキツイな
プログラマーならスキップ!
超簡単に説明
変数
ゲーム内で使われる様々な数値、文字列を記録するために使用
・HP
・スコア
・ダメージ
・説明文
・セリフ
などなど
変数だけは必ず覚えよう!
型
変数に記録できる種類のこと
・bool(Boolean)
false(偽)とtrue(真)のみ。エンジンによっては0と1
・int(Integer)
整数値。マイナスを表現することも可能。
・float
小数点を含む値。0.0とか3.14など。
・string
文字列
などなど
この4つの型は基本なので
ちゃんと覚えること!
構造体
色々な種類のデータをまとめた型
・Vector
x, y, zの座標軸のfloatが3つまとまっている
・Rotator
x, y, zの回転軸のfloatが3つまとまっている
・Transform
位置情報、角度、倍率がまとまっている
・HitResult
当たった場所、当たった相手の情報がまとまっている。
関数
ゲーム中の処理をまとめ、他からも呼び出せるようにしたもの
例:弾の発射
処理手順(関数にしない場合):
1.発射ボタンを押下する
2.プレイヤーの座標を取得する
3.プレイヤーの少し前に弾を生成する
4.弾を前に飛ばす
5.弾が何かに当たったら消す
6.当たった場所に爆発エフェクトを出す
などなど…
これを毎回書かないといけない。めんどくさい。
関数
2.プレイヤーの座標を取得する
3.プレイヤーの少し前に弾を生成する
4.弾を前に飛ばす
5.弾が何かに当たったら消す
6.当たった場所に爆発エフェクトを出す
これを関数にまとめる(仮にFireと関数名をなずける)
どうせ何度も書くんだから
まとめてしまえ!!
関数
処理手順(関数にした場合):
1.発射ボタンを押下する
2.Fire関数を呼び出す
のみ!
キレイになった!
スッキリ!!
エレベーターを作ってみよう!
エレベーターはいいぞ
最高だ
エレベーター実装例
なるほど!
わからん!
なにこれ、ウケるw
カスタムイベントって何w
順を追ってエレベータを作りましょう!
BPの保存はこまめに!
エレベーターを作ってみよう!
ビューポート編
まずはデザインから!
BPクラスを作成
仮にBP_Elevatorと名づけています
BPクラスを開く
スタティックメッシュ(StaticMesh)を追加
スタティックメッシュ(StaticMesh)を追加
スタティックメッシュ(StaticMesh)を追加
白い丸を消去
白い丸を消去
エレベーターを作ってみよう!
イベントグラフ編
いよいよ本番だな!!
イベントグラフタグをクリック
イベントBiginPlay?
イベントActorBeginOverlap?
イベントティック?
何だ、この半透明の赤いのは!!
イベントとは?
ゲームプレイ中に開始、レベルのリセット、ダメー
ジなどゲーム内で生じる一定のイベントに反応して
一連のアクションを実行
例)初期化、ボタン入力、何かに当たった時など
イベントBeginPlay
イベントティック
イベントActorBeginOverlap
他のイベントは公式サイトで
https://docs.unrealengine.com/latest/JPN/Engine/Blueprints/UserGuide/Events/index.html
BeginPlayからTimeLine追加
BeginPlayからTimeLine追加
BeginPlayからTimeLine追加
BeginPlayからTimeLine追加
BeginPlayからTimeLine追加
TimeLine編集
ダブルクリック!!
TimeLine編集
TimeLine編集
TimeLine編集
タイムライン上で右クリッ
ク
TimeLine編集
時間、値を0、0に
TimeLine編集
もう一度タイムライン上で右クリック
TimeLine編集
時間、値を1、2に
TimeLine編集
時間0、値0
時間1、値2
時間2、値0
時間3、値-2
時間4、値0
TimeLine編集
TimeLine編集
床を動かす
床を動かす
SetActorRelativLocationを選択
床を動かす
NerRelativeLocationのピン上で右クリック
床を動かす
床を動かす
何も無いところで右クリック
GetActorLocationを選択
床を動かす
床を動かす
床を動かす
床を動かす
床を動かす
床を動かす
床を動かす
コンパイル! これで最低限動くはずだっ!
ビューにおいて確認!
動かしてみよー
動いた!
やったね!!
ループ
できたー\(^o^)/
終了!
ご清聴ありがとうございました!

UNREAL ENGINE BP操作編