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

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

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

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

LINEで4Gamerアカウントを登録
QRコードでLINEの4Gamer
アカウントを友達登録すると
月〜金の週5回,21時に厳選
ニュースをお届けします!
※購読にはLINEアプリが必要です
[Unite 2015]スマホ向けゲームをPS Vitaで快適に動かすポイントとは。「Project Morpheus」のUnity 5.0対応も披露されたSCE講演レポート
特集記事一覧
注目のレビュー
注目のムービー
印刷2015/04/15 19:18

イベント

[Unite 2015]スマホ向けゲームをPS Vitaで快適に動かすポイントとは。「Project Morpheus」のUnity 5.0対応も披露されたSCE講演レポート

講演を担当した,ソニー・コンピュータエンタテインメントジャパンアジア パブリッシャリレーション部次長 SCEJA開発サポート責任者の秋山賢成
 2015年4月13日,ソニー・コンピュータエンタテインメント(以下,SCE)は,Unity Technologies主催の開発者向けイベント「Unite 2015 Tokyo」にてUnity 5.0 for PlayStationの最新状況(と,例のアレ)」と題した講演を行った。
 ゲームエンジンUnityの最新版である「Unity 5.0」の,PlayStationプラットフォームに対する最新状況について説明するのが講演のメインテーマだったが,もう1つのテーマとなったのが,タイトルにある「アレ」こと仮想現実対応HMD「Project Morpheus」の新型試作機についてだ。
 Unityを軸にして様々な話題が披露された講演の概要をレポートしよう。


UnityベースのゲームをスマートフォンとPS Vitaとで同時展開するとき注意点


 講演はSCEJA開発サポート責任者の秋山賢成氏によって行われた。最初の話題となったのは,Unity 5.0の話ではなく,PlayStation Vita(以下,PS Vita)向けタイトルの開発に利用されることが多くなっているという,「Unity 4.3 for PS Vita」の事例だ。
 もともとUnityは,小規模な開発チームでPCやスマートフォン向けにゲームを制作するインディーズゲーム開発者に人気のあったゲームエンジンである。しかし,最近では,比較的規模の大きなゲームスタジオでも採用が進んできており,PlayStationプラットフォームのようなコンシューマゲーム機向けのタイトルがUnityで開発される事例も増えてきていると,秋山氏は指摘した。

Unityベースで開発され,PlayStationプラットフォームに展開されたゲームの例
Unity

 Unityの魅力は,なんといっても対応するプラットフォームの幅広さだ。PCやスマートフォン向けに制作されたゲームを,PS VitaやPlayStation 4(以下,PS4)にまで移植することが可能で,実際,そうした展開事例からヒット作も生まれている。

最近増えているのはスマートフォンのヒット作をPS Vitaに展開する事例と秋山氏は述べる
Unity
Unity

 SCEはこうした状況を歓迎する一方で,危惧している部分もあると秋山氏は打ち明ける。とくに,Unityベースのゲームをマルチプラットフォーム展開をするときにPS Vitaへの展開を考えているのなら,一定の配慮を持って開発する必要があるというのだ。
 それは,「PS Vitaの性能に対する配慮」である。

 PS Vitaは2011年12月に発売された携帯ゲーム機だ。当時としては,かなりハイスペックなSoC(System-on-a-Chip)を搭載していたが,発売から4年も経つと陳腐化は免れない。とくに,スマートフォン向けSoCは進化のスピードも速く,ミドルクラスのスマートフォンがPS Vitaと同等の性能を持ち,ハイエンドスマートフォンに至ってはPS Vitaを軽く上回っているという状況だ。そのため,スマートフォンでの動作を前提にUnityでゲームを開発していると,PS Vitaでは同等のクオリティでは動作させられなくなりつつあるというのだ。

「最新のスマートフォンと,PS Vitaは同じスペックではありません」という身も蓋もないスライド(左)。違いを踏まえて開発を進めないと痛い目にあうことも……(右)
Unity Unity

秋山氏が挙げた,Unity for PS Vitaにおける技術的な課題。抽象化レイヤーの分厚いUnityの場合,性能面で劣るPS Vita向けにゲームを作るときには,こうした特有の課題がある
Unity

 これは,Unity上で開発したアプリケーションが,さほど苦労なく異なるプラットフォーム上で動作するために起こりがちな問題だと秋山氏は指摘する。
 Unityというゲームエンジンは,比較的分厚い抽象化レイヤーを介することで,ハードウェアプラットフォームごとの差異を吸収してアプリケーションを実行する仕組みだ。それゆえに,Unity上でのゲーム開発はターゲットとするハードウェア向けのゲームを開発しているというよりも,Unityプラットフォームで動くゲームを開発しているという感覚になりがちだという。

