Unity AssetStoreまとめ

Unityアセットストアで注目すべきイチオシ情報を毎日お届けします!

【終了まで残り6時間】一番気になっていた最適化ツール「GPU Instancer」が凄い!地形Terrainの草木岩、大量のPrefabレンダリングが劇的に向上しました! VRやモバイル開発にオススメ「GPU Instancer」(まとめ買い特別キャンペーン)

スポンサーリンク

f:id:assetsale:20190624225619j:plain

GPU Instancer

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

GurBu Technologies

$75.00 (税抜き)     【更新日】2019年6月13日   まとめ買いセール適用で30%OFF

 

バンドルセールも残すところ、あと6時間に迫りました。

一番気になっていた最適化ツールについてリアルタイムで23:59までお伝えします。

 

概要

・大量にあるPrefab

・動的に生成されたインスタンス

・地形関連の「Terrain」「草・花」「木」

 

 

Windowsで実行してみた感じでは2倍以上 FPSアップ!

恐ろしくサクサクになりました。このアセット凄い。

条件さえ揃えば効果絶大でしょう!

 

※ キャラクターに使用するには「GPU Instancer - Crowd Animations」が必要です。

  └ 「まとめ買い特別キャンペーン」対象アセット

 

 

大まかな手順

① シーンに「Managerオブジェクト」を設置

② マテリアルの「Enable GPU Instancing」にチェック(若干早くなるような)

③ Managerに、最適化したいPrefabを登録する

 └ 地形の場合は手順違うかも

④ 実行する

 

条件

同じオブジェクトが複数あること(多ければ多いほど恩恵あり)

・地形関連の最適化に強い。「草」「木」「複数のTerrain」に効果的。

 

 

⭐️ Unity Awards 2018ファイナリスト作品 ⭐️

Best development tool 部門 準優勝作品に選ばれた作品の一つです。

2018年度末に、アセットストアの中の人とユーザー投票によって選ばれました。

 

今年イチ押しの大注目の人気アセットです!

(2018年度の優勝は無料アセットでした)

 

 

対応プラットフォーム

 

- VR対応。シングルパスとマルチパスのレンダリングモードの両方で動作します。

- DirectX 11またはDirectX 12とShader Model 5.0 GPU(Windows、Windowsストア)

- メタル(macOS、iOS)

- OpenGL Core 4.3(Windows、Linux)

- Vulkan(Android、Windows、Linux)

- OpenGL ES 3.1(Android 8.0 Oreo以降)

- モダンコンソール(PS4、Xbox One)

  

【本日23:59終了】まとめ買い特別キャンペーン

開催期間:2019年7月3日 23:59終了です。残り約6時間となりました。

 

