« スケジュール大事 | トップページ | 夏の熱いイベントin京都 »

2016年8月12日 (金)LODの話

おはようございます。CGデザイナーのW.N.です。

他のAG社員ブログにも度々上がっているLODですが、今回は背景制作特有の
MassiveLODのお話です。

MassiveLODは文字から読み取ると、「大規模なLOD」 なんかすごそうですね。

昨今、フリーロミングな大きな広がりを持つ背景マップ(オープンワールド)
などに使用され、主に建物などの静的オブジェクトが密集しているところに使用
される処理軽減の技術です。

従来、LODはカメラからの距離に応じて、主に頂点数を減らすことでジオメトリ
の計算を軽減して処理軽減していました。

MassiveLODはこのLODに加え、カメラから最遠にあたる任意の距離で、無数にあるオブ
ジェクトをひと塊のオブジェクトとして、処理軽減を行う技術となります。

主に「配置数の削減」と「マテリアル数の削減」を目的としており、ハードやシステ
ム環境にもよりますが、CPU、GPUともに処理軽減が期待できます。

例えばこんな地形があるとします。


街の中心には無数のビル群がそびえ立っています。


上から見た図
このままでは、遠方でも同じ数のビルが存在しますので、画面には小さな範囲に
しか描画されていないにも関わらず、近景と同じ処理負荷がかかってしまいます。

そこで、無数のビル群からカメラがある一定の距離を離れると、ビル群をある区
画単位で塊モデルに差し替えます。


このビル群を処理効率のよい区画単位でグループ化を行います。
※区画の範囲は処理負荷を見ながら調整が入ります。


区画ごとにモデルをマージし、置き換え用のモデルを作成します。

これでリソースの準備は完了。
あとはシステムの距離パラメータを任意で設定し、確認します。


都市からカメラが離れていくと、


徐々にビルの塊モデルに切り替わり、


最終的には全てが固まりモデルに切り替わります。
この時点で無数にあったビル群が、この場合は9個のオブジェクトに置き換わり、
マテリアルも9個に収まります。

こうすることにより、配置数とマテリアル数が削減でき、処理軽減に繋がるとい
うわけです。

モデル単位のLODのみでは、ここまで遠く離れても頂点数は削減されるものの、
配置数、マテリアル数の削減には限界がありますが、MassiveLODを追加すること
で、その先さらに処理軽減が期待できるよい手法です。

通常のLODとMassiveLODを絡めた動的変化は、こんな感じになります。

LOD0 (ハイクオリティーモデル

 ↓
LOD1 (ミドルクオリティーモデル
 ↓
LOD2 (ロークオリティーモデル
 ↓
MassiveLOD (複数のモデルをマージしたモデル)
 ↓
消失 (フォグ距離に合わせて消すなど)

以前はこの手法を手作業で作成していましたが、現在は便利なミドルウェアーが
数多くでており、MassiveLODも自動で作成される便利な時代になりました。

この技術は、ゲームをしていても気付かないように調整するのが前提ですので、
目にすることは少ないかもしれませんが、注意深く観察すると見えてくるかもし
れませんね。暇があれば一度探してみてはどうでしょう。

今回はこれにて。

follow us in feedly
result = encodeURIComponent( "http://www.accessgames-blog.com/blog/2016/08/lod-74f8.html" );document.write( "result = " , result );&media=https%3A%2F%2Ffarm8.staticflickr.com%2F7027%2F6851755809_df5b2051c9_z.jpg&description=Next%20stop%3A%20Pinterest">

| | コメント (0) | トラックバック (0)

« スケジュール大事 | トップページ | 夏の熱いイベントin京都 »

CGデザイナー」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: LODの話:

« スケジュール大事 | トップページ | 夏の熱いイベントin京都 »