Unity AssetStoreまとめ

アセットストア日替わりタイムセールの記事を書いていきます。

【新作アセット】「GPU Instancer」GPUの力で大量のオブジェクトを高速にレンダリング!Terrainの草や木や、通常の岩や住居のPrefabを最適化してパフォーマンスを劇的にアップ!「VRゲーム開発」必見の新作アセットが誕生!!

スポンサーリンク

f:id:assetsale:20180519202920j:plain

GPU Instancer

エディタ拡張/ユーティリティ

GurBu Technologies

$54.00バージョン1.0になるまで割引価格)  【リリース日】2018年5月18日

 

Terrainに配置した大量の草や木、岩や建物などのPrefabを大量に配置したい!

 

そんな願いを叶えてくれるのが「GPU Instancer」です。(できたてホヤホヤ Beta版)

 

VRで効果あり!

HTC Vive」での動作検証は作家さん曰く、

「エキサイティングな結果になった!安定したビジュアルで高速に描画するよ」とのこと。

 

 
動作条件(重要

Unity 5.6.5以降のバージョンが必要

- Shader Model 5.0を搭載したグラフィックハードウェア

 SM5.0以上、つまりDirectX11以上のグラフィックボードが無ければ動作いたしません。

※モバイルやMacでは動作しません。

High Level Shading Language - Wikipedia

 

注目カテゴリ入り

f:id:assetsale:20180519203022j:plain

アセットストアがオススメする太鼓判アセットです。

 


 

 

GPU Instancer for Unity - YouTube(2:05)

 

GPU Instancerは、高性能な画面上に極端な数のオブジェクトを表示するためのすぐれたソリューションです。マウスを数回クリックするだけで、プレハブとUnity地形の詳細をインスタンス化できます。

GPU Instancerは、コンピューティング・シェイダーとGPUインフラストラクチャの深い習得を経ることなく、誰もが間接GPUインスタンスを使用できるようにする使いやすいツールを提供します。また、ランタイムの変更を管理するための豊富なドキュメントを備えたAPIも提供されています。

 

 

 数万レベルで浮遊する隕石。動くオブジェクトにも最適化ができます

 

可能な限り高速なパフォーマンスを提供するために、GPU InstancerはUnityのDrawMeshInstancedIndirectメソッドとCompute Shadersを使用して間接GPUインスタンスを使用します。

GPUインスタンス化は静的なバッチングとメッシュ結合に比べてパフォーマンスが向上します。また、GPUインスタンス化の他のソリューション(UnityのマテリアルオプションとDrawMeshInstancedメソッドを含む)は、制限されたバッファサイズでは失敗し、描画呼び出しが増え、パフォーマンスが低下します。間接的な方法を使用することにより、GPU Instancerはこれに対する究極のソリューションを提供することを目指し、同じメッシュを複数回レンダリングしながらパフォーマンスを大幅に向上させます。

 

カリングをサポート

一体化しない最適化ですので、カメラに映る部分のみ描画するカリングが働きます。

 

 

異なるマテリアル(シェーダ)を持っていてもOK

Unityの標準的なシェーダや、カスタムシェーダであっても、自動的にGPU Instancer仕様に作り変えてくれます。

数回のクリックで最適化する設計だから、わずらわしいセットアップは不要。

 

ビルボードにできる

立体的なオブジェクトを一枚の板にするビルボードは設定でON/OFF切り替え可能です。

大量の草を四角形ポリゴンのビルボードに置き換えて、風の揺らぎやAOの影も綺麗に描画してくれます。

 

 

- 風、影、AO、billboardingなどのさまざまな特性を備えた植生シェーダを含みます。

- クロスクワッドのサポート:自動的に草のテクスチャをクロスクワッドに変えます。

 

 

Unityの草と比較

GPU Instancerの草が画面左側、 右側は通常のUnityの草

f:id:assetsale:20180519225110j:plain

色味が若干白くなっているように見えますが、 それほど気になる感じはありません。

色に関してはエディタ側で指定された色になっているのかなと思います。

 

 

Terrainの草、木、もしくは岩や住居Prefabに適応

GPU Instancerは、大量のオブジェクト(Prefab)を高速に描画してくれる最適化ツールです。

Terrainの草や木以外でも大丈夫!(パーティクルは今は非対応)

 

インスタンスベースのマテリアルバリエーションにより、ドローコール数を1回に抑えることが可能。

f:id:assetsale:20180519225620j:plain

※アニメーションBakingと、SpeedTree、Skinmeshは将来サポート予定。

 

 

 

エディタ入門編

 

f:id:assetsale:20180519231102j:plain

出典:Getting Started - GPU Instancer

購入前、購入後に読むべき資料が作者さんのサイトにまとめられていました。

 

エディタ画面をチラ見

f:id:assetsale:20180520003730j:plainf:id:assetsale:20180520003727j:plain

f:id:assetsale:20180520003735j:plain 

 ↑ Terrin専用のエディタ画面です。

Getting Started
API Documentation
Unity Forum Thread

  

 

フォーラムの書き込みチェック

 

 

フォーラム

https://forum.unity.com/threads/released-gpu-instancer.529746/

 

 

Q.Vegetation Studioと一緒に使えますか?  
  そしてVRで快適につかえますか?

f:id:assetsale:20180519210457j:plain

Vegetation Studioは去年12月にブログで紹介した新作アセット。

今も注目カテゴリ入りしている人気作で、主に草や木などを配置する機能と、負荷のかかる大量のオブジェクトを爆速でレンダリングしてくれます。

レンダリング部分が似てるなーと思ってました。果たして両方使えるのでしょうか。

 


A. 基本的に使えます。 VRではエキサイティング!

 

Vegetation Studioと同時に使う場合、片方の機能が失われますが一応動作するみたい。

状況に合わせてパフォーマンスが好ましい方を選択してくださいとのこと。

 

VRに関しては「HTC Vive」でテストしたら素晴らしい結果になったそうで、

作家さんの興奮が伝わってくる。

VRユーザー必見のアセットになる予感!

近日パフォーマンスについて詳しく教えてくれるそうですよ。

 

f:id:assetsale:20180519211215j:plain

あなたの興味と親切な言葉をありがとう:)

あなたの最初の質問については、基本的にはい。 プレハブのインスタンス化のビットがVegetation Studioで機能しなくなり、実際にそれに関連して実際にシーンのパフォーマンスを向上させる理由はありません。 しかし、詳細なインスタンス化ビットは、Unity Terrainの詳細を直接的に示します。必要に応じて、GPU InstancerとVegetation Studioのどちらかを選択する必要があります。

あなたの2番目の質問のために、あなたは間違いなく正しいです。 これまでのHTC Viveでテストしたところ、結果はかなりエキサイティングでした。 GPU Instancerの主な目標はパフォーマンスなので、VRを使用してより速く安定したフレームレートでより高品質のビジュアルを提供することが、パフォーマンスの1つです。

近い将来、ハードウェアごとに詳細なパフォーマンス分析を共有します。

 

 

 

Q.草や木以外、住宅や島のメッシュにも使えますか?

 

UnityのTerrainで草や木が早くなる印象の動画でしたね。

通常のオブジェクトに果たして使えるか?

 

 

A.もちろん使えます!

 

岩や住宅などあらゆるゲームオブジェクトで利用可能ですよ。

ビデオの小惑星シーンがまさにそれで、

シーン内のオブジェクトの量が多いほど、パフォーマンスが向上します。

f:id:assetsale:20180519212836j:plain

こんにちは :)

あなたのシーンに地形を持たずに、MeshRendererであなたの岩、住宅、あらゆるゲームオブジェクトを含むプレハブをインスタンス化するために、GPU Instancerを使用することができます。 (ビデオの小惑星シーンはこれの良い例です)。明らかに、シーン内のオブジェクトの量が多いほど、パフォーマンスが向上します。

地形の詳細については、草、植生、およびすべてのプレハブを実際にUnityの地形ペイントツールで使用できるようにする専用のシステムがあり、そのデータを使用してこれらのオブジェクトをインスタンス化します。これは、塗装された細部がある既存の地形がある場合にも機能します。

一言で言えば、メッシュをインスタンス化することができます(スキニングメッシュは将来のリリースでサポートされます)。植生に限定されません。 :)あなたがする必要があるのは、プレハブをGPU Instancer Prefab Managerに追加するだけです。インスタンス化されます。すぐにこれを行う方法を示すビデオをいくつか提供します。

 

 

 

Q.Speed Treeに対応していますか? 
 カメラの視界に映ってないオブジェクトの影は正しく表示されますか?

 

 

A.SpeedTree(またはTreeCreator)はサポートしてません。(将来的に対応予定)

f:id:assetsale:20180519213711j:plain

あなたの興味に感謝します。

現在、SpeedTree(またはTreeCreator)オブジェクトはサポートしていません。 実際のプロトタイプがありますが、将来のリリースでこれをサポートします。

影について はい、影は、錐台の外にあるが影を投じるはずのオブジェクトに対して正しく機能します。 私たちには専用のバッファと、これを特別に扱うシェーダがあります。

したがって、ポップや欠けている影はありません:)

 

 

 

Q.GPU Instancerは特別なシェーダを使用しますか?

 

 

A.すぐに使えるように設計されており、マテリアルの変更など何かを行う必要はありません。全てのPrefabをそのままインスタンス化することができます。

 

これは頼もしいですね!

基本的にUnity標準のシェーダは自動的に差し替えて、カスタムシェーダ(サードパーティ製のシェーダ)はエディタがGPU Instancer仕様のシェーダを自動的に作成してくれるそうです。

f:id:assetsale:20180519214949j:plain

ハイマーク :)

    
GPU Instanceのエクスペリエンスはすぐに使えるように設計されており、マテリアルを変更したり、何かを行う必要はありません。すべてのプレハブをそのままインスタンス化することができます。

    
あなたの質問に答える前の小さな説明:GPU Instancerは、任意のサーフェス(またはフラグメント)シェーダーにデータを送信する前に、GPUで集中的に作業する計算シェーダーを使用します。したがって、ここでの唯一の要件は、シェーダがこのデータを受け入れることができる必要があることです。

    
あなたの質問に答えるために、GPU Instancerにはこのデータを受け入れるように設定されたUnity Unityシェーダのバージョンが付属しています。マテリアルがUnity標準シェーダ(標準または標準スペキュラを問わず)を使用する場合は自動的に使用されます。また、カスタムまたはサードパーティシェーダを使用している場合、GPU Instancerはこのシェーダの設定済みバージョンを自動的に作成します。

    
地形の草(テクスチャの詳細)を置き換えるために、GPU InstancerにはUnity草のシェーダの代わりに使用するカスタム草のシェーダが付属しています。それはあなたがビデオで見るものです。しかし、独自のカスタムグラスサーフェスシェーダを使用するように選択することもできます。このシェーダは、自動的にGPU Instancerで動作するように自動的に設定されます。

    
希望これはあなたの質問に答える:)

 

 

 

Q.パーティクルはどのように処理されますか?

 

 

A.現在、サポートする予定はありませんが興味あり

f:id:assetsale:20180519220201j:plain

 

どうもありがとう! :)

我々は現在、GPUベースのパーティクルシステムを統合する予定はありませんが、パーティクルシステムのアプローチは間違いなく刺激的ですね:)

