UNREAL ENGINE BP 操操操 操操操操 操操操操操操操!! © Unity Technologies Japan/UCL
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^)\ /
終了!
ご清聴ありがとうございました!