Unite Tokyo 2019基調講演レポート:新世代Unityへの道と映像表現での新たな可能性
初日の締めくくりとして行われた基調講演では,Unityの最新動向が盛りだくさんで紹介されていた。その内容をかいつまんで紹介してみたい。
冒頭で大前氏は,全世界のゲームのほぼ半分はUnityで作られており,ゲーム産業がいまや16兆円規模に成長しており,音楽や映画を遥かに凌ぐ地球上で最大のエンターテイメント産業になっているとグラフを挙げて示していた。
さらにコンピューティングパワーの拡大や新たなイノベーションによって,ゲーム産業の成長を阻害していたさまざまな制約は消え去りつつあり,結果として,ゲーム産業はこれからさらに成長を加速していき,そして,いまやほかのエンターテイメント業界を飲み込もうとしているとUnityは考えているという。
リアルタイム3Dの革命は,現在のゲーム開発者が引き起こしている。この会場にいる,ストリーミングを見ている人が,クリエイティビティが世界の形を変えるのだと大前氏は呼びかけていた。
ここ数年で,Unityは,根本的な部分から大きな変更が試みられている。レンダリングパイプラインが大きく変更されたこと以上に大きなシステムの改革といえるのが,DOTS,すなわちECS(Entity Component System)といった概念とC#ジョブシステム,Burst Compilerの導入だ。そして,現在,徹底的に性能を追求した新システムの実装が進められている。
DOTSチームのElizabeth Baumel氏とAria Bonczek氏が登壇し,まずはDOTSを使用して作られたいくつかのデモムービーを見せ,そのパフォーマンスをアピールしていた。
しかし,DOTSで重要なのはハードウェアのパフォーマンスを引き出すことだけではないと二人は語る。人のパフォーマンス,つまりゲームの生産性を上げることも目指しているというのだ。すでに公開されているプレビュー版では「難しい」「扱いづらい」などと言われるDOTSなのだが,現在までに寄せられている多くのフィードバックによってどんどん使いやすくなっているのだという。Unityは利便性とユーザビリティを第一としているのでDOTSも例外であってはいけないのだとのこと。
その改善の例として挙げられたのがコーディングの簡素化だ。
オーサリングコンポーネントで,コンポーネントにエンティティからデータを追加したいといった処理らしいのだが,初期のものは,お決まりの表現など冗長な部分が目立ったという。そこでコンポーネント生成の機能を加えて,コンポーネントの型を指定すれば自動でコードを生成してくれるようにしたのだそうだ。
ジョブシステムの部分では型変換の手順が面倒だったのだが,DOTSのチームでEntities.ForEach APIの機能を拡張して自動でコードが生成されるようにしたという。
こういった解説が「でもラムダ式が残ってるじゃない? ガーベジコレクションは避けるんじゃなかったっけ?」「大丈夫よAria。ラムダは特例でコンパイラがちゃんとコードを生成してくれるの」といった感じのUnity女子会話が繰り広げられていた。
最終的なコードが次のものだが,かなり簡潔なコードで処理を記述できるように改善されていることが分かる。
さらにDOTSはコードを簡潔にする以外に,Unity Editor上でもメリットをもたらしてくれるのだという。引き続き二人によるデモが行われた。
Unity Editorでのコンバージョンパイプラインでは,DOTSはランタイムのデータとコンテンツのデータを見分けることができるのだという。壇上では,インスペクタの右下に,選択したゲームオブジェクトのエンティティのプレビューインスペクタが表示されて,エディタ上で操作できることが示された。見ると,コンバージョン用のものらしき表示なので,ここでどのように変換するかを確認しながらECSのエンティティに変換できるということだろうか。これを使ってDOTSのパフォーマンスを上げることができるという。
DOTS用のサンプルゲームだというTPS風のプロジェクトでは,新しいDOTS用のアニメーションシステムの様子も示され,IKシステムで階段などでも正しく地形と足が接地しているところなどが紹介されていた。
また,このゲームはDOTS Netcodeパッケージを使用しているという。デモでは,対戦中に一旦エディタに戻り,オブジェクトを追加すると対戦相手のシーンに即座に反映される様子が示された。シーンやアセットの更新は,ネットワーク接続されたすべてのプレイヤーに対してもリアルタイムでアップデートされるのだという。しかも,これはPCのみならず,家庭用ゲーム機やスマートフォンなど,すべてのターゲットデバイスで同様に動作するのだそうだ。リビルドや特別なコードを書くことなく,ターゲットデバイスのゲームを動かしたままさまざまな更新が行える。
DOTSのアニメーション機能やネットワークは現在β公開されているUnity 2019.3で利用可能で,紹介されたTPSのサンプルはまもなく公開されるという。
Unityの新世代ネットワークゲームソリューション
現在制作されているというShadowgun War Gamesでは,Unity関連の技術が多数搭載されている。Unityは近年ネットワークゲームのホスティングやボイスチャット機能など多くの企業を買収してきており,その集大成とも言えるものを作り出したようだ。
Shadowgun War Gamesは年内にリリース予定のトーナメント形式のe-Sportsタイトルで,
- 遅延の削減
- チート対策
- 公正で迅速なマッチング
- 安心してコミュニケーションできる仕組み
などに関してUnityが協力をしているとのことだった。
開発はTransport Packafge(低水準ネットワークスタック)の導入から始まったという。サーバークライアント間のやり取りを効率化して低遅延を実現したという。さらにUnityの専用サーバーホスティングとマッチメイキングサービスを使ったことで,世界中のプレイヤーは地域や帯域を気にせずに接続・対戦が可能になる。こういった技術をUnityが提供したことで,Madfinger Gamesは,マッチメイクのルール作りに専念できたと紀ノ岡氏は語っていた。さらに昨今のマルチプレイヤーゲームでは必須となっているボイスチャットはUnity傘下となったVivoxが提供している。
こういったものがどのような成果を上げるのかについては,今年中にリリースされるという同作のデキに期待しよう。
AR機能の最新動向
Unityを使ったARアプリのデモリールのあとに,UnityのAR最新動向が紹介された。
これはARシーンを見たままにエディトできるオーサリングツールで,ARで配置するオブジェクトなどをどのようにするかなど,プロトタイプやテストが簡単にできる。会場では,テーブルの下に配置されていたものをテーブルの上に置き直すなどの操作の模様が示されていた。
MARSはAR Foundationフレームワーク上で動作するため,ARプラットフォームを問わず使用できるのも利点だという。一度Unity上で作成すれば,iOS,Android,Hololens,Magic Leapなどさざままな環境で利用できる。
また,プラットフォームによる機能の差異についてもAR Foundationが吸収しているようで,新しいデバイスでもパッケージをアップデートするだけで対応可能だという。
さらにXR Interaction Toolkitでは,AR(XR)でインタラクティブ機能を簡単に追加できる。オブジェクトを拡大/縮小したり,配置を変えたり,回転したりというのを各プラットフォームごとに用意するのは大変なので,ジェスチャーやコントローラ,手のトラッキングといった機能をサポートしたスクリプトをこのツールキットが提供してくれるのだ。この機能は今年後半のUnity 2019.3のプレビュー版で追加予定とのことだ。
これらのものはすべてライブラリの形式で提供されるので,既存の非ARアプリに対して簡単にARの機能だけを追加できるという。新たにAR用にプロジェクトを作らなくても,既存のものを簡単にAR対応にできるようにされているのだ。
物理世界の制約を超える:Unity Simulation
再び壇上に戻った大前氏が紹介したのは,Unity Simulationだった。Unity SimulationではGoogle Cloud上で並列処理を行い,既存の単体ハードウェアでは達成できない演算を実現する環境だ。現状ではハードの限界がUnityの限界を規定していると大前氏は語っており,Unity Simulationはその制約の一部を取り払うものでもある。
たとえば,自動運転は認可されるためには最低1770億kmの実証実験を行う必要があるという。もちろん,ハードやソフトを変えたらやり直しだ。実車を使っていては100年かかる作業を,Unityを使った物理的に正確なシミュレーションと並列処理で短縮する試みが紹介された。
LG Electronicsの自動運転シミュレータはUnityで作成されており,さまざまなシナリオでテストを行うことができるものだそうだ。デスクトップPCでは数か月かかるものでも,Unity Simulationを使うことで圧倒的に短縮できると大前氏は語った。
ゲームのアップデートによってバランスが崩れることがないようにしたい,アイテムなどの組み合わせで有利になりすぎないようにしたい,ベテランプレイヤーが勝ちすぎないようにしたいなど,ゲームバランスを最適に調整することでエンゲージメントを上げようというチャレンジが行われた。
iLLOGIKAでは3つの要素に絞って調整を行うことを決めたが,そのすべての組み合わせを試そうとすると,22500通りのテストプレイが必要になるのだという。人力では数週間かかるテストだが,Unity Simulationを使うことで数時間で行うことができたのだそうだ。
どんな環境でもハイエンドグラフィックスを
Unityでは高品質なグラフィックスを手軽に扱うためのHD Render Pipeline(HDRP)が整備されているものの,モバイルなどでは利用できるものではない。しかし,レンダリング自体をPCで行ってストリーミングすれば,どんな環境でも高品位なレンダリング結果を表示できるのだ。
デモでは,ユニティ・テクノロジーズ・ジャパンオフィスをHDRPで再現したアプリをWebブラウザ(Chrome)上で操作する様子が披露された。
単に表示するだけではなく,端末側から操作可能になっていることが示されていた。Webブラウザに表示される映像はPCでレンダリングしたものだが,UIはHTMLで作られている。HTMLで作成されたボタンからリモート先のUnityアプリにリンクして操作可能になっているのだ。
ちなみに同社の会議室にはUnityで作られたゲームの名前が付けられているそうだ。同社オフィスには何度かお邪魔したことがあるのだが,初めて知った(入口奥の会議室は「Fate:Grand Order」の間だったのか……)。
Unityで進化するアニメとアニメの知見がUnityに
古田氏は「なぜ日本アニメの表現が世界中から支持されているのか?」と問いかけ,それは日本のアニメが「シンプルなのに豊かな表現」を実現しているからだと語った。納期やコストなどのさまざまな厳しい制約の下にアニメーションは制作されているが,その制約の範囲で豊かな表現を追求してきた結果,ハンデをアイデアに変えていく知見の蓄積が評価されているのだという。
現在はさまざまな分野でUXUI市場が大きく展開されつつある。少ないリソースと限られた時間で豊かな表現を行うための知見は,UXUI市場での宝の山とみなされているのだ。
そしてCraftarでは,アニメの知見をUnityに移し始めているのだという。古田氏は,Unityが生活や社会のコアエンジンになっていくのだと語る。
同社の活動が一般的なアニメーション作品に留まらないのはすでに書いたとおりだが,Unityを新たな方向で使っていくことで,これまでにない業界間のコラボが生まれているのだという。それはアニメ産業と自動車産業だ。同社が進めている自動運転やスマートシティが実現された世界をUnityで作成したという映像のダイジェスト版が会場で上映された。
これはすべてUnityにリアルタイムにレンダリングされた映像だという。すなわち,カメラ位置やレンズなどを「あとから直す」ことができる。会場では別アングルからの映像などが紹介された。
また,この作品はVR作品と同時に制作されているという。アニメクオリティをそのままシームレスにVRに持ってこれるのはUnityだからこそできることであると古田氏は語っていた。また,Craftarではすでに車のキャビンをVRでシミュレートするツールをUnityで開発しており,メーターなどのUIの設計をバーチャルで開発できる基盤を構築しているという。アニメと自動車業界はそういった形でもUnityで結びついている。Unityの進化は今後もさまざまなものを地続きにしていくだろうと古田氏はまとめていた。
Unityグラフィックスは新時代に突入
さて,Unityのグラフィックスチームは世界最高のグラフィックスを実現すべき日夜世界最高水準のテクノロジーに取り組んでおり,同時にゲームでは,開発者が必要なものを取捨選択できることも重要だと,同社のスクリプタブルレンダーパイプラインについて大前氏は語った。
数年前のGDCで,UnityのCTOであるJoahim Ante氏が,当時のUnityのグラフィックスパイプラインは,互換性を保ちつつ継ぎ接ぎで拡張を繰り返してきたので肥大化しており効率が悪い,今後は必要な機能だけを選んでパイプラインを組んだり自分たちで拡張できるようにするからと,スクリプタブルレンダーパイプライン構想を発表していたのを思い出す。
当時は,そんなものを扱いきれるのかと疑問を抱いていたのだが,やがて登場してきたライトウェイトレンダーパイプライン(LWRP)とHDRPは,スクリプタブルレンダーパイプラインでの雛形になるものだった。ちゃんと動くものを軽量と高画質の2種類用意してきたわけだ。
HDRPはかなりハイレベルなグラフィックスを,さまざまなエフェクトなどまで含んだうえで実用に耐える速度で実現できるパイプラインだ。PCや据え置き型ゲーム機でしか利用できないが,最高レベルのグラフィックスを手軽に扱えるソリューションであり,すでにプレビュー版から脱しておりUnity 2019.3で正式に導入される(Unity 2019.3自体はまだβ版)。
そして,もうひとつのLWRPは,Universal Render Pipelineと名前を変えた。こちらはUnityのサポートするすべてのプラットフォームで利用でき,カスタマイズしやすいのも特徴だという。
Unityは「ちゃんと使えるツールを提供する」ということを重視しており,これは3Dでも2Dでも変わらないと大前氏は語り,シンガポールでUnityの2D部分を率いるPaul Tham氏を紹介した。
新世代のUnity 2D
現在開発中の2Dゲーム用ワークフローはどのようになっているのか,これからのUnityでの2Dゲーム制作はどうなっていくのかが,デモを交えて紹介された。
The Lost Cryptは,ドイツのB2tGameがUnityの新しい2D機能で作成したゲームだ。新しい2Dレンダラはどのようになっているのか,どのような処理が可能なのか,会場でデモされていたものとは少し異なるが,以下のムービーを見ておいてもらえると理解が早くなるだろう。
冒頭少ししてからのパーティクル表現や,昼間から夜への滑らかな切り替わり,手に持った光源の影響,よく見ないと分からないかもしれないが,その光に対するダイナミックシャドウ,エディット部分での点光源からスポットライトの制御,曲線でのアセットの変形などが確認できるはずだ。さらに,じっくり見てもよく分からないかもしれないのだが,石の壁などは法線マップが付けられていて,光源の動きで陰影も変わっているのだという。Universal Render Pipelineを使用しているため,物理ベースのシェーダシステムが環境光の影響もうまく処理してくれているのだろう。
それに加えて,シェーダの操作もでき,シェーダグラフで水の屈折などを2Dゲームで簡単に実現できるとのことだった。
すでに見たように,地形制作でタイルを並べるようなこともなく,すでにある絵を変形させて思い通りのシーンを作ることができる。
全体的に2Dゲームの制作難度を下げる便利な拡張と,これまでにない表現力を備えていることが分かる。Unityによる2Dゲームがより多彩なものになっていくのは間違いないだろう。
汎用で幅広い表現力と性能を兼ね備えたUniversal Render Pipeline
既存のプロジェクトをURPにアップグレードすることもでき,実際にそれを行った結果が示された。
URPは多くのフィーチャーを備えながらシングルパスで実装されている。それにより,CPUとGPUの負荷は30%下がり,Draw Callは大幅に減少,メモリの使用帯域は2/3になっている。より多くのものを実装できる,ないしより低負荷で実行できる。モバイルにおいては,発熱や消費電力の点で望ましい結果を引き出せるわけだ。
URPのレンダーパイプラインを拡張した例として,Crest Oceanが紹介された。これはたった2人のチームが作成したゲームなのだが,URPのレンダーパイプラインを拡張して,拡散や屈折などの最新の技法を用いてリアルな水を表現している。以前はこのようなレンダリングの実現は難しかったのだが,URPには分かりやすいフックが用意されているので,レンダリングパイプライン自体を拡張することが比較的容易にできるという。
URPは物理ベースのシェーダを実装して現実世界と同じような見た目のレンダリングを目指しているものだが,そこでさらに水を正確にモデル化することで,トロピカルアイランドのエメラルドグリーンな海面を実現している。光の散乱などは公開されているシェーダライブラリを使うことで実現しているそうで,それがなければこのようなトロピカルな雰囲気は実現できなかっただろうとMartin氏は語っていた。
URPはすでに公開されているものなので,既存のプロジェクトであればアップグレードツールを使うことで簡単に移行でき,新規プロジェクトの場合はUnity HubからURPテンプレートを選択することで利用できる。
コロプラが求める次世代モバイルグラフィックス
求められるものは2つ,魅力的な3Dキャラクターと3Dマップだったという。荒木氏は,実際にゲーム内で使われているというキャラクターグラフィックスとマップの画像を紹介した。
繰り返すが,どちらもイメージイラストなどではなく,実際のゲームと同じシェーダでレンダリングされた画像だ。
400m四方の広さがあるというマップにはたくさんのオブジェクトがあり,安定したフレームレートを実現するのは非常に困難だったという。コロプラでは,このレベルのグラフィックスをモバイルデバイス上で30fpsでレンダリングできるようにしている。そのほか,PCや家庭用ゲーム機では普通に使われるようになったさまざまなグラフィックス技術をモバイルゲームでも使用している。
しかし,Unity標準のレンダリングパイプラインでは実現が困難なものもあったという。たとえば,マップで使用される松明にはポイントライトが仕込まれている。ポイントライトの強さは距離の二乗に反比例するのが当たり前で,Unityでも当然そのように実装されている。しかし,コロプラが求めるアートスタイルでは距離に反比例する強度のものが必要だった。
リアルタイム反射も普通に反射側からレンダリングして使用すると負荷が高すぎた。一案として,カメラ位置からのシャドウマップを反射でも流用するという手法が考案されたが,普通のレンダリングパイプラインではそのようなことはできなかった。
こうして,コロプラは独自のレンダリングパイプラインを構築することにしたわけだ。URPならばソースが公開されているため,自分たちの望むパイプラインを構築できるかもしれない。
結果として,それは達成されている。ポイントライトは1つのメソッドとシェーダを変更することで実現できたという。
水面からの景色を描く際にシャドウマップを共有するというのも,パイプラインを拡張することで実現している。下が完成したパイプラインだが,上段はURP標準のもので,影の生成のあとで,下段にある反射面を描画する部分を追加している。
反射面の処理には影の生成とポストプロセスの部分がないことに注目してほしいと荒木氏は語っていた。通常のレンダリングパイプラインを2回経由するのに比べて負荷が軽くなっている。
これによって独自のアートスタイルに合わせたレンダリングができるようになり,家庭用ゲーム機と同等のグラフィックスがモバイルでも利用できるようになった。このようなレンダリングパイプラインの構築は,URPのようなものがなければ困難であり,今後のUnityの進化にも期待したいと荒木氏は語っていた。
アニメで使うリアルタイムレイトレーシング
ハードウェアサポートにより,一躍現実味を帯びて注目されるリアルタイムレイトレーシングだが,写実的な描画に用いるのではなく,アニメーション,それも最も高い水準を要求される劇場用アニメーションのレベルでどこまで活用できるのだろうか。
グラフィニカでは,3DCGを使ったアニメーション制作も行われており,9月20日に公開されたばかりのHello Worldでは,モデリングからアニメーションのレンダリングまで3ds Maxが使われ,After Effectsで編集され,一部のVFXではUnityが使われているのだそうだ。手描きでは困難な部分をプログラムで処理できることや,その結果をすぐに確認できることで重宝されているという。
しかし,アニメ制作ではそういったレベルを超えた地殻変動が起こりつつあると平澤氏は語った。それは「映像テクノロジーとアニメ企画者が向き合う時代」の始まりだという。テクノロジーの進化によって,それまで以上の表現ができるようになり,企画者は自分が求める表現のためにエンジニアなどと一緒に考える時代がやってくるというのだ。
「より高品質なものをよりタイムリーに」という需要では,Unityのようなリアルタイムレンダリングが必要とされてくるわけだが,越えなければならない壁はいくつもあったという。まず,劇場用クオリティのキャラクターに使用される膨大なリグ,ハイポリゴンな3Dデータ,高精度な影表現などだ。
はたして,どこまで劇場映画本編のクオリティをUnity上で再現できるか? それを追求するプロジェクトがユニティ・ジャパンの大前氏らと進められていたのだ。1年以上にわたる取り組みの成果が会場で公開されていた。比較用画像を並べてみよう。
静止画でよくよく見ると少し違う部分もあるのだが,動画で見て違いが分かる人はほとんどいないだろう。
リアルタイムレンダリングで劇場用アニメクオリティを再現するための投入された技術については,大前氏から紹介された。まず,リミテッドアニメに特化したリアルタイムレイトレーシング技術で影を生成する「リアルタイムハードシャドウ」の技術,そしてきわめてハイメッシュなデータをDCCツールからUnityにそのまま伝送するMesh Syncの技術だ。どのように複雑なリグで構成されていても,そのままUnity上で扱えるようになるという。これらのツールはすでにGitHub上で公開されており,すぐに使える状態にあるとのことだった。Unityによるアニメーションへの挑戦はまだ始まったばかりであり,今後ともアニメーション用のツールを開発していくと大前氏は語っていた。
Heretic完全版公開
映像の上映に続いて,再び登壇したAshley Alicea氏から解説が行われた。まだ単体ではYouTubeなどで公開されていないようなので,映像を確認したい人はこちらのリンクをたどってほしい。
この映像は,すべてUnity Editor上でリアルタイムで動いているものだという。市販のPCレベルのハードウェアで30fpsのレンダリングが行われている。
Unityのデモチームは2つの目標を持って制作を行っているという。1つは,視覚的な忠実度の境界線を越えていくこと,写実的にしていくことだ。もう1つは芸術的にしていくことである。
HDRPのよいところは,高品位のグラフィックスにアクセスでき,現実世界と同じように直感的に扱えることだとAlicea氏は語る。物理的に精度が高く,ブルームやレンズの効果なども自動的に機能するようにできているとのことだ。
しかし,プロジェクトごとのニーズというものもあり,HDRPでサポートされない要素はShader Graphを使ってカスタムシェーダを簡単に拡張できるという。HereticではHDRPに埃のレイヤーを拡張し,パイプの上に自動的に埃が積もっていくという様子が紹介された。パイプの配置を変えても埃を手動で載せ直す必要はない。
後半に出てきたボスキャラのようなものは,形が決まっていない混沌とした生命体だという。その実現にはGPUパーティクルが使用されている。VFX Graphでパーティクルを制御し,キャラクターの形状を変えることに成功したのだそうだ。HDRPとVFX GraphはUnity 2019.3で正式サポートされ,現在はβ版が公開されている。
以上で基調講演は終了したが,1時間半という時間に非常に多くの話題を詰め込んだ内容となっていた。とくに映像関係でのユニティ・ジャパン独自の取り組みが目立つ。ゲームのデモリールも国産ゲームで揃えられており,国内でのゲーム開発でUnityが確立した位置,そして映像開発での独自の位置がよく分かる基調講演だったといえるだろう。