Upload
vudat
View
236
Download
0
Embed Size (px)
Citation preview
はじめに
この本では、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
におかずさんには、示唆に富んだレビューをいただき、大いに参考になりました。その他、本書を出版するまでに多くの方の協力がありました。この場をもちまして、出版に携わった方々すべてにお礼申し上げます。
2015年 4月 出村 成和
3
目次
はじめに 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
物理演算 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 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
目次
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
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
目次
第 14章 学習方法 120
14.1 チュートリアルビデオを観る . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
14.2 サンプルプロジェクトを実行する . . . . . . . . . . . . . . . . . . . . . . . . . 122
14.3 困った時は . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
筆者 124
奥付 125
8
第 1章
Unreal Engine 4とは
Unreal Engineは元々は Unreal(一人称視点シューティングゲーム)向けのゲームエンジンとして開発されました。それが数回のバージョンアップを重ね、他のゲームデベロッパー向けにも外販されるようになり、今に至ります。では、UE4がどのようなソフトウェアであるか見ていきましょう。
1.1 Unreal Engine 4ってどんなソフト?
UE4は、一般的にはゲームエンジンと呼ばれています。もう少し正確に言うと、ゲームの基礎となるライブラリ(つまりゲームエンジン)と、ゲーム制作に必要な統合開発環境(Windows・Macアプリケーション)から構成されています(その他、Maya*1のプラグインも提供されています)。そのため、実際に使ってみると、ゲームエンジンというよりはゲーム開発環境という印象を強く受けるかもしれません。
*1 Autodesk社製の 3DCG用ソフトウェア
9
第 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
1.2得意なジャンル、不得意なジャンル
1.2 得意なジャンル、不得意なジャンル
UE4はゲームエンジンである、という話を聞くと「どんなジャンルのゲーム開発にも利用できる!」と思ってしまうかもしれません。しかし、残念ながら世の中にはそんな万能なゲームエンジンはありません。これは UE4も例外ではなく、開発が得意・不得意のゲームジャンルがあります。では UE4が得意なゲームのジャンルとは、どのようなものでしょうか? これはプロジェ
クトを新規作成する際のテンプレートを見ると分かります(図 1.2)
• 一人称視点*3
• 三人称視点*4
• レースゲーム• 2Dスクロールゲーム
などが挙げられます。
*3 主人公自身の視点のこと*4 主人公や敵でない、第三者的視点のこと。神視点とも言う。
11
第 1章 Unreal Engine 4とは
図 1.2 豊富なゲームテンプレート
このような三次元のアクションゲームなどであれば、UE4が適しています。また三次元に限らず、二次元(スプライト)のゲームも制作できます。これは、UE4が Paper2Dといった 2D
ゲーム制作を支援するプラグインもサポートしているためです。ここで挙げたジャンル以外のゲーム、例えばテキスト重視のアドベンチャーゲームでは、あえて UE4で開発するメリットはないでしょう。
1.3 契約について
以前は UE4を利用する際に、エピック・ゲームズとサブスクリプションライセンス契約(月額 19ドル)を結ぶ必要がありましたが、2015年 3月の GDC(Game Developers Conference)
12