リアルな学校の3Dモデルシリーズ(ダブルセールで約半額!  購入できません

② VRC、VTuberさん御用達のアセット

③ 地形デザイナーセット

④ Unity内でアニメーション制作ツールセット

⑤ VR開発者に人気の最適化ツールセット  ←いまここ

          【開催期間】2019年6月20日〜7月3日23:59まで

 

🎁 購入された方の中から抽選で10名様に特別なクーポンプレゼント特典付き。

 

お詫び:学校アセットについて

2019年7月3日 17:56 学校アセットは、アセットストアの利用規約の都合により、

現在アセットストアから購入することが出来なくなっております。

最終日にお買い求めを検討されていた方、誠に申し訳御座いません。


 

 

 

今回紹介するアセット

 

⑤ 新作!VR最適化パック

 VRゲーム開発の最適化に大人気!

GPUインスタンス化でオブジェクトやキャラクターのレンダリング効率を高めます。

 

・2019年6月5日にキャラクターの最適化に対応した新作アセットがリリース。

GPU Instancer - Crowd Animations

通常のMecanimと、群衆を爆速でレンダリングします。

 

ただしアセット利用するには本体の「GPU Instancer」が必要なので、

両方セットにして値下げしました。

 

【新作】キャラクター(スキンメッシュ)の描画速度を高速化する最適化エディタ。

GPU Instancer - Crowd Animations

 

バンドル販売で30%OFF

クーポンコード『JPAFFILIATEBUNDLEVRTOOL』

※ 購入済みのアセット以外、全てカートに入れてクーポンを適応して下さい。

詳しい購入方法→こちら

 

 

 

最適化の効果

 

GPU Instancer

シンプルなシーンを作ってみました。追記 19:18

3種類のPrefabモデルを複数配置して、GPU Instancerに設定しました。

すると・・・

最適化OFF(FPS 440)→ 最適化ON(FPS 1400)

約3.18倍もスピードアップしました。かなり爆速だ!!

OFFにしても、ポイントライトや見映えは殆ど変化がありませんね。

 

 

GPU Instancer - Crowd Animations

キャラクターの最適化  追記 21:15

GPU Instancer - Crowd Animationsドキュメント

こちらも気になっている方がいらっしゃると思いますので、

軽く試して、すぐ公開できそうなら紹介します。19:16

 

f:id:assetsale:20190703212844j:plain

ユニティちゃんで検証した結果、カスタムシェーダは非対応っぽいエラーが出ました。

※探せば解決法があるかもしれません。(まだβ段階ですし)

 

追記 22:59 :アセット説明によると手動設定でカスタムシェーダーが使えるそうです。

UTS2.0で試した印象では、一部シェーダーが扱えない可能性がありますが、

今後のアップデート(製品版)で解決することに期待しています。

 - カスタムシェーダのサポート(手動設定が必要)。

 

 

サンプルキャラ(Standardシェーダー)をFBXの状態からテストした結果、

850FPS → 1235FPSまで格段にアップしました。

f:id:assetsale:20190703211650j:plain

 

段階的にGPU機能を切っていく動画

フル装備 1200FPS → Crowd Animations OFF 840FPS →  GPU InstancerOFF 380FPS

セットアップの流れは「GPU Instancer」と似た流れで、

各種パラメータの解説以外は、ほぼ説明不要なくらいスムーズにできました。

 

 

f:id:assetsale:20190703212328j:plain f:id:assetsale:20190703212341j:plain

左(ON)1228FPS   /      右(OFF)876FPS

※ Crowd Animationモードで再生しています。

 

再生モード

Unity標準機能がそのまま利用できる「Mecanimモード」と、

スクリプト制御が必要な「Crowd Animation」2つ用意されています。

f:id:assetsale:20190703211657j:plain

最下部「Animator Settings」にて簡単に切り替えられます。

どうしてもMecanim制御が必要な場合と、そうでない場合に切り替えて活用しよう。

 

Mecanim Animatorモード

f:id:assetsale:20190703212604j:plain

10~20%ほど軽くなる印象でした。 876FPS → 933FPS

f:id:assetsale:20190703212607j:plain

 

サンプル画像の結果とほぼ一致しています。

f:id:assetsale:20190703211808j:plain

 

 

チュートリアル動画

 

動画を見るとわかりますが、劇的にFPSが向上しています!

GPU Instancer Tutorial - The Prefab Manager (Vegetation on a Mesh Terrain) - YouTube(19:31)

 

 

GPU Instancer Tutorial - Detail Manager - Terrain Grass and Vegetation - YouTube(16:06)

 

 

シーンに大量に配置されたPrefabを最適化

最初から配置された場合と、

動的にインスタンス生成したオブジェクトの最適化の両方に対応しています。

GPU Instancer Tutorial - Prefab Manager (Part 1) - Prefabs in the Scene - YouTube(8:09)

 

- シングルクリックでインスタンス化されたプレハブの複雑な階層。

- 入れ子式プレハブのサポート(Unity 2018.3以降)。

- GameObjectsのインスタンス化の有無にかかわらず、プレハブインスタンスを追加 - 削除 - 更新します(例を含みます)。

 

 

使い方

 

超簡単セットアップ方法

 

① シーンにPrefabを配置する

f:id:assetsale:20190703195322j:plain

同じPrefabがシーンに複数ある場合に有効です。

また、地形の場合は「Terrain」「草」「木」など設置したオブジェクトに有効です。

(今回は通常のモデルで紹介します)

 

スライムやガイコツ兵などの敵のモブキャラをシーンに設置してそれを最適化したい場合は、別売りの「GPU Instancer - Crowd Animations」が必要です。

 

 

② マテリアルの「Enable GPU Instancing」にチェック

f:id:assetsale:20190703195715j:plain

速度が若干変わるみたいです。検証結果はこちら

 

 

③ 「GPUI Prefab Manager」を設置する

f:id:assetsale:20190703195332j:plain

Tools > GPU Instancer > Add Prefab Manager

Hierarchyに 「GPUI Prefab Manager」が配置されます。

 

f:id:assetsale:20190703195325j:plain

現在のHierarchy画面

 

 

④ ManagerにPrefabを登録する

f:id:assetsale:20190703195335j:plain

シーンに設置されたPrefabオブジェクトを「Add」にD&Dします(適当に1つだけ)

シーンに存在する同じPrefabを自動的に検索してくれます。

上部にcount数で80個、20個、105個がシーンに設置されていることがわかります。

 

※ 複数のPrefabを一気に登録したい場合は、Multi.Addにて登録します。

 

以上で完成です!

実行して確認してみてください。

 

 

「Enable GPU Instancing」にチェックの違い

① シーンに「Managerオブジェクト」を設置

② マテリアルの「Enable GPU Instancing」にチェック(若干早くなるような)

③ Managerに、最適化したいPrefabを登録する

 └ 地形の場合は手順違うかも

④ 実行する

 

f:id:assetsale:20190703194407j:plain

 

「Enable GPU Instancing」ON / OFFの違いについて検証しました。

 

f:id:assetsale:20190703194147g:plain

※ ON / OFFともに「GPU Instancer」でレンダリングしています。

 

比べると、若干ですがONにしておいたほうがFPS値が高いように思えます。

数が多くなればなるほど違いが出てくると思いますのでお試し下さい。

 

 

「FPSが60以上にならない」 確認および設定

Unity側の設定でデフォルトで60FPS付近(モニタによって違う)になるように設定されているからです。

60FPS以上でている効果がわかるように、下記設定をお試しください。

f:id:assetsale:20190703202652j:plain

Edit > Project Settings > Quality

「V Sync Count」→「Dont's Sync」に設定すると60FPS以上に限界突破できます。

 

f:id:assetsale:20190703202818j:plain

Every VBlank:(デフォルト)垂直同期。モニターに左右されます。だいたい60fps

Every V Secound V Blank:垂直同期の半分 30FPSになる

 

 

 

バージョン0.8.1アップデート内容

GPU Instancer Update - v0.8.1 - Occlusion Culling and Map Magic Integration - YouTube(15:10)

 

オクルージョンカリングとMapMagicに対応。

 

f:id:assetsale:20190624235629j:plain

f:id:assetsale:20190624235633j:plain

f:id:assetsale:20190624235637j:plain

f:id:assetsale:20190624235640j:plain

f:id:assetsale:20190624235647j:plain

f:id:assetsale:20190624235651j:plain

f:id:assetsale:20190624235654j:plain

f:id:assetsale:20190624235658j:plain

f:id:assetsale:20190624235706j:plain

f:id:assetsale:20190624235715j:plain

f:id:assetsale:20190624235722j:plain

f:id:assetsale:20190624235727j:plain

f:id:assetsale:20190624235731j:plain

f:id:assetsale:20190624235735j:plain

f:id:assetsale:20190624235739j:plain

 

 

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

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

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

 

デモビルド(PC、VR、Mac、Android)をダウンロード


Support Forum | Benchmarks | Tutorial Videos | Documentation | F.A.Q.

 

GPU Instancerは、非常に多くのオブジェクトを高性能で画面に表示するためのすぐに使えるソリューションです。マウスを数回クリックするだけで、プレハブ、Unity Terrainの詳細、およびツリーをインスタンス化できます。

 

GPU Instancerは、Compute ShadersとGPUインフラストラクチャの深い習熟曲線を経験せずに、誰でも間接GPUインスタンスを使用できるようにするためのユーザーフレンドリーなツールを提供します。また、ランタイムの変更を管理するための広範なドキュメントを含むAPIが提供されています。

 

---------------------------------
特徴
---------------------------------

- 複雑なGPUインスタンスのためのすぐに使えるソリューション。

- VR対応。シングルパスとマルチパスのレンダリングモードの両方で動作します。

- モバイル対応。 iOSとAndroidの両方で動作します。

- 使いやすいインターフェース。

- 1万回の描画呼び出しで何万ものオブジェクトが超高速でレンダリングされました。

- GPU錐台カリング。

- GPUオクルージョンカリング(シングルパスレンダリングモードとマルチパスレンダリングモードの両方を備えたVRプラットフォームもサポート)。

- 自動的に設定されたカスタムシェーダサポート。

- 内蔵、LW、HDレンダリングパイプラインをサポートします。

- シングルクリックでインスタンス化されたプレハブの複雑な階層。

- 複数のサブメッシュをサポート。

- LODグループとクロスフェードのサポート(アニメーションまたはフェードトランジション幅)。

- 自動2Dビルボード生成システム(最後のLODとして自動追加)。

- 影を投げかけてインスタンスのサポートを受ける(円錐台の切り落とされたインスタンスは依然として影を落とすことができます)。

- プロトタイプごとにカスタムシャドウ距離を使用し、シャドウをレンダリングするLODを選択する機能。

- フローティングオリジン処理のサポート。

- 複数カメラのサポート。

- Unity 5.6のサポート。

- 手続きのシーンと実行時の修正のためのよく文書化されたAPI(例を含む)

- 実行時に境界またはコライダー内のインスタンスを削除する機能。

- カスタムコンピュートシェーダで拡張する機能。

- GPU Instancerの機能を紹介するサンプルシーン。

 

プレハブのインスタンス機能

- お気に入りのプレハブペイントツールを使用して配布するプレハブをシーンに自動的にインスタンス化する機能。

- 追加コードなしでプレハブインスタンスを自動的に追加/削除します。

- 変換位置、回転、スケール変更の自動検出と更新。

- フルまたはエリアローカライズされた剛体と物理学のサポート。

- 入れ子式プレハブのサポート(Unity 2018.3以降)。

- GameObjectsのインスタンス化の有無にかかわらず、プレハブインスタンスを追加 - 削除 - 更新します(例を含みます)。

- APIによるインスタンスベースのマテリアルバリエーション(Material Property Blockと同様)。

- インスタンスごとに実行時にインスタンス化を有効または無効にする。

- 実行時にインスタンス化プレハブを管理するためのAPI。

- カスタムコントローラとモバイルデモシーンが含まれています。

 

詳細インスタンス化機能:

- 非常に高いフレームレートで密な草原と植生。

- 風、影、AO、ビルボードなどのさまざまなプロパティを含む植生シェーダが含まれています。

- カスタムシェーダとマテリアルのサポート。

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

- ユニティ地形(ユニティ地形ツールを使用)でカスタム素材でプレハブを塗装する機能。

- Unity地形上のLODグループでプレハブを使用する能力。

- 自動空間分割によるさらなるパフォーマンスの向上。

- 実行時にインスタンス化された地形詳細プロトタイプを管理するためのAPI(例を含む)。
- 編集者GPUインスタンス化シミュレーション。

 

ツリーインスタンス機能

- 非常に高いフレームレートの密な森林。

- 風のアニメーションでSpeedTreeをサポート。

- 風のアニメーションでSpeedTree 8をサポート。

- 風のアニメーションでTree Creatorをサポート。

- ソフトオクルージョンツリーのサポート。

- ビルボードベイカーとレンダラーが含まれています。

 

拡張パック

- Crowd Animations:GPU Instancerがアニメーションクラウドで使用するためのワークフローを提供します。

 

サードパーティの統合

- Gaia統合。

- MapMagicの統合。

 

必要条件

- DirectX 11またはDirectX 12とShader Model 5.0 GPU(Windows、Windowsストア)

- メタル(macOS、iOS)

- OpenGL Core 4.3(Windows、Linux)

- Vulkan(Android、Windows、Linux)

- OpenGL ES 3.1(Android 8.0 Oreo以降)

- モダンコンソール(PS4、Xbox One)

 
また、統合グラフィックスカードの中にはこれらの要件を満たすものがあるかもしれませんが、GPUインスタンスから得ることができるブーストを提供しないかもしれないことにも注意してください。 そのため、専用のGPUを搭載したハードウェアをお勧めします。

 

最速のパフォーマンスを提供するために、GPU InstancerはUnityのDrawMeshInstancedIndirectメソッドとCompute Shadersを使用した間接GPUインスタンス化を利用します。

 

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

 

詳細については:

GPU Instancerを使用するためのベストプラクティス

既知の制限

 

 

 

GPU Instancer - Crowd Animations

 

f:id:assetsale:20190703221422j:plain

GPU Instancer - Crowd Animations

エディタ拡張/アニメーション

GurBu Technologies

$39.00 (税抜き)     【リリース日】2019年6月4日   まとめ買いセール適用で30%OFF

 

ベータ版につき、現在35%OFF($60)の価格設定で販売されています。

こちらもダブルセールの亜種で、今なら実質50%OFF以上でゲットできます。

 

β版定価 → バンドル価格:$60 (税抜き)  => $27.30   約55%OFF

BETA release: Price is %35 DISCOUNTED for a short time.

 

GPU Instancer」ではSkinned mesheの最適化は不可能ですが、

ついに対応しました!

 

注意:モバイルプラットフォームは対応していない

かなり重要なポイントに気がつきました。

 

GPU Instancer」はモバイル対応ですが、

GPU Instancer - Crowd Animations」は現在モバイル非対応とのことです。

 

β版のアセットですし、製品でサポートされることを願うばかりです。

 

Crowd Animations要件

Crowd Animations Extensionの要件は、モバイルプラットフォームがサポートされていない点を除き、GPU Instancerと同じです。 要件のリストは次のとおりです。

  • DirectX 11 or DirectX 12 and Shader Model 5.0 GPU (Windows, Windows Store)
  • Metal (macOS)
  • OpenGL Core 4.3 (Windows, Linux)
  • Modern Consoles (PS4, Xbox One)

 

 

最適化が凄い

背景とキャラの両方大量に配置してみましたが、

何も無いシーン(約4000FPS)の半分程度で済んだのは驚異的でした。

キャラクターもアニメーションしてますし、全く見分けが付きません。

f:id:assetsale:20190703211650j:plain

※ シーンに最低10体以上が推奨されています(数が低いと警告が出る)

 

 

Crowd Animationsモードを学習する必要がある

f:id:assetsale:20190703230831j:plain

最大のパフォーマンスを得るには、Crowd Animationsでコーディングが必須です。

ご自身でコーディングが出来るかどうか確認しておくことをお勧めします。

Documentation

 

 

アニメーションの品質について

サンプルデモ「Download Demo Build (Windows PC)​」で直接ご確認ください。

- アニメーションブレンディング(最大4つのアニメーション)。

 

 

サンプル画像

画像8枚  24秒で一周します。

f:id:assetsale:20190703223509g:plain

 

 

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

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

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

Download Demo Build (Windows PC)​

 

ベータ版リリース:価格は短期間で%35割引です。

 

Crowd AnimationsはGPU Instancerの拡張機能であり、機能することが必要です。

 

Support Forum | Documentation | F.A.Q.

 

Crowd Animationsは、シーンで大量のアニメキャラクターを高いパフォーマンスで使用するための、すぐに使えるソリューションです。 CAは、GPU Instancerコアを使用し、GPUIの間接インスタンスソリューションおよびGPUカリング技法に加えてGPUスキニング技法を追加しています。これにより、アニメーションのキャラクターのためにUnityのGPUインスタンスを最大限に活用できるようになります。

 

---------------------------------
特徴
---------------------------------

- スキンメッシュを使用した間接的なGPUインスタンス化。

- GPU錐台、オクルージョン、距離カリング。

- VR対応。シングルパスとマルチパスの両方のレンダリングモードで動作します。

- 組み込みおよびLWレンダリングパイプラインをサポートします。

- カスタムシェーダのサポート(手動設定が必要)。

- アニメーションブレンディング(最大4つのアニメーション)。

- 複数のスキンメッシュレンダラとサブメッシュのサポート。

- LODグループのサポート(すべてのLODメッシュは同じリグを使用する必要があります)。

- 骨の添付ファイル(Mecanim Animatorワークフローのみ)。

- ルートモーションのサポート。

- プロトタイプごとにカスタムシャドウ距離を使用し、シャドウをレンダリングするLODを選択する機能。

- 追加コードなしで追加および削除されたインスタンスの自動検出。

- 剛体と物理学のサポート。

- 使いやすいインターフェース。


Crowd Animationsは、2つの異なるアニメーターワークフローをサポートしています。

 

メカニムアニメーター

Unity Mecanim Animatorを使用して、通常どおりアニメーションのステートマシンを処理することができ、GPUIはMecanim Animatorからアニメーターの状態を読み取ります。これにより、既存のAnimatorとスクリプトをCrowd Animationsと一緒に使用できるようになり、GPUフラスタムやオクルージョンカリングなどのすべてのGPUI機能を使用して、そのままの状態で間接的なGPU Instanceを使用できるようになります。このワークフローはスキンメッシュをレンダリングしながらGPUのパフォーマンスを向上させますが、Mecanim Animatorは各インスタンスに対してオーバーハングを作成するため、CPUバウンドのプロジェクトには理想的なソリューションにはなりません。

 

群衆のアニメーター

Crowd Animatorを使用して、GPUInstancer APIを通じてGPU内のアニメーションクリップを処理し、特定の時間に再生するアニメーションを決定できます。このワークフローでは、アニメーションの状態を手動で処理するための独自のスクリプトを作成する(またはビジュアルスクリプティングツールを使用する)必要があります。ただし、Mecanim Animatorによるオーバーハングは発生しないため、このワークフローでGPU Instancerを最大限に活用できます。

 

現在の制限

- アニメーションレイヤとマスクはサポートされていません。

- IKはサポートされていません。

 

サポートされているプラ​​ットフォーム:

- DirectX 11 or DirectX 12 and Shader Model 5.0 GPU (Windows)
- Metal (macOS)
- OpenGL Core 4.3 (Windows, Linux)
- Modern Consoles (PS4, Xbox One)

 

 

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

f:id:assetsale:20190624230858j:plain

 

 


 

【毎日更新】アセット割引情報サイト

毎日リアルタイム更新。

「作家セール、無料アセット、新作アセット」お得な最新情報を入手しよう!

f:id:assetsale:20181014095721j:plain f:id:assetsale:20181014095824j:plain

※ 土曜・日曜・月曜はアセットストアのお休み。

 

 

2018年度 イチオシアセット

バーチャルYoutuberシロがご紹介する2018年度のオススメアセット

 

過去セールから神アセットを探す

過去大セールで登場したタグです。ぜひご活用下さい。

f:id:assetsale:20180430173156j:plain

※右サイドバーの「月別アーカイブ」や「タグ」からチェックすることもできます。

 

アセットの検索方法

f:id:assetsale:20171128032556j:plain

過去記事検索」(直リンク)から素早く検索画面に行けます。

アセット名、パブリッシャー名など入力してご活用下さい。

 ↑ ブックマークしておくと超便利!オススメ

 


 

 

【2018年度】無料化&無料アセットまとめ

 

【3Dモデル】

【シェーダ・パーティクル・Skybox】

【テクスチャ&マテリアル】

 

【エディタ&スクリプト 前編】

 

【エディタ&スクリプト 後編】

 

落ち着いた頃に2018年度の無料まとめ記事作ります。

 

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

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

  

f:id:assetsale:20170616174948p:plain

この作品はユニティちゃんライセンス条項の元に提供されています