« 繰り返し | トップページ | 意識の改善 »

2010年10月13日 (水)オクルージョンカリング

おはようございます。本日の当番、CGデザイナーの西出です。

今日はオクルージョンカリングについて話したいと思います。

オクルージョンカリングは、カメラの視点から見えないオブジェクトはすべて描画せずに、描画処理のパフォーマンスを上げる技術です。 

背景制作をしていますと、ゲーム内容よっては、広大なフィールドに沢山のモデルの配置を要求されます。
いくらハイスペックなプラットフォームといっても、モデルクオリティーを求めつつ、画面中に出てくる数も要求されますので、まともに描画したのではパフォーマンスを保つことが難しいのが現実です。
特にフリーローミングなゲームほど、パフォーマンスとの戦いは必至です。

カメラからの視野外にあたる画面外をカリングして対象オブジェクトを描画しない処理は当然おこないますが

それに付け加え、オクルーダーと呼ばれる専用のモデルを用意して、視界を妨げるモデルの向こう側を描画しない手法をご紹介します。


例えばこんな建物が並んでいる地形があるとします。
プレイヤーが右の建物をAから見た場合、後ろに建物がないので、建物一個分の処理しかかかりません。
2010_1012_01_2

しかし、Bから斜めにこの方向に見た場合、
2010_1012_02_2

画面上に建物は一個しか見えないのですが、
2010_1012_03_2

実は奥の建物(赤と緑の建物)が描画計算されています。
2010_1012_04_2

そこでオクルーダーと呼ばれる遮蔽判定専用のモデルを用意します。
※厳密にはもう少し建物の形状に沿っている方が望ましいのですが、説明用ですのであしからず。
2010_1012_05_2

このモデルを用意することにより、建物の奥を描画しない判定をおこないます。
2010_1012_06_2

結果、建物(赤と緑の建物)二個分の処理が軽減できパフォーマンスを向上させることが出来るわけです。

手法としては単純ですが、数多く配置すると判定処理にCPU負荷がかかり、結局パフォーマンスが落ちてしまうので、配置にも頭を使います。

もとより、各々のモデルにLODやミップマップなどで、最大限の処理軽減をおこないますが、最終段階としてどうしても処理が落ちてしまう場所を見極めて、オクルーダーの配置をおこないます。

また場合によっては、オクルーダーを置くために壁や木々をわざと設置したり、場合に応じてイメージを大きく崩さないよう調整を加えます。

背景制作に興味のある方は、ビジュアル面以外にも、こういった見えない部分の作りに目を向けてみても面白いかもしれません。

それではまた。

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

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

« 繰り返し | トップページ | 意識の改善 »

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

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: オクルージョンカリング:

« 繰り返し | トップページ | 意識の改善 »