82
おかず@pafuhana1213 第2回 関西UE4勉強会 2014/11/1 スライド公開してます 1 http://www.slideshare.net/pafuhana/ unreal-engine4ue4-2014111

猫でもわかるUnreal Engine4

Embed Size (px)

DESCRIPTION

2014/11/1に行われた第2回 関西Unreal Engine4勉強会の 講演で使用したスライドです。 https://atnd.org/events/57368 pdfファイル https://www.dropbox.com/s/44mf3o73lbbp3v2/%E7%8C%AB%E3%81%A7%E3%82%82%E3%82%8F%E3%81%8B%E3%82%8BUE4.pdf?dl=0 pptxファイル+動画ファイルhttps://www.dropbox.com/s/i757bzkeugdzvg0/%E7%8C%AB%E3%81%A7%E3%82%82%E3%82%8F%E3%81%8B%E3%82%8BUE4.ZIP?dl=0 質問などありましたら、以下の連絡先にお願いします。 twitter: @pafuhana1213

Citation preview

Page 1: 猫でもわかるUnreal Engine4

おかず@pafuhana1213

第2回 関西UE4勉強会2014/11/1

スライド公開してます

1

http://www.slideshare.net/pafuhana/

unreal-engine4ue4-2014111

Page 2: 猫でもわかるUnreal Engine4

Twitter やってます

おかず@pafuhana1213

ブログ やってます

ぼっちプログラマのメモ

UE4 やってます

UE4歴:約6ヶ月

OculusRift やってます

社畜プログラマ やってます2

Page 3: 猫でもわかるUnreal Engine4

○nityちゃんが走るゲーム第1回 UE4ぷちコン

製作期間:約1週間

360度シューティングゲーム第2回 UE4ぷちコン

製作期間:約3週間

UE4でMMDしてみたアニメーションリターゲット

3

Page 4: 猫でもわかるUnreal Engine4

株式会社ヒストリアさん主導のUE4を用いたゲームコンテスト

動画を投稿するだけ!

景品が豪華!

次は年末らしい…

4

http://historia.co.jp/

ue4petitcon

Page 5: 猫でもわかるUnreal Engine4

○nityちゃんが走るゲーム第1回 UE4ぷちコン

製作期間:約1週間

360度シューティングゲーム第2回 UE4ぷちコン

製作期間:約3週間

UE4でMMDしてみたアニメーションリターゲット

大賞受賞!YATTA!

5

Page 6: 猫でもわかるUnreal Engine4

時間がなくても

『見た目のリッチ』なゲーム作れる!

UE4でゲーム作ろうよ!

6

Page 7: 猫でもわかるUnreal Engine4

これさえ覚えればゲーム作れる!

キャラクターの動かし方

コリジョン(当たり判定)

ゲームのルールづくり

いろいろ

ゲームの見た目をリッチに!

マテリアル, エフェクト

ポストプロセス

7

Page 8: 猫でもわかるUnreal Engine4

間違ってたら、ゴメンナサイ!間違いの指摘、疑問などありましたら、

“#UE4Study”でツイートすると反応あるかも…

8

本スライド作成時のUE4のバージョンは【4.5】です

最新版では本スライドで紹介している機能・手法は使えない可能性がありますその点、ご了承お願いします

Page 9: 猫でもわかるUnreal Engine4

テンプレートの中から選ぶ!以上!

9

Page 10: 猫でもわかるUnreal Engine4

( ‘д‘⊂彡☆))Д´) パーン

UE4のテンプレ、充実しすぎ!10

アリガトウゴザイマス!

Page 11: 猫でもわかるUnreal Engine4

Characterクラスで用意されているコンポーネント

ThirdPersonテンプレのMyCharacterブループリント

キャラクターを親クラスに11

Page 12: 猫でもわかるUnreal Engine4

12

Page 13: 猫でもわかるUnreal Engine4

Add Movement Input

単位方向ベクトル×大きさ(入力量)

13

Page 14: 猫でもわかるUnreal Engine4

14

Page 15: 猫でもわかるUnreal Engine4

簡単!ジャンプもあるよ!

豊富なプロパティ!

移動速度・加速度

空中・水中での制御

向きの自動設定フラグ

その他いろいろ…

コリジョンの考慮

