3月19日から3月23日にサンフランシスコで行われた GDC(Game Developers Conference)の初日に Unity の Keynote がありました。
それに関してPart1、Part2として、前半、中盤の紹介を行いました。
Unity Keynote in GDC2018 Part1
Unity Keynote in GDC2018 Part2

今回はPart3として、後半の部分の紹介をしようかと思います。
(3月19日から、もう2ヶ月近くも経ってしまっておりますが。)
前回、Natalya Tatarchuk と Lucas Meijer による New Rendering Technology に関する、デモも交えた詳細説明の出始めで終わってしまいました。今回はその途中から。

ちなみに、以下の様なこのイベントを短くまとめて紹介している動画を見つけました。こんな感じにまとめた動画があると助かりますね。

まず Unity2018.1 に含まれている HD RP(High-Definition Render Pipeline) について。
これを実現するコア技術に5つのKeyとなる要素があります。
Lighting なんかの物理的な正確性、Material や Light 等の特性の統合、Run Time で美しい映像を表現するための事前計算、多くの Option が用意され自分の必要に応じて設定できること、そして当然 Run Time映像の Performance。

これらの効果を見るために良いのが Lighting と言う事で、デモを行います。
光が差し込むオブジェクトがいっぱいの森のシーンで、オブジェクトを動かしてもきれいにとても自然な感じに光が表現されているデモです。
HD RP によって、とてもリアルな感じに表現できるとのこと。
多くのゲームで Performance が理由で単純な Spotライト、Pointライトなんかを使っているが、しかしHD RP では、いくつかの Areaライトを使ったシーンで オブジェクトを動かしても、とても自然な感じでリアルタイムに影、光が反映されます。デモでもまさにその通りでした。

そしてデバック機能もとても強化されています。
例えば光なんかをとても詳細に分析できるようになっていて、Artist がなぜこの部分がこんなに暗いんだとか、自ら簡単に調べることができるようです。
これによって小さなデモチームにて、このデモ映像のクオリティが実現できたとのこと。

実際のデモは「Book of the Dead」のシーンを使って行われました。
そよ風が吹き込む木々がうっそうと生い茂る森の中に、日の光が差し込んでいるシーン。
一目見ただけで、すごいオブジェクトの数だとわかります。
そよ風の影響で木々や葉が揺らめき、その動きに応じて差し込む光の影響が変化し、色や明るさの見た目が変わっています。
普通に考えてすごい計算量ですよね。

実際、個々のアセットは このデモ映像専用に作ったものではなく、普通に Asset Store にあるものを使っているらしいですが、ほんとにすごくきれいです。
この美しさとスピードを、この新しい HD RP だと実現できるわけです。

また、小さなチームで作った この美しいシーン、これが単なるデモムービーでなく、ゲームの1シーンであることを見せるために、今度は PS4用にビルドしたもので Lucas が実際にゲームのように操作。
この映画のようなシーンの中を好きに駆け巡っています。
先ほど Unity Editor 上で見せていた、そよ風に揺らいで光の差し込む森のシーンが移動したり、自分の向きを変えるとリアルタイムに かつとてもリアルな感じに表現されるわけです。
これこそが HD RP のパワーであるとのこと。

そして最後に時間のかかる baking light map に関しても紹介。
GPU-based Progressive Lightmapper による Real-time Ray Tracing で Artist は今までの 10倍くらいのスピードで Lighting の結果を確認できると。

次のプレゼンターは Head of Cinematics の Adam Myhill と、Producer, Made with Unity の Mike Wuetherick の2人。
Unity2018.1 に導入した Cinemachine Storyboard により Artist のワークフローが改善されるとのこと。
Unity Editor上で直接オブジェクト自体や Color、Txeture を変更してリアルタイムにその映像シーンをチェックしたり、Shader Graph を用いて Shader をカスタマイズしてすぐに確認するようなデモが行われました。

そして、次にCo-FounderでありCTOでもある Joachim Ante が登場。
彼は以前の Unite2017 で New C# Job System と New Component System の紹介として、10万個のオブジェクトをコピーして、華やかなバトルシーンを見せていました。
今回はデモはなかったのですが、彼の開発チームが重要視していることを説明されていました。
まず、Performance by Default について、普通に書いた C#コードで、各特定のハード専用に書いたものと同等な性能を出せることが必要。そのために Data Layout が重要とのこと。
また、ゲームのネットワーキングに関して、アクション、シミュレーション等 ゲームの種類によって いろいろな種類のネットワーク特性が必要となります。
しかし、これもネットワーク特性を気にせず、コードをシンプルに記述することが必要。
それらを実現する Entity Component System と Burst Compiler が Unity2018.1 で確認できるとのこと。

そして、最後は Head of Platforms の Ralph Hauwert がプレゼンテーションを行いました。
彼は Portable で Smaller な Runtime を発表。これにより、どんな低性能デバイスでも良い Performance が出せると。
その Core Runtime のサイズは何と72KB。
そしてデモを見せ、そのファイルサイズに関して説明。
Non-Unity で作成したものは 2.6Mに。同じものをこの Core  Runtime を含めた Unity で作成した場合、800KBになったと言うのです。
私も自分のリリースしたアプリ、開発中のアプリのサイズは気になっているので単純にゲームエンジン側の技術で解消してくれるのは とても助かります。

と3回にわたって GDC で行われた Unity の Keynote の内容を長々と書いてきました。
この最後の部分をアップするタイミングで、GDC が行われてから2ヶ月近くも経ってしまいました。
もう既に Unite2018 Tokyo が行われましたね。
日本でのイベントには参加していないので、動画がアップされたら紹介なんかを書こうかと思います。