イベント
[GDC 2018]シリコンスタジオのポストエフェクトミドルウェア「YEBIS」がSwitchに対応
本稿では,シリコンスタジオのブースで披露されていたミドルウェア「Enlighten」「YEBIS」と,機械学習エンジンを用いた新サービス「YOKOZUNA data」の3製品について,それぞれの最新事情をレポートしよう(関連記事)。
Enlightenの2018年版では,ライトプローブの配置を自動化
まずは,グローバルイルミネーション(大局照明,または大域照明)用ミドルウェアのEnlightenから見てみよう。
Enlightenは,もともと英国企業のGeomericsが開発した製品で,2013年に一度,会社ごとArmに買収されていた。しかし,2017年5月,ArmがEnlightenを手放して,それをシリコンスタジオが買収したことにより,シリコンスタジオ製品になったという経緯がある。そのため,シリコンスタジオの製品としてEnlightenがGDCに出展されたのは,2018年が初となる。
なお,買収の経緯については,こちらの記事を参照してほしい。
そのEnlightenだが,ゲームグラフィックスに大局照明をもたらすためのミドルウェアで,「バトルフィールド3」や「Hellblade: Senua's Sacrifice」「ストリートファイターV」など,例を挙げればキリがないというほど,多数のゲームタイトルにおける採用実績を有する。
Enlightenは,対象となる3Dシーンにおけるジオメトリ構造を解析して,光の伝搬ネットワークを事前計算したうえで,計算結果をもとにして間接照明を適用するものだ。間接照明の結果を事前計算するのではなく,間接照明における光の伝搬経路を事前計算するので,仮に光源自体が動き回っても,比較的正しい間接照明を得られるのが特徴である。
念のために補足しておくと,対象となる3Dシーン内の背景オブジェクトが移動したり,破壊されたりといった変化があった場合,光の伝搬ネットワーク情報も崩れてしまう。その場合は,再計算するか(※リアルタイムではできない),事前に用意した変化後の伝搬ネットワーク情報に切り換える必要がある。
また,動き回る光源に対しては対応できるのだが,動き回るキャラクターに対しては,事前計算による伝搬ネットワーク情報では対応できない。つまり,動的キャラクターが光源を遮蔽しても,遮蔽はないものとして間接照明を計算してしまうわけだ。このあたりが,Enlightenを使用するうえでの妥協すべきポイントといったところか。
開発拠点が英国から日本に移っても,改良を続ける姿勢は変わっていないようだ。ブースでの説明を担当してくれた
誤解しないよう,先に述べておくと,EnlightenにおけるVolume Lightingとは,一般的なゲームグラフィックスにおけるポストエフェクト処理でいうところの「光筋表現」ではない。ここでいうVolume Lightingとは,「Enlightenの間接照明を,ある一定の範囲に適用するための技術」といった意味である。
これまでのEnlightenでは,動的キャラクターが動き回れる「何もオブジェクトが置かれていない空間」に対して間接光照明を行うには,オーサリング段階で,ライトプローブと呼ばれる光の情報取得ポイントを,ほぼ手作業――Joseph氏曰く「半自動」――で配置しておく必要があった。
Joseph氏らの開発チームは,このライトプローブを置く作業を自動化するための仕組みを,2018年以降に提供するために取り組んでおり,これをVolume Lightingと呼んでいるのだ。
EnlightenにおけるVolume Lightingは,対象とする3Dシーンに対して,大ざっぱな間接光照明の単位マス(グリッド)を設定してやると,3Dシーンにおけるジオメトリの分解能(粗密)に応じて,グリッドを設定した範囲に対して適切にプローブを配置するという機能のようだ。
たとえば,動的キャラクターが歩き回る範囲には,細かいグリッドでプローブを配置し,歩き回らないところには,大ざっぱに配置するといった具合に動作する。粗いグリッドのプローブと細かいグリッドのプローブが1つの領域に重複した場合,プローブが被るような冗長性が起きないように,データ構造を最適化する機能もあるという。
EnlightenにおけるLight Leak対策は,自動でグリッドの解像度を上げる(=グリッドを細かくする)ことで対処するそうだが,「どうしても不自然と思えるところは,手動で対策できるようにもなっている」(Joseph氏)とのことだった。
今回紹介した新機能は,現在はまだベータ版の段階とのこと。Joseph氏は,「2018年内に最終バージョンを提供したい」と述べていた。
YEBISがSwitchに対応
シリコンスタジオブースにおける2つめのトピックは,同社を代表するミドルウェア「YEBIS」が,Nintendo Switch(以下,Switch)に対応したという話題だ。
シリコンスタジオのブースでは,Switch用ゲーム開発者向けに任天堂が提供する無料ゲームエンジン「Bezel Engine」(以下,Bezel)に,YEBISを統合した事例をデモしていた。
以下に掲載した動画は,任天堂がBezelと一緒に提供している無料サンプルゲームの映像なのだが,ほぼ同一のシーンをYEBISなしの状態とありの状態でレンダリングしており,効果の違いを確認できる。具体的には,被写界深度(Depth of Field,DOF)シミュレーションによるピンぼけ効果や,グレア(Glare)効果によって高輝度領域から光が溢れ出す表現に違いがあるところを見てほしい。
機械学習型AIによる解析で,プレイヤーがゲームを辞めるタイミングを予測できる?
映像系ミドルウェアであるEnlightenやYEBISとは異なり,YOKOZUNA dataは,主にプレイヤーの行動を予測するための機械学習型データマイニングエンジンであるという。たとえば,オンラインゲームに参加している各ユーザーの行動パターン(≒プレイパターン)を分析して,いつのそのゲームを辞めてしまうのかを予測したり,「いつぐらいまでに辞めてしまいそうなプレイヤーをピックアップする」といった,予測をともなう条件検索も行うことができるそうだ。
YOKOZUNA dataは,顧客企業が有するユーザーの行動データを,シリコンスタジオが運営するサーバーにアップロードして,YOKOZUNA dataシステムに分析してもらうサブスクリプション型のサービスとなる。
実際の活用方法としては,サービス中のゲームをリブート(再盛り上げ)させるコンテンツアップデートのタイミングを調整したり,ゲームを辞めてしまいそうなユーザーをデータから抽出して,個別にお得なサービスを提案するといったことが考えられるそうだ。
APIから動作を制御できるので,YOKOZUNA dataからのデータを使ったゲームUIを提示することも可能だという。
YOKOZUNA dataは,2017年にスタートしたばかりの新サービスなのだが,最近ではゲーム業界以外,たとえば,ヘルスケア業界からも関心が高まっているのだとか。そのため,今後はゲーム業界以外への訴求も強めていくという話だった。
ところで,話はまったく変わるが,6年前からGDCにおけるシリコンスタジオブースで展示を続けてきたC#ベースのゲームエンジン「Xenko」の展示が,今回は一切なかった。
2017年4月に正式リリースしたばかりというXenkoの展示が,2018年にないのは不思議だったので,ブースのスタッフに質問してみたところ,同エンジンは個人用の展開をあきらめて,商用のBtoB製品へと方向転換したそうだ。今後は,採用した企業ユーザーへのサポートを中心に,事業を展開するとのこと。
「C#ベースで簡単にゲームが作れるゲームエンジン」という方向性は,あらゆる面でUnityと競合する部分が多かっただけに,競合が非常に強い市場に食い込んでいくのは難しかったようだ。