オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
[GDC 2016]Epic Games,「Unreal Engine 4」をVulkan APIで実装したスマホ向けデモ「ProtoStar」のソースコードを公開
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2016/03/17 15:24

イベント

[GDC 2016]Epic Games,「Unreal Engine 4」をVulkan APIで実装したスマホ向けデモ「ProtoStar」のソースコードを公開

Unreal Engine
 2016年2月に開催されたMobile World Congress 2016(以下,MWC 2016)に合わせて,Epic Gamesが「Unreal Engine 4」(以下,UE4)ベースの技術デモ「ProtoStar」をSamsung Electronics(以下,Samsung)製スマートフォン「Galaxy S7」上で動作させ,話題を集めた。

 下に示したのはそのデモをムービーにしたものだが,Game Developers Conference 2016(以下,GDC 2016)には,そんなProtoStarデモをEpic Gamesがいかにして開発したのかを語る技術セッション「Vulkan on Mobile with Unreal Engine 4 Case Study」(モバイルデバイス上におけるVulkan,UE4におけるケーススタディ)があったので,いくつかの発表とともに,簡単にレポートしてみたい。



「UE4 Vulkan」のソースコードをGithubで近日公開


Niklas Smedberg氏(Technical Director, Epic Games)
 GDC 2016では,Vulkan APIをテーマにした技術セッションが多数ある。Vulkan on Mobile with Unreal Engine 4 Case Studyもその1つで,これ自体はARMが主催するものだ。Epic Gamesでテクニカルディレクターを務めるNiklas Smedberg氏が登壇し,ProtoStarの解説を行ったのは,「Mali」GPU IPコアにおけるVulkanと利点といった,割と一般的なテーマが語られた後,セッション後半のことだった。

 さて,そんなProtoStarだが,これは,UE4上で,Vulkan APIを用いて動作するリアルタイムデモだ。セッションでは「UE4 Vulkan」と呼んでいたので,本稿でもそう呼ぶが,Smedberg氏によると,UE4 Vulkanの開発は,ないないづくしの状況から始まったという。
 そもそもスマートフォンにはUE4をインプリメントするだけのグラフィックス機能がないというところから始まって,Vulan APIが正式に決まらない,Vulan APIのドライバがない,割ける人員も時間もないといった具合だ。

Galaxy S7上でVulkanベースのリアルタイムグラフィックスデモを作成するというプロジェクトは,「そもそもスマホ側プロセッサがUE4の動作要件を満たしていない」という惨状からスタートしたという
Unreal Engine

 それもあり,なんとか動いた最初期のプロトタイプは,下のとおり,トンデモない画面になったとのことである。

なので,最初に動いたデモはこんな画面になってしまった
Unreal Engine

 そんなProtoStarを完成させた経験からSmedberg氏は,「Galaxy S7のようなモバイルデバイスにおけるバッテリー駆動時間への影響を抑えながら,PC並みのグラフィックス表現を可能にするには,とくにVulkanのマルチスレッドレンダリングが効果的」と語っていた。UE4 VulkanベースとなるProtoStarデモでは,1フレームあたりの「GPUに対するコマンド実行数」が非常に多いが,それをマルチスレッドで実装しているという。
 スレッドの同期にあたっては,GPUの同期用にセマフォ,CPUスレッドの同時用にはフェンス(※メモリバリアのこと)を用いているそうだ。

 また,Vulkanではコマンドバッファの記録(レコード)を行うことができるので,それをインスタンス化して,多数の「同じ動きのオブジェクト」を1回のコマンドで描画しているとも氏は語っていた。ProtoStarデモには多数の隕石が出てくるのだが,おそらくはそういったオブジェクトにコマンドバッファのレコーディング機能を用いているのだろう。
 ちなみにSmedberg氏は,コマンドバッファのレコーディング機能について,VR(Virtual Reality,仮想現実)にも有効ではないかとも述べていた。いわく,「片眼の描画を行って,そのコマンドバッファを記録してもう片眼を描く,といったことに使える」とのことだ。

ProtoStarデモは1フレームの描画にあたり,GPUに対するコマンドを多く使っており,そこで性能を稼ぐために,Vulkanのマルチスレッドレンダリングを活用している。 また,Vulkanが持つコマンドバッファのレコーディング機能「Recording Command Buffer」も活用しているそうだ
Unreal Engine

UE4 Vulkanのソースコード公開がアナウンス。「それを見れば,もっと詳しいことが分かるはず」とのことなので,興味のある人は公式Webサイトを見てみよう
Unreal Engine
 なお,ProtoStarデモに用いたUE4 Vulkanは「まだ極めて実験的といえる段階で,商用に使えるものではない」(Smedberg氏)とのこと。その点を氏は明確に断ったうえで,「ProtoStarで我々が何をやっているのか。より詳しく知りたい人のために,一部のソースコードを今週中,またさらに多くのソースコードを来週にはそれぞれGithubで公開する」と予告していた。
 興味がある人は,Unreal Engine公式Webサイトをチェックしてほしいとのことである。


Samsungがゲームデベロッパ向けの開発支援プログラムを開始予定


 セッションでは,ProtoStarデモのプラットフォームとなったGalaxy S7のメーカーであるSamsungから,Jungwoo Kim氏も登壇した。Kim氏によると,SamsungとEpig Games,そしてARMが連携してデモ開発のプログラムをスタートさせたのは,今から3年前だという。

Jungwoo Kim氏(Principal Engineer, Samsung Mobile Graphics Team, Samsung Electronics)
Unreal Engine
SamsungとARM,Epic Gamesの協業は,3年前にスタートしたとのこと

4月27日に予定されているSamsung主催の開発者向けイベントで新たなゲーム開発者向けのサポートプログラムをアナウンスする予定だそうだ。こちらも要注目だろう
Unreal Engine
 そのうえで氏は,2016年4月27日にサンフランシスコ市内で開催予定となっているSamsung主催の開発者向けイベント「Samsung Developer Conference 2016」で,同社として新しいゲーム開発者向けの支援プログラムをスタートさせることを明らかにした。その詳細は同イベントで開示するという。
 どのような支援プログラムになるにせよ,VulkanやUE4といった要素が絡んできそうなので,来月の発表にも注目しておくといいかもしれない。

Epic GamesのProtoStar紹介ページ

  • 関連タイトル:

    Unreal Engine

  • 関連タイトル:

    Vulkan

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:04月20日〜04月21日