UnityベースのスマートフォンタイトルのPS Vitaへの移植するときにありがちな事例
Unity

 Unityにおける抽象化レイヤーの性能は,CPUの処理速度に依存する傾向があり,しかもマルチコアCPUによる並列化の効果が出にくいそうだ。つまり,CPUコアのシングルスレッド性能に依存してしまう傾向にある。PS VitaのCPUは,最新スマートフォンのそれには及ばないため,この性能差に配慮して開発を進めないと「動くことは動くが,スマートフォン版に見劣りする体感速度」となってしまう。
 もちろん,ネイティブコードでPS Vita向けのゲーム開発をすればこうした性能問題は出にくいが,抽象化レイヤーによって,一定のCPU性能を消費されてしまうUnityでのゲーム開発では,「動いただけで安心せず,性能については常にシビアな目線で高頻度にチェックをする必要がある」というわけだ。

スマートフォンとPS Vitaの進化を比べたスライド。PS Vitaが発売時から性能が変化していないのに対して,スマートフォンは短いサイクルで性能を向上させてきた
Unity

Unityは抽象化レイヤーがあるために,ターゲットプラットフォームのCPUパワー(とメモリリソース)に性能が依存してしまう傾向が強い
Unity Unity

プロジェクト終盤になってから,性能が不足するからといってネイティブコードで書き直すのは無理。「とりあえず動く」で安心せずに,PS Vita実機での動作チェックを随時行わないと大変なことになる,と秋山氏は警告する
Unity

 秋山氏は,Unityで開発されたスマートフォン向けゲームをPS Vitaに移植している事例を説明した。この事例は,まさに秋山氏が警告した「Unityの便利さにハマってしまった」パターンの典型だそうだ。

 Unityで開発した最初期の試作版がPS Vita上で楽に動作してしまうことで,「このままいける」と安心。逐次の確認をしないままPC上で開発を進めてしまったために,β版をPS Vita実機で動作させた段階で初めて性能の落ち込みが激しいことが発覚。結局,開発は間に合わなくなってしまった。というのが事例の詳細である。

※2015年4月17日18:45頃更新:本稿とは無関係な事例と混同される可能性がある表記を修正いたしました。

Unityベースのスマートフォン向け人気タイトルをPS Vitaへ移植しようとしたときに起こったこと
Unity

 このような問題は増えているそうで,こうした失敗を回避するためには,PS Vita実機での動作確認を頻繁に行うことが重要だと,秋山氏は語っていた。

 また,こうした問題への対策としてSCEは,PS Vitaのシステムソフトウェア Ver 3.50以降で,システム側が持つ一部の標準機能を制限することと引き替えに,ゲームが利用できるメインメモリ容量を約30%増加できるようにする改良を施したという。この改良でも,Unityで開発されたゲームをPS Vitaで動かすときの問題を解決できるわけではないが,性能改善には大きく貢献するだろうと目されているそうだ。

PS Vitaのシステムソフトウェア Ver.3.50以降では,ゲーム側で使えるメモリ容量を約30%増量する選択肢が提供される
Unity
Unity


PlayStationプラットフォーム対応版Unity4とUnity5の違いは?


Unity
 次に秋山氏が取り上げたのは,メインテーマであるPlayStationプラットフォームに対するUnity 5.0の対応状況である。
 まず,Unity 5.0は,すでにPS4とPlayStation 3(以下,PS3),そしてPS Vitaに対応している。秋山氏は,これらPlayStationプラットフォーム向けのゲームを開発するうえで,Unity 4.xからUnity 5.0へと乗り換えるメリットについて説明した。

 1つめのメリットは,エラーメッセージに生じていた問題が解消されたこと。これは,コンパイル時に表示されるエラーメッセージで,エラーが発生した行を示していた部分が,実際のエラー発生行とずれていた問題のことだという。

エラーメッセージが表示するエラー発生行と,実際のソースコードにおける行がずれてしまう問題が解消された
Unity
Unity

 2つめは,グラフィックス描画を行うシェーダのコンパイルが改善されたこと。今までは,ターゲットとするプラットフォームすべてのシェーダをコンパイルしていたそうだが,これが必要なものだけを適宜コンパイルできるように改善されたそうだ。

Unity 5.0では,シェーダのコンパイルが必要なものだけ行えるようになった
Unity

