イベント
[GTMF]オンラインゲームも簡単に作成できるようになったUnity 5.1の新機能紹介セッションレポート
ここではゲームエンジンUnityの最新版である5.1に関するセッションを紹介しよう。講師はお馴染みのユニティ・テクノロジーズ・ジャパンの大前広樹氏だ。内容としては,Unity 5.1に関連した最新情報が紹介されたことがメインだったのだが,最初にそれ以外の重要なお知らせが行われた。
まず,Unite Tokyo 2015の講演内容などが公開となったことが紹介された。ほぼすべてのセッションがムービーで見られるようになっている。セッション部分だけではなく,今回はブートキャンプの部分も動画で公開されているのが大きな特徴だ。教材のダウンロードや使用されたツールの体験版などへのリンクもあるので,実際に自分でさまざまなことを体験できるようになっている。
また,6月末に行われたUnite 2015 Europeで発表された情報としては,Unity 5のリアルタイムデモとしてGDCで発表されていた「The Blacksmith」のコードが,部分的に公開されたことなどが紹介された。
フルバージョンのデモを実行するにはハイエンドのWindows PCが必須と,実行そのもののハードルが高いものらしいのだが,全体を提供してもポイントが分かりづらいということで,技術的に重要な要素を抜き出していくつかの短いデモにまとめ直したものが公開されるとのこと。
要素デモを挙げていくと,「Environment」で,これは舞台となるアセットを収録したものだ。「Characters」は登場キャラクターをまとめたもので,衣服のクロス処理などが注目点だとのこと。「Hair Shader」は髪の毛の異方性反射シェーダなどをピックアップしたもので,「Wrincle Maps」は顔の皺のマッピングとブレンドシェイプでリアルな表情を作っていくデモになっている。
「Unique Character Shadow」はキャラクターの影処理に関するデモだ。Blacksmithは,デモムービーだと家の中からちょこっと歩いているだけなのだが,実際には2km四方のエリアのアセットが含まれているのだという。その単位でシャドウマップを適用すると,いくら解像度を上げてもキャラクターの影が雑になるので,キャラクターには専用のシャドウマップを用意して対応しているということのようだ。
また,「Atomospheric Scattering」は物理ベースレンダリング時代にフォグに代わる処理として導入された大気表現で,レイリー散乱やミー散乱などを組み合わせ,高度による霧のような効果などを加味した大気散乱のモデルを紹介したものとなるという。これらのデモはAssetStoreで入手可能だ。
Unity 5.1の話に入る前に,Unityの公式サイトに追加されたロードマップについても紹介が行われた。今後登場する2バージョンについて,リリース予定日と更新内容,進捗などをまとめたリストが公開されている。そのほか,開発中や研究中の案件などもリスト化されており,将来的なUnityの目指す方向も垣間見れる内容だ。
Scketchupは,Googleが提供しているモデリングツールで,主に建築用(元々Google Mapの3Dモードで建物を追加するために作られた)のものだが,扱いやすいので大手のゲーム会社でもレベルデザインなどで多く使われているのだそうだ。
講演では,実際にScketchupで作ったデータをUnity Editorに読み込む様子が示された。
次に紹介されたのはMultiplayer Network機能だ。これは従来のUnityのネットワーク機能を置き換えるもので,ローレベルAPIからハイレベルAPIまで取り揃えられており,さまざまな規模のネットワーク案件に対応できるものだという。
また,サーバー側のサービスをUnity Technologiesがクラウドで提供するというサービス込みでの公開となっており,非常に力が入っていることがうかがえる。
これをネットワーク対戦用にしていくわけだが,最初にHierarchyビューにMetwok Managerを追加するところから作業は始まった。続いてそこにNetwork Manager HUDを加えられた。これで前準備は終わった模様。
さらに,Network Managerには,「自キャラはどれよ?」という項目があるので,そこに自キャラとなる戦車のプレファブを指定すればよいようだ。ただ,そのままでは扱えないので,あらかじめAdd Componentで戦車のプレファブに,Network Identityという項目を加えておく必要がある。Network Identifyでは,サーバー上で動くものかプレイヤーが操作するものかを指定できるので,ここではLocal Player Ausorityが指定されていた。
戦車の動きを制御するスクリプトで,ゲームを制御しているMonoBehaviourをNetworkBehaviourに置き換えると,ローカル環境なのかどうかを判定することができるようになる。それを使って「ローカル環境かどうかを識別して入力処理を分ける」判定をキー入力部分と動かす部分に入れてやると,それぞれの戦車を独立して動かすことができる。
同期については,戦車のプレファブに「Network Transform」を加えることで同期の指定ができる。どういうモードで同期するかで,この場合は「Sync Rigidbody 3D」が指定されていた。
どういった情報を同期するかでは,ゲームの特性上,フル3Dでの回転は必要なく,Y軸回りのものだけで済むので,情報を限定しつつビルドすると,これでほぼ独立した操作で動くネットワークゲームができていた。唯一,方向修正の遅れが目立っていたが,これも回転の補間速度が指定できるので,Interpolate Rotation Factorを1から適当な数字に上げて解決。非常に簡単な操作でゲームのオンライン化を実現してみせていた。
最初に,Unity自体が集めている統計情報ということで,各種統計情報が紹介された。現在,Unityで作られたゲームは1秒間に250回ダウンロードされており,1日あたりでは2200万ダウンロードにもなるという。200以上の国で使われ,21のプラットフォームで,40のジャンルにわたって展開されているとのこと。
アプリからの情報もまとめられており,使用されている端末の種類やメーカー,OSのバージョンなどが地域ごとに確認できる様子が示された。そのほか,GPUの種類やCPUのコア数やメモリ量,画面縦横比といったなどが一覧でき,開発会社にとってはきわめて重要な指針になるだろう。この機能はUnity 5.3に組み込まれるという。
また,統計情報をゲーム開発に生かす方法も紹介された。下の図は,マップのよくプレイヤーが通る場所が緑,プレイヤーが死亡した場所が赤で色分けされている。こういったものを参考にしてゲームのバランス調整を行うことができるようになるとのこと。
そういったものを活用した「Ultra Flow」の事例が紹介された。Ultra Flowはフリック操作で弾を弾き飛ばしてゴールへ導くパズルゲームだが,Analysticsの機能を使ってユーザーがどの面で離脱するかなどを調べて調整した結果,ゲームクリア数は20%上がり,ステージクリア数は200%(2倍)に,ユーザー数は2000%(20倍)になったのだという。
こういったものも「成功支援」の一環ということなのだろうが,Unityは,このようなサポートツール&サービスを充実させてきており,単なるゲームエンジンを超えた存在となろうとしている。ロードマップによれば,Unity 5.2は9月8日,5.3は12月8日,そして5.4は2016年2月16日にリリース予定となっており,年内にはAnalyticsの機能も使えるようになるわけだ。これら以外にも大きなアップデートが続きそうなので,ロードマップの情報から目が離せそうにない。
Game Tools & Middleware Forum公式サイト
- 関連タイトル:
Unity
- この記事のURL: