GDOC — Dynamic GPU Occlusion Culling
エディタ拡張/ユーティリティ
$32.29(税込み) 【リリース日】2019年3月8日
カメラにスクリプトを取り付けるだけで動的なオクルージョンカリングができる最適化エディタです。
通常Unityの場合、
オブジェクトに「Occluders static」および「Occludees static」設定をして、
ゲーム中に動けない静的オブジェクトにした後に、オクルージョンをベイクして機能しますが、
GDOCは、staticの設定は不要でOCをベイクする必要も無し!
カメラから見えないオブジェクトを自動的に隠してくれるオクルージョンカリングです
(CPUを使わずGPUの力のみで)
※ ユーザーレビューによると「Unityより高速に動いた」と報告あり。
注:Windows(x64)上のDX11のみが現在サポートされています
詳しくは記事内にて。
Dynamic GPU Occlusion Culling for Unity GIF by (@assetsale) | Find, Make & Share Gfycat GIFs
ゲームにならないほどの高負荷が、ONでサクサクに。
サンプルデモ:デモビルドをダウンロードする(Windows 7/8/10 x 64)
Dynamic GPU Occlusion Culling for Unity - YouTube(0:45)
まずは基本的な説明から..
Unityのオクルージョンカリングとは?
GDOC — Dynamic GPU Occlusion Cullingを解説する前に、
Unityのオクルージョンカリングの知識が無い人向けに軽めに解説します。
詳細はマニュアル↓
ここからは概要だけササッと解説します。
オクルージョンカリングとは、
カメラに映らないオブジェクトをレンダリングしないようにする機能のことで、
処理の無駄を省いてパフォーマンスを向上させる機能のことです。
通常のシーンビュー
迷路的な屋内のステージ。この通常のシーンビューではすべての可視ゲームオブジェクトが表示されています。
フラスタム(錐台)カリング
通常の、フラスタム(錐台)カリングにより、カメラ内のオブジェクトだけが描画されます。これは常に自動で行われる機能です。
フラスタム(錐台)カリング:カメラの表示領域外にあるオブジェクトのレンダラーを無効にする機能。この段階はまだフラスタムカリング。
オクルージョンカリング
オクルージョンカリングでは、カメラ内にあるオブジェクトで、手前のオブジェクトに完全に隠れているものが取り除かれます。
壁で遮られた先のオブジェクトがレンダリングされなくなり、
最小限のオブジェクトのみになって軽く最適化が掛かった状態。
これがオクルージョンカリングです。
Unityのオクルージョンカリング設定方法
ゲーム中に動かない壁や床などに、
「Occluder static」および「Occludee static」にチェックを入れて、
静的オブジェクト(動けないオブジェクト)にする。
↑ 2つの「Occlude◯◯」について。
Occluders static:通常の壁や床などの遮蔽物に設定
Occludees static:他のオブジェクトを遮ることがない透明なオブジェクトや小さなオブジェクトの場合にチェック
Occludeesの効果
他のオブジェクトによる遮蔽判定のときには考慮され、遮蔽する側として判定された場合には無視されます。これにより計算コストが下がります。
※ 基本的にどちらか片方だけで良いと思います。
※ 事前計算するときに、コップとかガラス窓など明らかに遮らないオブジェクトの計算コストが下がる。
Occlusion
Window->Occlusion Culling
オクルージョンカリングをベイクして完成(もちろんパラメータも調節して)
オクルージョンカリングを使用するときには、まだフラスタムカリングの効果も有効なことに注意してください。
GDOCの動的なGPUオクルージョンカリングとは?
ここからアセットのオクルージョンカリングについて
GDOC — Dynamic GPU Occlusion Culling
GDOCは動的なGPUオクルージョンカリングで、カメラから見えないオブジェクトを隠してFPSを増加させ、描画呼び出しを大幅に削減します。
組み込みのオクルージョンカリングと比較して、GDOCは実行時に機能し、ベーキングする必要はありません。
まずUnityのオクルージョンカリングと比較して大きな違いは
「ベイクする必要がない」ということです。
Unity:static設定の静的オブジェクトのみ。ベイクする必要あり。
GDOC:カメラにスクリプトをアタッチするだけで自動的にOCしてくれる。
カメラから見えないオブジェクトをリアルタイムに検出してくれるから、
まず面倒なstatic設定とBakeが不要になります。
動的に検出してくれるので動くオブジェクトなどが対象に含まれます。
例えば「動く床」や「パーティクル」「ライティング」「影」など、
負荷のかかりやすい処理をOCしてくれるんじゃないかなと考えます。
※ ドキュメントが無いのであくまで予想。
GDOCの特徴
※ アセット説明の情報です。
- ベーキングなし、事前生成またはストリーミングされたシーンに対応
- レイキャスティングは不要です。コライダーは必要ありません。
- 動的なoccludersとoccludeesをサポート
- ほとんどの作業はGPUで行われます
- 1 directional light用シャドウキャスター
追加情報
※ パブリッシャーさんのdrcrck - Unity Connectの情報です。
ライティングと影の制御について具体的に書かれていました。
- ベーキングなし
- レイキャスティングは不要、コライダーは不要
- オクルーダーをマークする必要はありません。あなたのシーン全体がオクルーダーです。
- すべてのオクルーダーはパフォーマンスに影響を与えることなく設計上動的です- CPUコストがほぼゼロで、作業はGPUによって行われます。
また、1 directional lightに対してシャドーオクルージョンカリングを実行し、カメラでそれらのシャドウが見えない場合や大きなオブジェクトの影の中に完全に横たわっている場合は、オブジェクトのシャドウを無効にします。
サンプル画像
gDOG ON:96FPS
gDOG OFF:2FPS
ユーザーレビュー
ほぼ瞬時のパフォーマンス向上
(1 of 1このレビューは参考になった)
これは素晴らしい、そして使いやすいアセットです。 スクリプトをカメラにドラッグするだけで、いくつかの調整を行った後でフレームレートがほぼ2倍になりました。これは、オブジェクトが密集したレベルには必須の機能です。
セットアップはカメラにスクリプトを取り付けるだけ。
微調整するだけでフレームレートが2倍!?これはすごいですね。
オブジェクトが密集したレベルに有効とのことです!
「市街地」や「物が多い室内」でのパフォーマンスアップに期待できますね。
気になる最適化アセットの有力候補がまた1つ増えた。
将来的な対応プラットフォーム
Supported platforms: DX11 on Windows x64
Not supported yet: VR, Vulkan, HDRP/LWRP, Linux/Mac, consoles
Won’t be supported: OpenGL/DX12/Metal, mobile devices
現在対応しているプラットフォーム
2019年3月9日時点、
「Windows(x64)上のDX11」のみサポートされています。
まだサポートされていないプラットフォーム
Not supported yet
まだサポートされていません:VR、Vulkan、HDRP / LWRP、Linux /
Mac、コンソール
現在、サポート対象外で動作しませんが、
今の所、今すぐにはサポートされないプラットフォームです。
将来的に含まれるか含まれないか不明です。
※ フォーラムがまだできてないため情報不足。
VRはパフォーマンスに敏感なプラットフォームですし、
実装されたらかなり嬉しいニュースですね!
これからの進化が楽しみです。
サポート対象外のプラットフォーム
Won’t be supported:
サポートされることはありません:OpenGL / DX12 / Metal、モバイル機器
※ これから購入される方の要注意項目です。
「OpenGL、DirectX12、Metal、モバイルデバイス」はサポートされることはありません。
アセット説明(機械翻訳)
このアセットは同時に利用する人数分のライセンスが必要です
Unity 2017.4.2以降のバージョンが必要
デモビルドをダウンロードする(Windows 7/8/10 x 64)
サポートフォーラム| Discord
注:Windows(x64)上のDX11のみが現在サポートされています
GDOCは動的なGPUオクルージョンカリングで、カメラから見えないオブジェクトを隠してFPSを増加させ、描画呼び出しを大幅に削減します。
組み込みのオクルージョンカリングと比較して、GDOCは実行時に機能し、ベーキングする必要はありません。
特徴- ベーキングなし、事前生成またはストリーミングされたシーンに対応
- レイキャスティングは不要です。コライダーは必要ありません。
- 動的なオクルダとオクルディをサポート
- ほとんどの作業はGPUで行われます
- 1指向性ライト用シャドウキャスター
サポートされているプラットフォーム:Windows x64上のDX11
まだサポートされていません:VR、Vulkan、HDRP / LWRP、Linux /
Mac、コンソール
サポートされることはありません:OpenGL / DX12 / Metal、モバイル機器
開発途中で無料のデモが入手できた
Discordに参加して無料のデモを入手してください。
https://discord.gg/hMUTyfZ
パブリッシャーさんのdrcrck - Unity Connectを読んでいて知った情報ですが、
2019年3月7日時点、昨日の投稿で無料デモが配布されてたみたいですよ。
参加したかった。
パブリッシャーのアセット(記録用)
他の最適化ツール
カメラにスクリプトを取り付けるだけで最適化してくれるエディタ。
原理は全然違いますが、手軽な最適化するツール。
Mesh Combine Studio
自動的にセルベースでメッシュを結合してくれるエディタです。
シーンにPrefabを1つ投入して数カ所設定するだけで、重たいゲームが軽くなる!
面倒な手作業が無い、お手軽な最適化ツールです。
※どのプラットフォームにも使用できます。
お知らせ
3月15日まで諸事情により記事を簡略化します。
ご理解いただければ幸いです。
【毎日更新】アセット割引情報サイト
毎日リアルタイム更新。
「作家セール、無料アセット、新作アセット」お得な最新情報を入手しよう!
※ 土曜・日曜・月曜はアセットストアのお休み。
2018年度 イチオシアセット
バーチャルYoutuberシロがご紹介する2018年度のオススメアセット
過去セールから神アセットを探す
過去大セールで登場したタグです。ぜひご活用下さい。
- MADNESS SALE カテゴリーの記事一覧 - Unity AssetStoreまとめ
- Back to School セール カテゴリーの記事一覧 - Unity AssetStoreまとめ
- Unite 2017 Tokyo記念セール カテゴリーの記事一覧 - Unity AssetStoreまとめ
- Biggest Sale Ever カテゴリーの記事一覧 - Unity AssetStoreまとめ
- Wishlist Sale カテゴリーの記事一覧 - Unity AssetStoreまとめ
- Holiday Sale カテゴリーの記事一覧 - Unity AssetStoreまとめ
※右サイドバーの「月別アーカイブ」や「タグ」からチェックすることもできます。
アセットの検索方法
アセット名、パブリッシャー名など入力してご活用下さい。
↑ ブックマークしておくと超便利!オススメ
【2018年度】無料化&無料アセットまとめ
【3Dモデル】
【シェーダ・パーティクル・Skybox】
【テクスチャ&マテリアル】
【エディタ&スクリプト 前編】
【エディタ&スクリプト 後編】
落ち着いた頃に2018年度の無料まとめ記事作ります。
【過去ログ】無料アセット
【過去ログ】作者セール&注目アセット