ゲーム開発ソフトUnreal Engine4にチャレンジ

ゲーム開発ソフトUereal Engine4(UE4)が無料で使用できると知り、急に使用したくなった。ただ、UE4は膨大な機能を持っており、理解するのが大変である。
そこで、自分自身の理解の手助けになるのではないかと思い、UE4の解説本のなかで、一番信頼できる「Uereal Engine 4で極めるゲーム開発」を参考にして理解できた範囲でUE4の概要を紹介する。

スポンサーリンク
スポンサーサイト

ゲームとUE4の無料化

ここで云うゲームとはパソコンやタブレット、携帯などで遊ぶソフトウェアのことである。UE4ではターゲットプラットフォームとしてはWindows、Mac、Linux、Web(HTML5/WebGL)、Android、iOS、PS4、Xbox Oneと多種多様な機種向けに開発できる。その中でもGPUを搭載したWindows用の精細なゲームの開発が一番向いているようだ。
UE4を使用するには以前は月額19ドルの使用料が必要であったが、Epic Games社の政策変更により最近は無料で使用できるようになった。ただし、開発したゲームを販売し、収入を得た時は5%のロイヤリティを支払わなければならない。この変更、個人や小規模な開発会社にとっては有利であるが、ゲーム開発大手のとってはマイナスかもしれない。個人が興味本位で使う分には、先ず支払う必要はないので有難い制度である。

ランドスケープマウンテンのテストプレー画面

ランドスケープマウンテンのテストプレー画面

UE4のダウンロード

導入はいたって簡単である。UE4のサイトでユーザ登録(名前とメールアドレス)を行えばダウンロードできるようになる。ただし、膨大なソフトであり、本体のダウンロードだけで、1時間程度かかったような気がする。いろいろなバージョンがあり、過去のバージョンもダウンロードできるようになっている。サンプルによって使用できるバージョンが異なるので、私は最新のバージョンと「極めるゲーム開発」で説明されているバージョンの2つをダウンロードした。
その他、興味本位で面白そうなサンプルデータ等を幾つかダウンロードしたが、トータル容量が9Gになった。まだサンプルデータも多く残っており、それらも取り込むとなるとダウンロード先を考慮したほうがよい。私は容量を大きいいHDDのDドライブにダウンロードしている。
なお、恐竜サバイバルゲームで有名なARK:Survival EvolvedのMODなるものもダウンロードできるようであるが、容量が60Gとあり、使用条件が不明なので、いろいろと興味の移る私もまだ手を出していない。

UE4で具体的に何ができるのか

UE4だけでゲーム開発のすべてが出来る訳ではない。演劇に例えれば、UE4は舞台監督のようなものである。役者(キャラクター)や演技(動作)的なことそれと大道具のような造形物についてはサンプル的なものしかなく、本格的なものや自分好みの個性ある役者や造形物を使用するのであればMayaなどの外部のモデリングソフトを使用しなければならない。また、造形物に施す美術は Photoshopなどで、それに音楽も外部ソフトで予め作成しなければならない。

UE4の作業の概略は以下の通りである。

環境設定

UE4で先ず行うことは環境設定である。太陽光などの照明、カメラの位置や動作、入力機器で主人公をコントロールする方法などである。代表的な環境設定はUE4では予め次のようなテンプレートとして用意されている。見方を変えればUE4でこのようなゲームが作れるということである。
1.FirstPerson:第一人称ゲーム。カメラが主人公の目となる。主人公の姿は見えない。
2.Flying:フライトゲーム。簡単な飛行モデルが組み込まれている。精密な飛行モデルや機種による特徴などは別途作成しなければならない。
3.Puzzle:パズル
4.Rolling:玉転がしゲーム
5.SideScroller:主人公の動きが横だけしかできないゲーム
6.2DSideScroller:場面が2次元で表現される横スクロールゲーム。
7.ThirdPerson:第三人称ゲーム。カメラが絶えず主人公の後ろに付けてきて、主人公の活躍する姿が見られる。
ThirdPersonテンプレートの操作画面。主役の人物と簡単な造形物が配置されている。人物の基本的動作のアニメーション設定が入っている。

サードパーソンのセット画面

サードパーソンのセット画面


8.Topdown:カメラがゲームの舞台を俯瞰的に写すゲーム。
9.TwinStickShooter:ステックを2つ使ったシューティングゲーム。
10.Vehicle:自動車ゲーム
11.VirtualReality:仮想現実の空間を作成
12.Vehicleadvanced:高度な自動車ゲーム

