【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック! | GameBusiness.jp

【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!

ゲーム開発 ミドルウェア

【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!
  • 【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!
  • 【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!
  • 【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!
  • 【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!
  • 【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!
  • 【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!
  • 【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!
  • 【CEDEC 2015】3Dアセットの自動最適化を図るミドルウェア、Simplygonの実力を間近でチェック!
ハイポリのCGモデルをボーンやマテリアル、アニメーション情報などに至るまで、まとめて最適化処理してくれるミドルウェア「Simplygon(シンプリゴン)」。PS4とPS Vitaのマルチ開発、さらには3Dスキャナで作成したハイポリモデルのリダクションなどが短時間で可能だとして、国内でも採用事例が増加しています。

開発・運営はスウェーデンのDoya Labsで、GDC2015でも『ベヨネッタ2』での採用事例を紹介し、全世界で存在感をアピール。CEDEC2015ではSimplygonを取り入れたプロダクトパイプラインの構築について講演を行うと共に、メディア向けデモも実施しました。解説は同社プロダクトエキスパートのSamuel Rantaeskola氏と、Simplygonのユーザーで講演でも採用事例を紹介したTelltaleのZac Litton氏が行いました。


Samuel Rantaeskol氏(Simplygon)とZac Litton氏(Telltale Games)


はじめにSimplygonについて、簡単に整理しておきましょう。3D空間でカメラの近距離から遠方に移動するに従って、ポリゴンモデルをより「粗い」ものに差し替えていけば、GPUの負荷を軽減させられます。3Dゲームの初期段階では、そのために必用なモデルの最適化を人力で行っていました。これを自動化してくれるツールがSimplygonです。メッシュだけでなく、マテリアルやボーン数などの最適化も同時に行ってくれます。

SimplygonにはSDKとクラウドソリューションという2つのサービス形態があります。SDKはMax、MayaなどのDCCツールや、自社ゲームエンジンなどに組み込んで使用するもので、大量のアセットを一気に最適化する用途に向きます。SDKの詳細やライセンスフィーなどは応相談で、DCCツールから呼び出してバッチ処理を実行するためのプログラムなども提供可能とのこと。Simplygon本来の使い方だといえるでしょう。

これに対してクラウドソリューションは、アセットを同社のクラウドサーバ上にアップロードして最適化し、処理が終わったらダウンロードして自社プロダクトに組み込むというもの。Unityのアセットストアで提供されているものも、このクラウドソリューション版です。非商用の個人開発者なら無料で使用でき、すでに登録ユーザー数は1万人にのぼるとのこと。急増するインディやモバイルゲーム開発者むけに、新たに設けられたスキームです。

このように、SDKは大型プロジェクト向けで、クラウドソリューションは小規模向け。デモはMayaのSDK版を使用し、「UNITY-CHAN!」のモデルデータなどで行われました。

UNITY-CHAN!のオリジナルデータが数十秒で最適化



使用方法は非常にシンプルで、はじめにツール上でオリジナルのモデルデータを読み込みます。次にメッシュの減衰率などを設定し、実行ボタンをクリックすればOK。しばらくするとデータの最適化が終了し、最適化されたモデルデータが表示されます。このとき「顔と目と体で、それぞれ減衰率を変えよう」といった具合に、パーツ単位で重み付けも変えられます。


様々な設定を決めて最適化を行う


デモではオリジナル版で33MB、32000個あったUNITY-CHAN!のメッシュが、わずか数十秒で2.5MB、3000ポリゴンにまで減少しました。実際にメッシュを表示させると一目瞭然ですが、外からモデルを見ているだけでは、ほとんど見分けが付きません。テクスチャやマテリアルなどの外見もそのままです。アニメーションも破綻することなく、滑らかに動いています。


「UNITY-CHAN!」が自動で最適化されている様子


その一方でボーンの数などはLODにあわせて適切に削減されていました。また単純にメッシュを削減するのではなく、アニメーションが破綻しないように、動きを配慮した形で最適化が行われているとのことです。サイドビューにはさまざまなチェックボックスのついたUIがならび、管理者権限を使用すれば、作業に必用な項目だけを表示させられるとも説明されました。

またSimplygonにはこうした「メッシュLOD」にくわえて、「プロキシLOD」「アグリゲートLOD」という機能もあります。

メッシュLODは大量のジオメトリを1つにまとめたり、複数のマテリアルを1つのアトラスにパッキングしたりするもので、ゲームエンジンのドローコール対策に効果的です。自動車の運転席内部など、カメラから見えない部分をざっくりカットして表示の効率化を上げる、などの指定もできます。


「メッシュLOD」で見えない部分を削減する


アグリゲートLODは、よりスマートにアトラスをまとめる機能のこと。オリジナルのモデルに使用されているマテリアルのうち、重複して使用されているものは、アトラス化する際に1つだけパッキングします。その上で、表示に際しては何度も同じマテリアルを参照させるのです。このようにすることで、データをより効率的に使用できるというわけです。


「アグリゲートLOD」でアトラスをまとめる


もっとも、昨今のゲームではポリゴンモデルが何万個~何十万個も存在します。そのため、いちいち個々のアセットに対して手作業でリダクションをかけていくのは、いくらSimplygonといえども非効率です。そのため実際には、テストを重ねて最適な設定をみつけたら、あとはバッチ処理で一気にリダクションをかけていく、という使い方がメインとなります。

ただし、Simplygonの真価は単なるバッチ処理に留まらない。ワークフローの中に組み込んだときに、最大の成果を発揮する……。Samuel氏とZac氏はこのように語りました。Telltaleの事例が語られた「最新のアセットパイプラインの構築について~Telltale Gamesの事例を交えて~」の記事も併せてご覧ください。
《小野憲史》

関連ニュース

特集

人気ニュースランキングや特集をお届け…メルマガ会員はこちら