Animation BPとの連携

迷ったらとりあえずコレ15

Page 16: 猫でもわかるUnreal Engine4

移動・回転命令を直接実行

CharacterMovementを介さずに

16

Page 17: 猫でもわかるUnreal Engine4

17

Page 18: 猫でもわかるUnreal Engine4

CharacterMovementの利点を全無視

用途:動く床(StaticMesh)のような簡単なBP

UE4 5分で作れてしまう動く床の作り方18

Page 19: 猫でもわかるUnreal Engine4

19

Page 20: 猫でもわかるUnreal Engine4

位置・向きのパラメータを上書き

20

Page 21: 猫でもわかるUnreal Engine4

21

可変フレームレート対応

Page 22: 猫でもわかるUnreal Engine4

ハイパー行列計算タイム あまりオススメはできない…

22

Page 23: 猫でもわかるUnreal Engine4

(Simple) Move to~

Navmeshによる経路探索用

UE4のNavmeshを使ってみる

Add~

Characterに紐付けたコンポーネントの操作

23

Page 24: 猫でもわかるUnreal Engine4

24

Sceneコンポーネントで階層構造

Page 25: 猫でもわかるUnreal Engine4

これで動けるようになったぞ!

25

Page 26: 猫でもわかるUnreal Engine4

コリジョンを使えば色んなゲームを作れる!

衝突判定 → ダメージ判定・ギミック起動

エリア内への侵入を検出

26

Page 27: 猫でもわかるUnreal Engine4

27

Page 28: 猫でもわかるUnreal Engine4

Characterのカプセル型だけでは不都合なとき

「衝突したのは横から?上?下?」の判定など

少し離れた箇所にコリジョン置きたい(バリアなど)28

Page 29: 猫でもわかるUnreal Engine4

29

ルゥちゃんかわいい

Page 30: 猫でもわかるUnreal Engine4

Block

衝突検出

Overlap

重複検出

Ignore

無視

https://docs.unrealengine.com/latest/JPN/

Engine/Physics/Collision/index.html 30

Page 31: 猫でもわかるUnreal Engine4

Block Overlap Ignore

球 壁 結果 イベント

Block Block A Hit

Block Overlap B Overlap

Block Ignore C Ignore

Overlap Block B Overlap

Overlap Overlap B Overlap

Overlap Ignore C Ignore

Ignore C Ignore

A B C

Page 32: 猫でもわかるUnreal Engine4

『衝突した』という判定が欲しいか、欲しくないか

欲しい ▶ Block 欲しくない ▶ Overlap

主に何が影響するのか?

めりこみの問題

当たり判定後の移動

32

Overlapの時

Blockの時

用途に応じて使い分けましょう

Page 33: 猫でもわかるUnreal Engine4

Block

Hit

Overlap

Actor Begin

Overlap

Actor End

Overlap

33

チェック付けないとイベント発生しないので注意!

Page 34: 猫でもわかるUnreal Engine4

34

Block :衝突毎

Overlap:重複開始・終了時

Page 35: 猫でもわかるUnreal Engine4

Blockの場合

ダメージ壁

衝突毎に判定くるから…

Overlapの場合

範囲内の敵にダメージを与え続けたい

開始・終了時しかイベント来ない…

35

Page 36: 猫でもわかるUnreal Engine4

毎フレームHitイベントが発生する可能性…

ダメージ処理のインターバルを用意すればいい

36

Hitイベント発生

前回のダメージ処理から○○秒過ぎた?

おわり

まだっす

ダメージ処理

過ぎた!

インターバルのリセット

Page 37: 猫でもわかるUnreal Engine4

Get Real Time Seconds:ゲーム開始からの経過時間(秒単位, Float型)

Hit Time:前回のダメージ処理を行った時の経過時間(変数, Float型)

ブランチ:

37

Page 38: 猫でもわかるUnreal Engine4

範囲内に対象がいることを知りたい

Overlap開始・終了時に範囲内にいる情報をON・OFFする

範囲内にいたら、毎フレーム攻撃する

38

OFF ON! ON OFF! OFF

Page 39: 猫でもわかるUnreal Engine4

IsOverlap:範囲内にいる情報 (変数, bool型)

OverlapActors:OverlapしたActorの保存(配列, Actor型)