ゲームの舞台設定

次に、ゲームの舞台となる世界を創りださなければならない。UE4ではレベルという。この作業はステージ毎に分割して行う。同じステージ内でも家の中に入るなど場面が変化するときは別の舞台とした方が作りやすいとのことである。一般にレベルを分割した方が容量が小さくなり余分な計算が不要となるので動作が軽くなるが、プレヤーに違和感なくレベルを変化させるのはプログラムロードをどのタイミングで行うかなど工夫が必要とのことである。
素材となる造形や美術はMayaやPhotoshopなど外部で作成するが、照明による変化や質感などはUE4で調整する。非常に複雑な雰囲気の映像を作り出せるようであり、このUE4の最大の特徴となっている。この点からゲームだけでなく、建築などの映像分野でも使用されているようである。
実際のゲーム開発部門では初期段階ではこの工程は装飾を施さない、機能確認だけに特化した舞台を作り、ゲームとしての面白さが確認出来た最終段階で作りこみが行われているとのことである。
この舞台の装飾、作り込みの部分は「UnrealEngine4 マテリアルデザイン入門」の本がよく書かれているように感じた。

舞台に動きを加える。

舞台を作成しただけではゲームにはならない。ここに動きを作りさなければならない。UE4の作業のメインはこの工程である。
1.ゲームの主役の行動はプレイヤーが操作するが、それ以外の敵や見方のキャラクターの行動は予めゲーム側で決めなければならない。
2.ドアーなどの開閉、エレベータの上下など舞台装置も動かさなければならない。また、どのタイミングで何がトリガーになって動き出すか決めなければならない。ただし、装置を稼働可能にすると事前にレンダリングできないので、プレーが重くなるとのことである。
3.キャラクターや舞台の造形物に衝突したことを認識できるように別途センサーを設けなければならない。これはモデリング作業である。
4.主役の能力やダメージ、ゲームアイテムの取得などを考慮しなければならない。
5.物理エンジン、物と物との衝突などで動きだすトリガーの仕組みを作らなければならない。
まだ、いろいろありそうであるがUE4ではこれらの作業をブループリントと言われるスクリプト言語かC++で記述する。
以下はブループリントエディターの画面である。プログラムのモジュールになったボックスを接続してプログラミングを行っている。例えば衝突などを認識するとそれがトリガーとなって線で結んだところにその情報が伝わり、次の行動を起こす。これがゲームにいろいろな動きを付加することになる。情報が流れている間は線に情報を意味するドットが流れ、デバッグに利用できる。

ブループリントの例

ブループリントの例

音楽を付け加える

最後に音楽を付け加えてゲームの完成である。

Unreal Engine4とUnityとの比較

UE4以外に無料で使用できるゲーム作成ソフトとしてUnityが先行しており、有名である。まだUnityを使い込んだ訳ではないが情報を収集した範囲で感覚的に比較してみる。
1.解説本など情報の多さではUnityが勝る。本屋に並んでいるのは大半がUnityの本である。無料化が遅れたのでUE4が後手に回った感覚である。無料化で使用者が増えれば今後はもっとUE4も解説本が出てくるものと思われる。
最も、私が購入した「Uereal Engine 4で極めるゲーム開発」は値段は高めであるが、内容は充実しており、他の本の何冊分にも相当する。ま「UnrealEngine4 マテリアルデザイン入門」も強力な解説本である。
UE4を学習するにはネット上の動画が有力であるが、残念ながら英語が大半で日本人には厳しい。
2・映像の綺麗さではUE4が勝るような気がする。より複雑なレンダリング機能を持っているようである。その反動として動作が重くなっている。GPUを積んだPC向けのゲーム開発が主体でなかろうか。これに較べUnityは動作が軽く携帯向けのゲーム開発にむいている。これで利用者が飛躍的に増加したのでないか。映像は重厚というよりはポップな感じである。
私も最初はUnityから考えたが、UE4の綺麗な画面に目が移り変更した次第である。
3.ゲームに動きを付ける部分は複雑でUnityではC#言語で記述する。UE4はC++でも記述できるが、ブループリントと云われるスクリプト言語で記述する。UE4のソフト内で簡単に出来ることが最大の特徴である。また、関連したモジュール同士しか接続できないようになっているため、デバッグにも優れているとのことである。但し、ゲームの軽さの点からはC#やC++で記述した方が良いように感じる。
4.ゲームのキャラクターや構造物、それに関連した美術は外部から調達しなければならないが、Unityの方がマーケットが豊富である。また、無料で使用できるものも多い。
UE4もマーケットはあることはあるが、まだ十分でなく値段も高めである。まだ、会社が提供するラーニング用の機能サンプルが主体である。現在もUnityに目が移るのはこの点である。場合によっては乗り換えるかもしれない。
以下はEpic Games社が提供したグラスランドのサンプルシーンのプレー画面である。ラーニングのサンプルを集めればある程度の素材は集まる。特に自然関係はランドスケープマウンテンも加えればかなりの場面が作り出せそうである。
それから、複雑そうに見える画面も多くはロゴブロックの様にシンプルな構造体を幾つも組み合わせて作成したものが多いとのことである。適当なテキスチャー(模様素材)があればUE4の持つ基本素材だけである程度作成出来るのかもしれない。

