Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

【アセット紹介】Nature Rendererできれいで高速な草を描画する【Unity】

今回はアセットの紹介をしていきます。
紹介するのはNature Renderer。
Terrainの植生グラフィックを向上させるアセットです。

 

 

お得なセール情報!

現在アセットストアではアセットパスポートセールが開催中! 終了しました
ワールド作成に最適なアセットが50%OFF!

詳細とアセットの一覧はこちらのバナーからどうぞ

f:id:Raspberly:20210311224247p:plain
今回紹介するNature Rendererも50%OFF対象アセットです。

 

 

どんなアセット?

Terrainの植生をきれいに高速に描画するアセットです。
つまり草です。草のグラフィックを向上しパフォーマンスを改善してくれます。(木はそのままです)
全プラットフォーム全レンダーパイプライン対応です。

f:id:Raspberly:20210311195918p:plain

 

なんと日本語対応のドキュメントが用意されています。
無料のトライアル版もあるので気になる方は購入前に試してみるのもいいでしょう。

 ゲームの速度を落とさずに、大量の植生をレンダリングします。

Nature Rendererは、Unityのデフォルトの地形詳細システムを置き換えることにより、植生レンダリングの品質を向上させます。すべてが既存のデータで機能します。同じ草、植生、樹木を使用し、既存の地形を維持します。レンダラーをレベルアップするだけです。

 

25,000人以上の開発者から信頼されています。豊富なドキュメントを備えた、洗練された最適化されたプラグインが期待できます。

GaiaやMapMagicなどワールド作りでよく使われるアセットと互換性があるのもうれしいポイント。

他のアセット
GaiaMap MagicMicroSplatCTSTerrain ComposerMegaSplatMegascansThe Vegetation EngineAmplify ShaderEditorなどと互換性があります。 Nature Rendererは、地形システムを使用するほぼすべてのアセットと互換性があります。Nature ManufacturingSynty Studios

 

 

ちなみにライセンスが2種類あり、
個人向けのPersonal Licenseと、開発スタジオ向けのStudio Licenseがあります。
Studio Licenseは一つのスタジオに所属する全員に割り振れるライセンスです。

 

また、独自のパッケージマネージャがあるのも特徴で、更新のチェックや最新バージョンのアップデートがすぐに行えます。

f:id:Raspberly:20210309190513p:plain

 

 

実は過去にアセットストアで販売されていたメガバンドルに含まれていたアセットです。
バンドルを購入していた方はすぐに遊べます

www.asset-sale.net

 

 

 

実行環境

Unity2020.1.0f1

Nature Renderer: Personal License ver1.4.3

 

 

 

インポートの確認

アセットインポート時はこんな感じです。
コアとなるアセットのインポートと、各RP用アセットのインポートで2回インポートが行われます。

f:id:Raspberly:20210309231010p:plain

1回目の後すぐにプロジェクトに合わせたunitypackageが自動的にインポートされます。

f:id:Raspberly:20210311015733p:plain

インポート後は、ドキュメントが自動的にブラウザで開かれます。

ネイチャー・レンダラー – Visual Design Cafe Support

 

 

デモシーンの確認

デモシーンはこちら
プロジェクトのRPによってフォルダ名が変わります。

f:id:Raspberly:20210311191115p:plain

草や木が生えているTerrainがあるシーンです。Wind Zoneもあるため風で揺れます。

f:id:Raspberly:20210311195918p:plain

 

 

 

 

実際に試してみる

実際にTerrainの作成からやってみます。手順はものすごく簡単です。

Terrainの作成

Terrainを作成し、草をたくさん生やしてみます。
草はNature rendererデモで使われているものをそのまま使います。

f:id:Raspberly:20210310192520p:plain

見栄えのためGlobal Windも設置しています。

 

 

Nature Rendererのアタッチ

TerrainにNature Rendererコンポーネントをアタッチします。

f:id:Raspberly:20210310195712p:plain

設定はこれだけです。コンポーネントをアタッチするだけ!

 

コンポーネントの無効化あるいは削除すれば元に戻ります。

 

違いを確認

実際に違いを見ていきます。
コンポーネントのオンオフをしてみた場合こうなりました。
影が自動的についてくれるのでこれだけでリッチに見えますね。

f:id:Raspberly:20210311201625g:plain

 

 

次にパフォーマンスを比べてみます。
上がNature Renderer無効時、下がNature Renderer有効時です。

f:id:Raspberly:20210310192813p:plain

 

f:id:Raspberly:20210310192845p:plain

ドローコールが496から33へ、三角形数が9.0Mから61.4kへ、頂点数が10.4Mから71.7kへと大幅に軽量化できています。

プロファイラーで見てみると各種値が一気に下がっているのがわかります。
ただしCPUに関してはあまり変化がありませんでした。

f:id:Raspberly:20210310203236p:plain

メモリを見るとMesh Memoryが1.52GBから2.0MBへと大幅に減っていますね。

  

以上です。

 

まとめ

・Nature Rendererを使うと植物を高速にきれいに描画できる
・Terrainにコンポーネントをアタッチするだけ
・今回紹介しませんでしたが、カスタムシェーダのサポートやストリーミングでの読み込みもできます。

 

このアセットはUnity標準のTerrainの機能を置き換えて処理をしています。
そのため完全オリジナルの地形作成ツールを使っている場合は動作しないのでご注意ください。

 

 

 

 

 

他のアセットの紹介記事はこちら↓

raspberly.hateblo.jp

 

 

 

※本記事にはAssetStoreアフィリエイトリンクが含まれています。

他、間違っている箇所、わかりにくい所がありましたらコメントにお願いします。