Page 40: 猫でもわかるUnreal Engine4

コリジョンって結構ややこしい…

なぜか判定が発生したり、しなかったり…

怪しいと思ったら、各設定の確認+Print Stringやブレークポイントで確認

40

Page 41: 猫でもわかるUnreal Engine4

再開41

Page 42: 猫でもわかるUnreal Engine4

Apply Damage

当たった相手(Other)にダメージを与える

BaseDamage:与えるダメージ量 (初期値:0)

42

Page 43: 猫でもわかるUnreal Engine4

Any Damageイベント

Damage:受けたダメージ量

体力用変数(Life float型)を用意・管理43

Page 44: 猫でもわかるUnreal Engine4

Point Damage :ダメージ位置情報を付加

Radial Damage :範囲ダメージ

44

Page 45: 猫でもわかるUnreal Engine4

Point Damage

弱点・部位破壊

ふっ飛ばし

Radial Damage

爆弾・爆発

回復魔法

DamageType

45

Page 46: 猫でもわかるUnreal Engine4

Hitした相手(Other)にダメージ与える!

Otherが味方でも…?

46

あなたは誰?

誰かに当たった

味方でした

敵でした

テヘペロ

攻撃

Page 47: 猫でもわかるUnreal Engine4

GetDiplayName

相手の名前で判定

Cast~

クラス継承関係で判定

Actor Has Tag

タグで判定

保存していたActorと比較

アセット直選択と比較

47

タグ判定がオススメ!

Page 48: 猫でもわかるUnreal Engine4

複数のタグを設定することも!48

Page 49: 猫でもわかるUnreal Engine4

移動できます

当たり判定取れます

相手に攻撃できます

49

ゲーム作れそう…

Page 50: 猫でもわかるUnreal Engine4

50

Page 51: 猫でもわかるUnreal Engine4

時間はタイマー変数(Float型)で

管理するのが一般的

…たぶん

51

Page 52: 猫でもわかるUnreal Engine4

52

Page 53: 猫でもわかるUnreal Engine4

Teleportノードを使用

53

Page 54: 猫でもわかるUnreal Engine4

54

Page 55: 猫でもわかるUnreal Engine4

これさえ覚えればゲーム作れる!キャラクターの動かし方

コリジョン(当たり判定)

ゲームのルールづくりいろいろ

ゲームの見た目をリッチに!マテリアル, エフェクト

ポストプロセス

55

Page 56: 猫でもわかるUnreal Engine4

マネージャ的なBPを自作

サクッと作りたいなら…

管理が大変…存在を忘れたり…

Level BP

各ステージ・オブジェクトへの依存度が高いもの 制限時間の設定

ステージ特有のオブジェクト

Gamemode BP

ゲーム全体・各ステージで共通するもの ゲームオーバー処理など

他のBPからアクセス可能 56

Page 57: 猫でもわかるUnreal Engine4

各BPが持つパラメータはレベル遷移時にリセットされる…

リザルトでスコア出したいのに…

57

Game Instance

パラメータがリセットされない!

どのBPからもアクセスできる!

乱用注意!

http://unrealengine.hatenablog.com/

entry/2014/08/28/203638

Page 58: 猫でもわかるUnreal Engine4

UE4 レベルを跨いで値を保持するGameInstanceについて

http://unrealengine.hatenablog.com/entry/201

4/08/28/203638

58

いや、たぶん残り時間少ないですし記事分かりやすいですしまあ、その、手抜きでごめんなさい

Page 59: 猫でもわかるUnreal Engine4

3回見つかったら、ゲームオーバー処理

59

Page 60: 猫でもわかるUnreal Engine4

他のBPにイベントを通知 (処理をお願いする)

ゲームルールを管理するBPに処理をまとめることができる

60

GameOverになった!ゲームオーバー時の処理、皆よろしくー!

Page 61: 猫でもわかるUnreal Engine4

色んな箇所に同じ処理を書く必要がある

見落としや作成ミスなどの問題

単純にめんどくさい

対象となる処理を変更する場合↑で作成した全ての箇所で変更作業する必要がある

61

ライフ0

時間切れ

ゲームオーバー処理

ゲームオーバー処理

ライフ0

時間切れ

ゲームオーバー処理

