12

はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

  • Upload
    vudat

  • View
    238

  • Download
    0

Embed Size (px)

Citation preview

Page 1: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定
Page 2: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

はじめに

この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4の豊富な機能やエディタの概要を解説しています。

UE4は、バンダイナムコスタジオ、スクウェア・エニックス、カプコンなどの大手ゲームパブリッシャーでのゲーム開発で採用されているゲームエンジンです。以前は利用するために月額 19ドル支払う必要がありましたが、2015年 3月に無償化されました。つまり、プロとまったく同じ開発環境が、自宅の PCに無償でインストールできるのです。

UE4は、元よりプロのためのゲーム開発環境ですので、ゲーム制作に必要な編集機能が多数備わっています。そのうえ UE4には独自の用語も多く、事前知識なしに UE4を使い始めると、テンプレートからゲームのプロジェクトを生成して、簡単なゲームは動かせるようになったものの、次に何をすべきなの分からず途方に暮れる…… そんな人もいることでしょう(事実、私がそうでした)。

UE4は、オンラインで公開されているリファレンスマニュアルやチュートリアル(動画)が充実しているので、各編集機能について詳細な情報を得ることに困ることはないでしょう。ただ、リファレンスマニュアルは分量が多く、詳細に書かれているため、すべてに目を通すだけでも大変です。また、「UE4には、どのような機能、エディタがあり、何ができるのかを一通り知りたい」といったニーズに向いているとは言えません。

UE4を使い始めて、機能や編集機能の豊富さを目の当たりにして途方に暮れる前に、本書で機能やエディタを一通り把握しておくと、目的の作業を行う際や、リファレンスマニュアルで調べる際にも、その知識が役に立つことでしょう。本書はコミックマーケット 87 で頒布した同人誌「UnrealEngine4 の歩き方」をベースに、

Unreal Engine 4.7を取り上げ大幅に加筆修正した内容となっています。本書は多くの協力をいただき出版することができました。エピック・ゲームズ・ジャパン 今井氏からの1通のメールが、本書を出版するきっかけとなりました。栗坂こなべさん(@kurisaka_konabe)、alweiさん(@aizen76)、おかずさん(@pafuhana1213)、越野 亮さんには、多忙な中で本書のレビューを引き受けていただき、有益なコメントをいただきました。特

2

Page 3: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

におかずさんには、示唆に富んだレビューをいただき、大いに参考になりました。その他、本書を出版するまでに多くの方の協力がありました。この場をもちまして、出版に携わった方々すべてにお礼申し上げます。

2015年 4月 出村 成和

3

Page 4: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

目次

はじめに 2

第 1章 Unreal Engine 4とは 9

1.1 Unreal Engine 4ってどんなソフト? . . . . . . . . . . . . . . . . . . . . . . . 9

1.2 得意なジャンル、不得意なジャンル . . . . . . . . . . . . . . . . . . . . . . . . 11

1.3 契約について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

第 2章 ゲーム開発の流れが変化する 14

2.1 誕生した背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.2 業種間の壁 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3 制作プラットフォームとしての UE4 . . . . . . . . . . . . . . . . . . . . . . . . 16

アーティスト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

プログラマー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

ゲームデザイナー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

第 3章 機能一覧 20

3.1 機能概要 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

レベル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

プレイヤー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

モデルデータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

マテリアル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

アニメーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

AI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

パーティクル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

スプライト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4

Page 5: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

物理演算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

サウンド、効果音 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

HUD/GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2 プログラミング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3 できないこと . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.4 物理ベースレンダリング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

第 4章 レベル設計 25

4.1 レベルの作成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

狭い空間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

広い空間 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

レベルに配置する物体 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 指定可能な機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

ライト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

プレイヤー、敵の配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

ボリューム . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

光の反射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

その他 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.3 ポストプロセスエフェクト . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

アンチエイリアス . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

レンズフレア . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

被写界深度 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

モーションブラー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.4 スタティックメッシュ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

物理演算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

コリジョン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

第 5章 マテリアル 40

5.1 マテリアルとは . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

テクスチャー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

5.2 基本パラメータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.3 シェーディング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

第 6章 キャラクター 47

5

Page 6: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

目次

6.1 必要なデータ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

3Dモデル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

マテリアル . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

ボーン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

アニメーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.2 アニメーション . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

編集 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

アニメーションブループリント . . . . . . . . . . . . . . . . . . . . . . . . . . 53

6.3 キャラクターデータをインポートする . . . . . . . . . . . . . . . . . . . . . . . 57

6.4 豊富なアニメーション制御 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

モーフターゲット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

ブレンドスペース . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

Aim Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

アニメーション合成 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

AnimMontage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

IK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

物理演算によるアニメーション . . . . . . . . . . . . . . . . . . . . . . . . . . 68

第 7章 コリジョン 69

7.1 コリジョンの形状設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

ブラシ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

スタティックメッシュ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

スケルタルメッシュ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

7.2 コリジョン反応 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.3 イベント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

第 8章 プログラミング 80

8.1 実装済みの処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

8.2 2つのプログラミング環境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

ブループリント . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

8.3 ブループリントと C++の使い分け . . . . . . . . . . . . . . . . . . . . . . . . 84