ただし、GPU Instancerは現在、実行時にインスタンスごとの変換データのインスタンスごとの変更をサポートしているため、APIを使用してインスタントプレハブをスクリプトで移動、回転、および拡大縮小できます。

 

 

 

Q.具体的なベンチマーク教えてください!

 

 A.こちらのサイトからチェックしてください。

 

f:id:assetsale:20180519220845j:plain

f:id:assetsale:20180519220937j:plain

出典:http://www.gurbu.com/performance

インスタンスレンダリングのみをテストするために、剛体のコンポーネントは削除され、パーティクルエフェクトは無効にされ、陰影のキャストはオフになりました。 すべてのインスタンスには、500k(Unity最大コライダーの制限は262143)を除いてコライダーがあります。 2つのLODを持つ3つの小惑星プレハブがあります。 平均LOD0メッシュは750トリス、平均LOD1メッシュは100トリスです。 表には、増分小惑星のインスタンス数に対する平均FPS値が示されています。 GPUIを使用しないテストでは、マテリアルに対してGPUインスタンスを有効にするオプションが有効になっています。

 引用:http://www.gurbu.com/performance

 

 

f:id:assetsale:20180519220850j:plain

f:id:assetsale:20180519221001j:plain

出典:http://www.gurbu.com/performance

この場面には、合計552.383の植生のインスタンスと23種類の植生(4つの草のテクスチャと19の植物のプレハブ--LODグループの2つ)があります。 結果は、一人称カメラで静止して撮影されました。 GPUIを使用しない場合、デフォルトの地形値が得られます。

低品質:グラスシャドウキャストオフ、シャドウキャストオフ、グラスビルボード
中品質:グラスシャドウキャストオフ、シャドウキャスティングオン、2倍グラスクロスクワッド
高品質:シャドウキャスティング、シャドウキャスティング、4xグラスクロスクワッド

 引用:http://www.gurbu.com/performance 

 

 

 

Q.価格について知りたい

 

 

 A.バージョン1.0まで初回割引価格で販売します!

 

今週水曜の書き込みにて「初回割引価格」の話が出ました。

f:id:assetsale:20180519222136j:plain

現在(2018年5月19日)バージョン0.8

アセット説明にも書かれてない事ですが、まさかローンチセールで販売されてたとは!

 

f:id:assetsale:20180519221322j:plain

ありがとう:)
私たちはすぐに賞品タグを設定し、このスレッドで皆さんに知らせるつもりです。 しかし、今のところ、私たちが1.0バージョンをリリースするまでは、初期割引価格で発売する予定です。

 

 

 

Q.それぞれ異なる素材を50個用意したら50回のドローコール?

 

 

A.インスタンスのマテリアルバリエーションにより一度の描画でレンダリングされます

f:id:assetsale:20180519225620j:plain

通常50回レンダリングされて重たくなる要因ですが、マテリアルを統一するAPIによって「一回のドローコール」で描画できるようになるみたい。

※ドローコール:1フレームにかかるレンダリング回数。少ない方が早い。

f:id:assetsale:20180519223036j:plain

50種類の素材は50回のドローコールを意味します。 しかし、GPU Instancerは、マテリアルプロパティブロックと同様のインスタンスのマテリアルバリエーションをサポートしています。 つまり、これらのオブジェクトに単一のマテリアルを設定し、APIを使用してそれらがどのように異なるかを定義することができ、それらは単一の描画呼び出しでレンダリングされます。 これに関するシーンの例がアセットパッケージに含まれています。

 

 

まだリリース初日ですが、購入された方の書き込みを読んだ感じでは「快適で素晴らしい」と高評価なものばかり。

草や木など大量のオブジェクトでパフォーマンスに悩まされている方は試してみてはいかがでしょうか(特にVRで!)

 

 

サンプル画像

画像10枚  25秒で一周します。

f:id:assetsale:20180519204247g:plain

 

アセット説明(機械翻訳)

このアセットは同時に利用する人数分のライセンスが必要です