Page 62: 猫でもわかるUnreal Engine4

UE4 ブループリントでイベントディスパッチャーを使う

http://unrealengine.hatenablog.com/entr

y/2014/10/20/223445

62

・・・ゴメンナサイ

Page 63: 猫でもわかるUnreal Engine4

DeltaSeconds(前フレームからの経過時間)を利用(Tickイベント、またはGetWorldDeletaSecond)

63

Page 64: 猫でもわかるUnreal Engine4

UI表示は2種類の機能があります

HUD BP

BPで表示内容を設定・管理

実装簡単・調整超面倒

UMG(Unreal Motion Graphics)

開発途中 (2014/11/1現在)

ロジックとデザインの分離

64

https://docs.unrealengine.com/latest/JPN/

Engine/UMG/UserGuide/index.html

Page 65: 猫でもわかるUnreal Engine4

[UE4] HUD入門

http://historia.co.jp/archives/555

65

はい

Page 66: 猫でもわかるUnreal Engine4

MyCharacterが持つパラメータを参照・表示する場合

文字列の結合処理も

66

Page 67: 猫でもわかるUnreal Engine4

GameInstanceが持つパラメータを表示

67

Page 68: 猫でもわかるUnreal Engine4

データ型の変換 (プログラミング用語)

親クラスから子クラスへの移動

68

キャスト

親クラスの選択

BPシステム

Page 69: 猫でもわかるUnreal Engine4

Play Sound at Location

アセット直設定

設定項目

再生位置・音量・再生速度・開始時間

フェードイン・アウトなどの特殊効果は不可能…たぶん

69

Page 70: 猫でもわかるUnreal Engine4

Audio Component

特殊効果を使用可能

70

Page 71: 猫でもわかるUnreal Engine4

Attenuation(減衰)プロパティ

SEにオススメ

71

https://docs.unrealengine.com/latest/JPN/

Engine/Audio/SoundActors/index.html

Page 72: 猫でもわかるUnreal Engine4

これさえ覚えればゲーム作れる!キャラクターの動かし方

コリジョン(当たり判定)

ゲームのルールづくりいろいろ

ゲームの見た目をリッチに!マテリアル, エフェクト

ポストプロセス

72

Page 73: 猫でもわかるUnreal Engine4

シーン内のアセットは使い放題!

他プロジェクトへのアセットの移動も簡単!

http://historia.co.jp/

archives/275

勿論、勉強にもなります

73

Page 74: 猫でもわかるUnreal Engine4

Spawn Emitter at Location

サウンドとは異なり、実行後に設定変更可能

74

Page 75: 猫でもわかるUnreal Engine4

ゲーム画面に対してのフィルター処理

75

セルルック表現が今熱い!(一部で)•ポストプロセスマテリアルを使用

https://docs.unrealengine.com/latest/JPN/Engine/Rendering/PostProc

essEffects/PostProcessMaterials/index.html

•Epicの中の人(@junyashさん)のサンプルhttps://twitter.com/junyash/status/523059646282493953

Page 76: 猫でもわかるUnreal Engine4

Matineeデモ

76

Before After

Page 77: 猫でもわかるUnreal Engine4

UE4 Document@com04

http://com04.sakura.ne.jp/unreal/wiki/index.php?%A5%DD%A5%B9%A5%C8%A

5%D7%A5%ED%A5%BB%A5%B9-

%A5%DE%A5%C6%A5%EA%A5%A2%A5%EB-

Toon%A5%B7%A5%A7%A1%BC%A5%C9

77

Page 79: 猫でもわかるUnreal Engine4

AA

ブルーム

レンズフレア

自動露光

色収差

ビネット効果

その他いろいろ

79

Page 80: 猫でもわかるUnreal Engine4

80

Page 81: 猫でもわかるUnreal Engine4

UE4の各機能を使えば、見た目のリッチなゲームをサクッと作れます

BluePrintの学習は必須

従来のプログラミング言語に比べれば、かなり簡単!

皆でUE4コミュニティを盛り上げていきましょう!

UE4 公式フォーラム

UnrealEngineユーザ助け合い所

Twitter #UE4, #UE4Study81

Page 82: 猫でもわかるUnreal Engine4

ご清聴頂きありがとう

ございました!82