8.4 ソースコード管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6

Page 7: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

8.5 カメラ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87

第 9章 パーティクル 89

9.1 パーティクルの用途 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

9.2 作成・編集方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

第 10章 サウンド 92

10.1 BGMを再生する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

10.2 SEを再生する . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

10.3 臨場感を高める . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

第 11章 PhAT 97

11.1 3Dモデルに沿ったコリジョン . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

ラグドール処理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

11.2 編集方法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

ボディモード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

コンストレイントモード . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103

第 12章 GUI 105

12.1 UMGでできること . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

画面レイアウト設計 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

ブループリントとの結合 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

12.2 その他の便利な機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

DPIスケーリング . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

アンカー機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

アニメーション機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

フォント機能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

第 13章 その他の機能 113

13.1 マチネ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

13.2 ビヘイビアツリー . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

13.3 プラグイン . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

13.4 マーケット . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

13.5 ソースコード公開 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

7

Page 8: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

目次

第 14章 学習方法 120

14.1 チュートリアルビデオを観る . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

14.2 サンプルプロジェクトを実行する . . . . . . . . . . . . . . . . . . . . . . . . . 122

14.3 困った時は . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

筆者 124

奥付 125

8

Page 9: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

第 1章

Unreal Engine 4とは

Unreal Engineは元々は Unreal(一人称視点シューティングゲーム)向けのゲームエンジンとして開発されました。それが数回のバージョンアップを重ね、他のゲームデベロッパー向けにも外販されるようになり、今に至ります。では、UE4がどのようなソフトウェアであるか見ていきましょう。

1.1 Unreal Engine 4ってどんなソフト?

UE4は、一般的にはゲームエンジンと呼ばれています。もう少し正確に言うと、ゲームの基礎となるライブラリ(つまりゲームエンジン)と、ゲーム制作に必要な統合開発環境(Windows・Macアプリケーション)から構成されています(その他、Maya*1のプラグインも提供されています)。そのため、実際に使ってみると、ゲームエンジンというよりはゲーム開発環境という印象を強く受けるかもしれません。

*1 Autodesk社製の 3DCG用ソフトウェア

9

Page 10: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

第 1章 Unreal Engine 4とは

図 1.1 Unreal Engine 4の編集画面

また、この統合開発環境のみ(コンパイラなどを追加でインストールすることなく)でWindowsやMac向けの実行ファイルが作成できます。つまり、各種アセット*2を用意したあとは、UE4のみでゲームを作ることができるのです。

UE4 で開発可能な対象プラットフォームは、PC(Windows、Mac、Linux)、Web

(HTML5/WebGL)、モバイル(Android、iOS)、コンシューマゲーム機(PS4、Xbox One)となっています。

UE4には、ゲーム制作などに利用できる 3Dモデル、マテリアル、サウンドといったアセットが豊富に用意されています。他のゲームエンジンやライブラリでは「ゲーム制作に必要なライブラリは提供するけど、ゲームで使うアセットは自前で用意してね」と言わんばかりのものも珍しくありません。しかし、UE4は標準で豊富なアセットが用意されているうえ、ベンダー各社がアセットを販売するマーケットプレイスも提供されているため、グラフィックスなどのデータが用意できずに困る事例は少なく、ゲーム開発に着手しやすくなっています。

*2 3Dモデル、サウンド、ライブラリなどを指す。元の意味は資源。

10

Page 11: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

1.2得意なジャンル、不得意なジャンル

1.2 得意なジャンル、不得意なジャンル

UE4はゲームエンジンである、という話を聞くと「どんなジャンルのゲーム開発にも利用できる!」と思ってしまうかもしれません。しかし、残念ながら世の中にはそんな万能なゲームエンジンはありません。これは UE4も例外ではなく、開発が得意・不得意のゲームジャンルがあります。では UE4が得意なゲームのジャンルとは、どのようなものでしょうか?  これはプロジェ

クトを新規作成する際のテンプレートを見ると分かります(図 1.2)

• 一人称視点*3

• 三人称視点*4

• レースゲーム• 2Dスクロールゲーム

などが挙げられます。

*3 主人公自身の視点のこと*4 主人公や敵でない、第三者的視点のこと。神視点とも言う。

11

Page 12: はじめに - book.mynavi.jp · この本では、Unreal Engine 4(以降、UE4)の入門以前となる、UE4 ... HUD/GUI ... 7.1 コリジョンの形状設定

第 1章 Unreal Engine 4とは

図 1.2 豊富なゲームテンプレート

このような三次元のアクションゲームなどであれば、UE4が適しています。また三次元に限らず、二次元(スプライト)のゲームも制作できます。これは、UE4が Paper2Dといった 2D

ゲーム制作を支援するプラグインもサポートしているためです。ここで挙げたジャンル以外のゲーム、例えばテキスト重視のアドベンチャーゲームでは、あえて UE4で開発するメリットはないでしょう。

1.3 契約について

以前は UE4を利用する際に、エピック・ゲームズとサブスクリプションライセンス契約(月額 19ドル)を結ぶ必要がありましたが、2015年 3月の GDC(Game Developers Conference)

12