【CEDEC2017】モバイル開発の必須機能が揃う「Unreal Engine 4」とは…『リネージュ2 レボリューション』『Hit』の実例から見る機能・開発
一般社団法人コンピュータエンターテインメント協会(CESA)が、8月30日~9月1日までパシフィコ横浜にて開催した、国内最大のゲーム開発者向けカンファレンス「コンピュータ・エンターテインメント・デベロッパーズ・カンファレンス 2017」(CEDEC 2017)。
本稿では、8月31日に実施された講演「最新モバイルゲームの実例から見るUE4のモバイル向け機能・開発Tipsを全部まるっとご紹介!」についてのレポートをお届けしていく。 本セッションでは、Epic Games Japanのサポートエンジニア・岡田和也氏、エンジンサポートテクニシャン・星野瑠美子氏が登壇。「Unreal Engine 4」(以下、UE4)を利用した『リネージュ2 レボリューション』や『Hit』、Epic Gamesが開発している『Battle Breakers』における事例を交えつつ、「Unreal Engine 4」におけるモバイル向け機能・開発Tipsが紹介された。
▲Epic Games Japanのサポートエンジニア・岡田氏。ライセンシ向けのQ&AサイトであるUDNでの回答や直接会社に訪問してのサポートや、VR関係の勉強会などで講演をしている。 個人ではVRコンテンツ開発者として勉強会などに参加。
▲Epic Games Japanのエンジンサポートテクニシャン・星野氏。前職オートデスクでは、ソフトウェアエンジニアとしてゲーム開発会社向けにMayaやSoftimage等の技術サポートやコンサルティングを行っていた。
本セッションでは、まず岡田氏がモバイルゲーム市場におけるUE4の現状を説明。現在、『リネージュ2 レボリューション』や『Hit』といったUE4製モバイルタイトルが国内外でヒットしており、市場においてUE4の波が来ているという。“UE4の各機能のモバイル対応状況”については、PC・コンソール開発で使用する機能のほとんどはモバイルでも問題なく使用できる。ただし、対象となるハードの関係で一部の機能、とくに線画機能には制限がいくつかあるため、今後のデバイスの発展や普及に期待と語った。
▲Blueprintを使用したビジュアルスクリプティング。従来はプログラミングを行う必要があったが、Blueprintの場合はノードを繋げることでゲームのアルゴリズムを組むことが出来る。
強力なライティング機能、ランドスケープによる地形(テレイン)作製、AI作成用のビヘイビアツリー機能など、便利な機能が多く備わっているUE4。非エンジニアが“自分のアイデア”を“自分で実装”できる環境を提供されていると紹介した。UE4には「プランナー。アーティストに力を」という理念があり、エンジニアの手を借りなくても、自由に製作・調整作業ができるのが利点である。これによりエンジニアは自分の作業に専念でき、結果としてイテレーションを早く回すことができる。開発サイクルの早いモバイルにおいては、このイテレーションの早さは特に効果的と岡田氏は太鼓判を押した。
続いて星野氏より、モバイル向けの最新レンダリング機能の紹介が行われた。UE4のレンダラは、デスクトップでのデフォルトである「ディファードレンダラ」、VRのプロジェクトで使われている「フォワードレンダラ」、そして「モバイルレンダラ」の3種類。そのうち「モバイルレンダラ」は、「フォワードレンダラ」を使用しており、マテリアルシステムはデスクトップと同じ物理ベースを採用。フルHDRライティングサポートも行っている。かつてライティングやシャドウ、ポストプロセスで一部機能が制限されていたが、現在は機能強化が進んでいるという。
▲ハイエンドモデル向けのES_3.1が追加され、各種パフォーマンスが向上した。
ここで、SamsungとEpicの共同開発で制作された、ProtoStarデモ(2016年2月発表)を紹介。「モバイルレンダラ」でどこまでできるのかを視覚的に説明したあと、「インタラクティブな反射表現」「リフラクション(屈折)」など、各機能を説明した。
ポストプロセスエフェクトに関しては、ブルーム、トーンマッパー、被写体深度、自動露光、ポストプロセスマテリアル、アンチエイリアスなどがモバイルで使用可能。ユーザーが自分のカスタムでポストプロセスを作ることもできる。
モバイル向けの最新レンダリング機能をまとめると下記の通り。
・ハイエンド向けのE3.1設定の開発が可能になった
・機能追加が進んでいて、リッチなグラフィックをモバイルでも実現できる
(反射、リアルタイムの影、GPUパーティクル、ポストプロセスの強化)
これらの機能を活用して頂けると嬉しいとコメントし、星野氏は発表を終えた。
プレゼンターは再び岡田氏に。「モバイル開発でよく使うあの機能、UE4のどこにあるの?」と題し、モバイルプレビュー機能やAndonand/iOSのプラットフォーム対応など、岡田氏曰く”皆さんが興味のある泥臭い話”を展開。
まずは、「モバイルプレビュー機能」について。その名の通り、エディタ上でモバイルでどのような描画になるのかを確認できるもので、エディタを再起動することなく、ツールバーから簡単に切り替えることができる。EL3,1、Vulkan、Metalなどにも対応済だ。本機能は4.18で改良され、使用する端末を指定できるようになった。例えば画面解像度やGPU機能、デバイスプロファイルなど設定でき、特定のデバイスにおけるハード性能、設定を細かくエミュレートできるわけだ。
ただし、特定の端末ではエディタと異なる描画結果になる可能性があるため、最終的なチェックは必ず実機上で行うこと。モバイルプレビュー機能は、あくまで「作業の方向性の確認」として使用することを推奨した。
▲じつはこっそりと4.17にも入っていると岡田氏。リリースノートにも書かれていなかったという。
続いて「Android/iOSのプラットフォーム対応」について。結論としては、基本的な機能はすべてエンジン側で実装済みの状態である。Blueprintのノード、C++関数どちらも提供しており、プラットフォーム・ストアの違いを意識しなくても良い作りになっているという。
実装されている機能例は下記の通り。
「ゲーム内広告・アナリティクス」に関しては、バナー広告やインターステイシャル広告(全面広告)はBlueprintのみで実装可能。ただし、後者はAndroidのみで、動画広告に関しては残念ながら現状未対応となっている。
現状、岡田氏がオススメできる広告表示用プラグインとして「Universal Mobile Ads」が挙げられた。前述の3種類の広告タイプにAndroid/iOS両対応し、最新バージョンへの対応が早い。さらに全ソースコードも付いている。そのため、現状UE4で何か広告を出したいという場合は、こちらのプラグインを検討すべきと話した。
プレイヤーの継続率や離脱率を計測すると「インゲーム アナリティクス」(解析ツール)に関しては、ゲーム内で必要となる処理・イベントはBlueprint・C++で用意されている。サービスとのやり取りは、各サービスに対応したプラグイン内で行われる。標準対応しているサービスは「Flurry」「Apsaalar」「Adjust」の3種類。
▲マーケットプレイスで販売されているアセット。プロジェクトに応じて、知りたい内容・項目に応じて、こういったサービスを選択することが可能。
続いての話題は、興味を持つことが多いであろう「コンテンツアップデート」について。運営型ゲームにおいて、コンテンツアップデートに掛かるコストは非常に重要である。人と時間的なコスト、DLサイズによる負荷、アセット間の依存関係など、様々な問題が生じると岡田氏。
結論としては、各パッケージタイプ(Release、Patch、DLC)を組み合わせることで、プロジェクト・更新内容に適した作業フローを柔軟に構築可能となっている。通常通りのアセットベースのリソース管理で問題がなく、コンテンツ開発中にパッケージをビルド・DL・解凍する必要はない。ただし、ユーザにコンテンツを配信するためにパッケージを作る方と、DLC内のアセットを間接参照する方には注意が必要となる。
▲Epic Gamesの海外の一部地域で配信が始まっている『Battle Breakers』では、ストアを介さず新キャラクターの追加を実現した。
以下、よくあるユースケースを例にした説明。
▲新キャラクターを追加する場合。
▲さらにキャラクターを追加する場合。Patchをベースにコンテンツのアップデートを行う場合は、前回のPatchを含むPatchを作成し、それをリリースに適応する形となる。
▲最後にDLCの場合。こちらもPatch同様に差分であるため、同じ利点をもっている。ただし、注意点もある。
これらをまとめて、岡田氏は各パッケージの利点・欠点を把握し、各プロジェクトにとって適切な手法を選ぶことが大切であると述べた。
次に、これらのRelease、Patch、DLCを作るための手法を紹介。UE4では「Project Launcher」という機能があり、これを使用してProfile(パッケージング設定)の作成を行う。アセット間の依存関係、またReleaseとの差分関係も、指定したバージョンから変更・追加したアセットのみをパッケージに含める形ですべてこのツールが解決してくれる。
▲インストールには「Http Chunk Installer」が良いという。
最後に「その他」の機能について。まず、最近ゲーム内のイベント告知などで使用されている「Webブラウザ」については、UMGで用意されているWeb Browserウィジェットを使うだけとなっている。続いて「キーボード」に関しては、テキストボックスにタッチすると自動的に表示・操作が可能となっている。Androidの場合は、UE4.16でバーチャルキーボード対応が追加されたという。そのほか、「動画再生」についてもAndroid/iOSに標準対応しており、オーディオ再生・ストリーミング再生にも対応。UE4.18でさらに改良されたMedia Framework3.0がリリース予定だという。
まとめとして、これまで述べた一昔前のUE4が弱かったモバイル開発特有の機能・サービスへの対応が整ったといえるだろう。
以下、モバイル開発において良くある問題とその対策・Tipsについて。
1:端末・スペックに応じた設定・調整をするには
▲上記の3点がカギを握る。
2:バッテリー消費・発熱を抑えたい!
▲とあるプロジェクトで選択された、バッテリー消費・発熱問題への対策の例。
モバイル開発で必須な機能がすでに揃っているUE4。UE4でモバイル開発を進めている方、または導入を検討している方にとっては、大変興味深い内容となった。
本稿では、8月31日に実施された講演「最新モバイルゲームの実例から見るUE4のモバイル向け機能・開発Tipsを全部まるっとご紹介!」についてのレポートをお届けしていく。 本セッションでは、Epic Games Japanのサポートエンジニア・岡田和也氏、エンジンサポートテクニシャン・星野瑠美子氏が登壇。「Unreal Engine 4」(以下、UE4)を利用した『リネージュ2 レボリューション』や『Hit』、Epic Gamesが開発している『Battle Breakers』における事例を交えつつ、「Unreal Engine 4」におけるモバイル向け機能・開発Tipsが紹介された。
▲Epic Games Japanのサポートエンジニア・岡田氏。ライセンシ向けのQ&AサイトであるUDNでの回答や直接会社に訪問してのサポートや、VR関係の勉強会などで講演をしている。 個人ではVRコンテンツ開発者として勉強会などに参加。
▲Epic Games Japanのエンジンサポートテクニシャン・星野氏。前職オートデスクでは、ソフトウェアエンジニアとしてゲーム開発会社向けにMayaやSoftimage等の技術サポートやコンサルティングを行っていた。
本セッションでは、まず岡田氏がモバイルゲーム市場におけるUE4の現状を説明。現在、『リネージュ2 レボリューション』や『Hit』といったUE4製モバイルタイトルが国内外でヒットしており、市場においてUE4の波が来ているという。“UE4の各機能のモバイル対応状況”については、PC・コンソール開発で使用する機能のほとんどはモバイルでも問題なく使用できる。ただし、対象となるハードの関係で一部の機能、とくに線画機能には制限がいくつかあるため、今後のデバイスの発展や普及に期待と語った。
▲Blueprintを使用したビジュアルスクリプティング。従来はプログラミングを行う必要があったが、Blueprintの場合はノードを繋げることでゲームのアルゴリズムを組むことが出来る。
強力なライティング機能、ランドスケープによる地形(テレイン)作製、AI作成用のビヘイビアツリー機能など、便利な機能が多く備わっているUE4。非エンジニアが“自分のアイデア”を“自分で実装”できる環境を提供されていると紹介した。UE4には「プランナー。アーティストに力を」という理念があり、エンジニアの手を借りなくても、自由に製作・調整作業ができるのが利点である。これによりエンジニアは自分の作業に専念でき、結果としてイテレーションを早く回すことができる。開発サイクルの早いモバイルにおいては、このイテレーションの早さは特に効果的と岡田氏は太鼓判を押した。
続いて星野氏より、モバイル向けの最新レンダリング機能の紹介が行われた。UE4のレンダラは、デスクトップでのデフォルトである「ディファードレンダラ」、VRのプロジェクトで使われている「フォワードレンダラ」、そして「モバイルレンダラ」の3種類。そのうち「モバイルレンダラ」は、「フォワードレンダラ」を使用しており、マテリアルシステムはデスクトップと同じ物理ベースを採用。フルHDRライティングサポートも行っている。かつてライティングやシャドウ、ポストプロセスで一部機能が制限されていたが、現在は機能強化が進んでいるという。
▲ハイエンドモデル向けのES_3.1が追加され、各種パフォーマンスが向上した。
ここで、SamsungとEpicの共同開発で制作された、ProtoStarデモ(2016年2月発表)を紹介。「モバイルレンダラ」でどこまでできるのかを視覚的に説明したあと、「インタラクティブな反射表現」「リフラクション(屈折)」など、各機能を説明した。
ポストプロセスエフェクトに関しては、ブルーム、トーンマッパー、被写体深度、自動露光、ポストプロセスマテリアル、アンチエイリアスなどがモバイルで使用可能。ユーザーが自分のカスタムでポストプロセスを作ることもできる。
モバイル向けの最新レンダリング機能をまとめると下記の通り。
・ハイエンド向けのE3.1設定の開発が可能になった
・機能追加が進んでいて、リッチなグラフィックをモバイルでも実現できる
(反射、リアルタイムの影、GPUパーティクル、ポストプロセスの強化)
これらの機能を活用して頂けると嬉しいとコメントし、星野氏は発表を終えた。
プレゼンターは再び岡田氏に。「モバイル開発でよく使うあの機能、UE4のどこにあるの?」と題し、モバイルプレビュー機能やAndonand/iOSのプラットフォーム対応など、岡田氏曰く”皆さんが興味のある泥臭い話”を展開。
まずは、「モバイルプレビュー機能」について。その名の通り、エディタ上でモバイルでどのような描画になるのかを確認できるもので、エディタを再起動することなく、ツールバーから簡単に切り替えることができる。EL3,1、Vulkan、Metalなどにも対応済だ。本機能は4.18で改良され、使用する端末を指定できるようになった。例えば画面解像度やGPU機能、デバイスプロファイルなど設定でき、特定のデバイスにおけるハード性能、設定を細かくエミュレートできるわけだ。
ただし、特定の端末ではエディタと異なる描画結果になる可能性があるため、最終的なチェックは必ず実機上で行うこと。モバイルプレビュー機能は、あくまで「作業の方向性の確認」として使用することを推奨した。
▲じつはこっそりと4.17にも入っていると岡田氏。リリースノートにも書かれていなかったという。
続いて「Android/iOSのプラットフォーム対応」について。結論としては、基本的な機能はすべてエンジン側で実装済みの状態である。Blueprintのノード、C++関数どちらも提供しており、プラットフォーム・ストアの違いを意識しなくても良い作りになっているという。
実装されている機能例は下記の通り。
「ゲーム内広告・アナリティクス」に関しては、バナー広告やインターステイシャル広告(全面広告)はBlueprintのみで実装可能。ただし、後者はAndroidのみで、動画広告に関しては残念ながら現状未対応となっている。
現状、岡田氏がオススメできる広告表示用プラグインとして「Universal Mobile Ads」が挙げられた。前述の3種類の広告タイプにAndroid/iOS両対応し、最新バージョンへの対応が早い。さらに全ソースコードも付いている。そのため、現状UE4で何か広告を出したいという場合は、こちらのプラグインを検討すべきと話した。
プレイヤーの継続率や離脱率を計測すると「インゲーム アナリティクス」(解析ツール)に関しては、ゲーム内で必要となる処理・イベントはBlueprint・C++で用意されている。サービスとのやり取りは、各サービスに対応したプラグイン内で行われる。標準対応しているサービスは「Flurry」「Apsaalar」「Adjust」の3種類。
▲マーケットプレイスで販売されているアセット。プロジェクトに応じて、知りたい内容・項目に応じて、こういったサービスを選択することが可能。
続いての話題は、興味を持つことが多いであろう「コンテンツアップデート」について。運営型ゲームにおいて、コンテンツアップデートに掛かるコストは非常に重要である。人と時間的なコスト、DLサイズによる負荷、アセット間の依存関係など、様々な問題が生じると岡田氏。
結論としては、各パッケージタイプ(Release、Patch、DLC)を組み合わせることで、プロジェクト・更新内容に適した作業フローを柔軟に構築可能となっている。通常通りのアセットベースのリソース管理で問題がなく、コンテンツ開発中にパッケージをビルド・DL・解凍する必要はない。ただし、ユーザにコンテンツを配信するためにパッケージを作る方と、DLC内のアセットを間接参照する方には注意が必要となる。
▲Epic Gamesの海外の一部地域で配信が始まっている『Battle Breakers』では、ストアを介さず新キャラクターの追加を実現した。
以下、よくあるユースケースを例にした説明。
▲新キャラクターを追加する場合。
▲さらにキャラクターを追加する場合。Patchをベースにコンテンツのアップデートを行う場合は、前回のPatchを含むPatchを作成し、それをリリースに適応する形となる。
▲最後にDLCの場合。こちらもPatch同様に差分であるため、同じ利点をもっている。ただし、注意点もある。
これらをまとめて、岡田氏は各パッケージの利点・欠点を把握し、各プロジェクトにとって適切な手法を選ぶことが大切であると述べた。
次に、これらのRelease、Patch、DLCを作るための手法を紹介。UE4では「Project Launcher」という機能があり、これを使用してProfile(パッケージング設定)の作成を行う。アセット間の依存関係、またReleaseとの差分関係も、指定したバージョンから変更・追加したアセットのみをパッケージに含める形ですべてこのツールが解決してくれる。
▲インストールには「Http Chunk Installer」が良いという。
最後に「その他」の機能について。まず、最近ゲーム内のイベント告知などで使用されている「Webブラウザ」については、UMGで用意されているWeb Browserウィジェットを使うだけとなっている。続いて「キーボード」に関しては、テキストボックスにタッチすると自動的に表示・操作が可能となっている。Androidの場合は、UE4.16でバーチャルキーボード対応が追加されたという。そのほか、「動画再生」についてもAndroid/iOSに標準対応しており、オーディオ再生・ストリーミング再生にも対応。UE4.18でさらに改良されたMedia Framework3.0がリリース予定だという。
まとめとして、これまで述べた一昔前のUE4が弱かったモバイル開発特有の機能・サービスへの対応が整ったといえるだろう。
以下、モバイル開発において良くある問題とその対策・Tipsについて。
1:端末・スペックに応じた設定・調整をするには
▲上記の3点がカギを握る。
2:バッテリー消費・発熱を抑えたい!
▲とあるプロジェクトで選択された、バッテリー消費・発熱問題への対策の例。
モバイル開発で必須な機能がすでに揃っているUE4。UE4でモバイル開発を進めている方、または導入を検討している方にとっては、大変興味深い内容となった。
(文・長戸勲)
会社情報
- 会社名
- Epic Games(エピック ゲームズ)