グラスランドの場面

グラスランドの場面

少し使用してみた感想

取り敢えず「極めるゲーム開発」の解説本に従って機能をテスとしている。

ゲームの舞台設定の段階

舞台設定では予め解説本で用意されたテキスチャーからマテリアルに変換してそれを構造物に貼り付け、場面に配置するだけなので時間をかければ出来ないことはない。特に解説本には設置する場所、角度、大きさなどの情報が記述されているので数値を入力すれば簡単である。
但し,本来の作業のようにビュー画面を見ながら独自の舞台を設置するとなると、まだ、マウス操作に慣れていないので、大変である。要するに操作しやすいようなカメラの位置になかなかできないのである。
操作の点では、3方向画面(縦、横、上)の方が楽であるが、問題は線だけしか表示されていないので、目的の対象物をどの位置まで移動すればよいのかまだ感覚的に分からない点である。3方向から正しく合わせたつもりでも、ビュー画面で見ると可怪しいことが多々ある。
独自のゲームを作成する場合は設計段階で予め正確な場所を計算して配置するか、あるいは俯瞰図のビュー画面を見ながら感覚で配置するかなど扱い易い方法を検討する必要がある。
複雑そうに見える場面も多くの場合、同じ構造物をコピー、ペーストで使いましているようであり。コピー、移動などのキー操作に慣れれば効率よく作成できそうである。
綺麗な舞台を作り出すためには、マテリアルエディターで物体の質感などを調整する必要があるが、この作業はまだまだ先の話である。

ゲームでの動き段階

この段階の多くはブループリントと言われるスクリプト言語を使用する。このスクリプト言語と言っても機能モジュール(サブルーチン)のような箱型のものをエディター画面に配置して、イン、アウトに対応する所を線で結ぶだけなので、操作は簡単である。少しは表示する文字やコントロールする数字を入力することはある。
「極めるゲーム開発」解説本に丁寧に操作ステップが記入されているので、注意深く作業すれば出来る。それでも解説本の指示する命令がどこにあるのか分からないこともあり、それを見つけるのに四苦八苦する。何しろ操作画面やパラメータが多く、以前の工程で操作を間違えたり、違ったことをすると画面に表示されている内容も異なるので戸惑うこともある。「極めるゲーム開発」ではこのようなことを想定してか操作動画も用意されている。ただ、残念なのは途中から音声説明がなくなることである。
それと、その機能が正しく機能するかテストプレーする必要があるが、その操作の方法がよく分からず思い通りの結果がでないことが多い。この作業は全体を理解したあと再度確かめることになりそうである。
この段階、何も考えずに解説本を見ながら機械的に操作するだけなら簡単なのであるが、最大の問題点は何故その操作を行うのか理解できていない点である。
先ずはアクター、Pawn、キャラクター,アセット、コリジョン、トリガー、オーバラップ、コンポーネントなど専門用語が多く出てくるので、それらの概念を理解することが必要なようだ。解説本にもある程度のことは書かれているが、ゲーム開発がよく分かっていない段階では理解するのはなかなか大変である。試行錯誤しながらこれらの概念に慣れていくことが必要だろう。
UE4には膨大なモジュールや操作画面のパラメータがあるが、その内容の使い分けを理解しなければマスターしたことにはならない。先ずはよく使う機能だけマスターして、すこしづつ範囲を広げて行くことになるであろう。

これからの目標

マスターするにはやはり簡単な自分のゲームを作ることが最も有効なように思う。解説本やYouTubeの関連動画である程度知識が溜まった段階で、利用できるデータ等を調べ簡単なゲーム開発に着手したい。

スポンサーリンク
スポンサーサイト

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
スポンサーサイト