Unity 5.6.5以降のバージョンが必要

GPU Instancerは、高性能な画面上に極端な数のオブジェクトを表示するためのすぐれたソリューションです。マウスを数回クリックするだけで、プレハブとUnity地形の詳細をインスタンス化できます。

GPU Instancerは、コンピューティング・シェイダーとGPUインフラストラクチャの深い習得を経ることなく、誰もが間接GPUインスタンスを使用できるようにする使いやすいツールを提供します。また、ランタイムの変更を管理するための豊富なドキュメントを備えたAPIも提供されています。
---------------------------------
特徴
---------------------------------
- 複雑なGPUインスタンス化のためのソリューション。
- 使いやすいインターフェース。
- 数万のオブジェクトが1回のドローコールで雷が速くレンダリングされました。
- GPU錐台淘汰。
- 自動的に設定されたカスタムシェーダのサポート
- ワンクリックでインスタンス化されたプレハブの複雑な階層。
- 複数のサブメッシュをサポートします。
- LODグループのサポート。
- インスタンスをキャストしてサポートするシャドウ(錐台のカリングされたインスタンスでもシャドウをキャストできます)。
- Unity 5.6のサポート。
- 手続き型シーンと実行時の変更(例を含む)のための十分に文書化されたAPI。
- GPU Instancerの機能を示すサンプルシーン。

プレハブインスタンス機能:
- お気に入りのプレハブペイントツールで配布するプレハブを自動的にインスタンス化する機能。
- 局所的な剛体および物理学のサポート。
- マテリアル特性ブロックによるインスタンスベースのマテリアル変動。
- 実行時にインスタンス単位でインスタンス化を有効または無効にする。
- 実行時にインスタンス化されたプレハブを管理するためのAPI。

詳細インスタンス機能:
- 非常に高いフレームレートで密集した草地や植生。
- 風、影、AO、billboardingなどのさまざまな特性を備えた植生シェーダを含みます。
- カスタムシェイダーとマテリアルのサポート。
- クロスクワッドのサポート:自動的に草のテクスチャをクロスクワッドに変えます。
ユニティ地形にカスタムマテリアルを使用してプレハブをペイントする機能(Unity地形ツールを使用)
Unity地形上のLODグループでプレハブを使用する能力
- 自動空間分割によるパフォーマンスの向上
- 実行時にインスタンス化された地形の詳細プロトタイプを管理するAPI(例を含む)。
- エディタGPUインスタンスシミュレーション。

計画された機能:
- GPUオクルージョンカリング(ハイイングオクルージョンカリング)
- アニメーションベーキングおよびスキンメッシュレンダリングをサポートします。

要件:
- Shader Model 5.0を搭載したグラフィックハードウェア

可能な限り高速なパフォーマンスを提供するために、GPU InstancerはUnityのDrawMeshInstancedIndirectメソッドとCompute Shadersを使用して間接GPUインスタンスを使用します。

GPUインスタンス化は静的なバッチングとメッシュ結合に比べてパフォーマンスが向上します。また、GPUインスタンス化の他のソリューション(UnityのマテリアルオプションとDrawMeshInstancedメソッドを含む)は、制限されたバッファサイズでは失敗し、描画呼び出しが増え、パフォーマンスが低下します。間接的な方法を使用することにより、GPU Instancerはこれに対する究極のソリューションを提供することを目指し、同じメッシュを複数回レンダリングしながらパフォーマンスを大幅に向上させます。
詳細については:

Getting Started
API Documentation
Unity Forum Thread

 

パブリッシャーのアセット(記録用)

 f:id:assetsale:20180519203027j:plain

 


 

【新サイト】アセット割引情報(ベータ)

 

 

f:id:assetsale:20180501191417p:plain 

Shader Forge

$43.20 => 無料化   100%OFF!!

 


 

【過去ログ】無料アセット

【過去ログ】作者セール&注目アセット