Unity
 3つめは,コアエンジンのマルチスレッド対応が進み,シングルコア処理性能への依存度が弱まったことだという。秋山氏は,マルチスレッド化が性能向上に貢献している事例を紹介した。それによると,オクルージョンカリング(描画が不要なポリゴンを描画対象から排除する工程)や不要なメモリの解放処理などが,Unity 5.0では効率よく処理可能になっているとのこと。

 また,Unity 5では,コマンドバッファに対する描画コマンドの構築もマルチスレッド化されており,GPU駆動のオーバーヘッドも削減されている。これらの改良によって,Unity 5.0では,Unity 4.x世代よりも多くのゲームオブジェクト描画が行えると秋山氏はアピールしていた。

Unity 5.0で強化されたマルチスレッド対応の例を示したスライド
Unity
Unity

 しかし秋山氏は,Unity 5.0に搭載された新機能の数々に大きな魅力があると認めつつも,地味に改良されたエンジンの根幹アーキテクチャをより高く評価しているという。そして,この恩恵を利用するためだけでも,「Unity 5.0への移行はお奨めできる」と述べていた。

Unity
 さらに,今後登場するであろうUnity 5.xへの期待として,秋山氏は「IL2CPP」への対応を挙げていた。
 IL2CPPとは,C#で書かれたプログラムコードをC++のコードに変換する仕組みのこと。ブラウザゲームにおいて,C#からC++に変換したコードをさらにJavaScriptへと変換して実行する処理系の一部として言及されることの多い機能だが,C++のコードをそのままコンパイルしてネイティブコードで実行させることも可能だ。
 実際,Unityでは,iOS向けの64bit版向けプログラムにおいて,IL2CPPを利用するという方針を打ち出している(関連リンク)。それをほかのプラットフォームにも拡大することができれば,ゲームの実行性能を向上させられるだろう。

性能面が改善されたUnity 5.0であっても,前述した炎上事例のような事態を避けるために実機での性能確認はこまめに行なおうと,秋山氏はここでも繰り返していた
Unity


国内初披露となったProject Morpheusの新型試作機


日本初公開となった第2世代Morpheus。ただ,残念ながら体験会は行われていない
Unity
 秋山氏は,講演の最後に,国内のイベントでは初公開となるProject Morpheusの第2世代試作機(以下,第2世代Morpheus)を披露した。スペックに関する説明もあったが,それについてはGDC 2015でのレポートを参照してほしい。

 ステージでは,実際に装着してのリアルタイムデモも行われている。披露されたのはUnityのマスコットキャラクターであるユニティちゃんを使った「ユニティちゃんライブステージ - Candy Rock Star -」だ。秋山氏によると,第2世代Morpheusでは,レンダリングフレームレートこそ60fps固定であるものの,Temporal Reprojection処理(時間再射影,いわゆるTime Warp処理)によって,頭部の動きに対して120fps相当で追従した映像表示を実現しているとのことだった。

第2世代Morpheusを使ったユニティちゃんのデモは,映像描画こそ60fpsだが,Temporal Reprojection処理により,ヘッドトラッキングへの映像追従は120fps相当で行われているという(左)。ただ,装着した女性スタッフが終始棒立ちだったために(右),改良された9点LEDトラッキングの恩恵などは少々伝わりにくかったのが残念
Unity Unity

 このデモは,Unity 5.0用に開発した「Morpheusプラグイン」をインストールした環境下で制作されたものだという。Unityベースのプログラムによる映像出力を単純にMorpheusで表示させるだけならば,用意された専用スクリプトを設定するだけでOKとのことで,とても簡単に作れそうに見える。
 もちろん,仮想現実対応HMDならではのコンテンツを作るとなれば,ほかにも苦労や工夫は必要になるが,Unityによるゲームを「とりあえずMorpheusで見られるようにして評価する」だけであれば,すぐに実現できるというのは開発者にとって利点となるはずだ。

Unity 5.0向けのMorpheusプラグインも登場。UnityでのVRコンテンツ作成がより簡単になるほか,既存のUnityプロジェクトをVR対応にするのも容易になる
Unity

 新しいコンピュータエンターテイメントである仮想現実対応ゲームの開発において,SCEは,開発途中段階での試行錯誤がスピーディに行えるUnityに大きな期待をしていることが,短い説明の中でも伝わってくる講演であった。

「Unite 2015 Tokyo」公式サイト


  • 関連タイトル:

    Unity

  • 関連タイトル:

    PlayStation VR

  • この記事のURL:
line
4Gamer.net最新情報
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:06月26日〜06月27日
タイトル評価ランキング
88
82
ARMS (Nintendo Switch)
82
NieR:Automata (PS4)
75
鉄拳7 (PS4)
2016年12月〜2017年06月