ads

3D樹木成長シミュレーションツール The Grove 2.2 がリリース!ゲーム用のポリゴン削減機能、簡単なアニメーションのためのスケルトンが追加!

プラグイン

2024年4月8日(現地時間) –  F12は、3D樹木成長アドオン The Grove 2.2 のリリースを発表しました。

The Grove は、樹木を研究し、リアルな樹木成長シミュレーションを追求したBlenderとHoudini用のアドオンです。10年以上にわたる樹木の研究により、The Groveは新バージョンが出るたびに進化を遂げ、優れた樹木成長シミュレーションツールとなっています。

新機能ハイライト

このリリースの目玉新機能は、簡単にアニメーションを追加するための新しいスケルトンツールです。これは、非常に少ない数のボーンで最適化されたアーマチュアで構築され、ゲームでも使用できます。

また、ゲームのLOD(Level of Detail)用に、ディテールを削除し、ポリゴンの数を削減するさまざまな最適化が行われました。他にも自然な森の拡大、高速化、より詳細な小枝の分布といった多くの新機能が追加されています。

スケルトン

IndieエディションとStudioエディションの両方に追加された新しいスケルトンツールは、木のポージング、アニメーション、風による揺れを加えるための新しい方法を可能にする超最適化されたボーンスケルトンを作成するものです。

ボーンとそれに関連するウェイトはオンザフライで作成され、さまざまなコントロールを使用してボーンの数を大幅に減らすことができます。

最適化されてリギングされた木は、キーフレームを使用して簡単にアニメーション化できます。これにより、たとえば、通過するオブジェクト、車両、または大型動物との衝突時に枝を押し退けるなどの表現が可能になります。

オプションの風による揺れのアニメーションは、既存の「Wind Shapes」ツールに代わる高速で軽量な方法であり、わずかな乱流と小枝のそよ風アニメーションを組み合わせることで、幹と主要な枝にほんのわずかなボーンを使用するだけで、素晴らしい結果を得ることができます。

ボーンを回転させたり、接続された枝を移動させたりすることで、スケルトンを単純に木のポーズ設定に使用することも可能です。

パフォーマンスを高く保つために、ボーンの数を大幅に減らすようにしてください。数百程度のボーンだけでも効果を発揮します。

■コントロールについて

スケルトン作成のコツは、必要最小限のボーンを作成することです。

「Reduce」パラメーターから始まり、このパラメーターは、より細い枝へのボーンの追加を段階的にスキップします。木を最も変形させたい場所に応じて、「Bias」パラメーターを使用して、樹冠の高い位置または木の根元により多くのボーンを作成できます。スケルトンに含まれる太い主要な枝は、「Length」パラメーターによって制御され、等しい長さに分割されます。

パラメータ説明
Reduceより細い枝に対してボーンの追加をどの程度スキップするかを制御します。値を大きくするほど、細い枝にボーンが追加されなくなり、ボーンの総数を減らすことができます。
Bias木のどの部分に多くのボーンを配置するかを制御します。値を調整することで、樹冠の高い位置(上部)または木の根元(下部)のどちらかに、より多くのボーンを作成できます。
Lengthスケルトンに含まれる太い主要な枝を、いくつに分割するかを決定します。値を調整することで、主要な枝の分割数を変更し、アニメーションの柔軟性を調整できます。
Connected生成されるボーンの接続方法を制御します。オンにすると、各ボーンが親ボーンに接続された階層構造が作成されます。オフにすると、親ボーンに直接接続されていない独立したボーンを作成できます。

この機能は、木をゲームエンジンやHoudiniなどのソフトウェアにエクスポートするために設計されています。各3Dプログラムはスケルトンを異なる方法で実装しており、多くの場合、接続されたボーンの階層が必要とするためです。

※ただし、Blenderは、親に直接接続されていない分離したボーンをサポートしているため、ボーンの数をさらに削減できます。

これらの最適化によって、削減されたボーンは超最適化されており、非常に高性能であるため、スケルトンはゲームエンジンでも使用できます。

ただし、Groveは、ゲームエンジンに木をエクスポートする場合、ユーザーがそれに関する知識を持っていることを前提としています。既知のゲームエンジンへの直接エクスポートはサポートされていないため、パイプラインに統合するにはある程度の専門知識が必要になります。しかし、今後エクスポート機能の実装は計画されているようです。

高速化

同時に何万もの枝が成長するシミュレーションの実際の速度 (Apple M1 で実行) を示す動画

■50%の高速化

シミュレーション中、Groveはビューポートに黄色と赤のスケッチを描画し、木の成長の進捗状況を時間経過とともに示します。

大きな木や多数の木を同時に成長させる場合、このプレビューの描画に、シミュレーションの実行にかかる時間よりも多くの時間がかかることがありました。

これは、描画コードをPythonから高性能なコアに移し、描画呼び出しの数を減らすことで解決されました。

スケッチの描画はほぼ瞬時になり、これが毎年かかる合計時間のかなりの部分を占めていたため、木が古くなるほど全体の成長サイクルがなんと50%も高速になります

■ツールの高速化

シミュレーションが非常に高速になったにもかかわらず、描画ツールと曲げツールの2つのツールが遅いままでは、快適な作業を妨げになります。

このため、このリリースではこれらのツールの操作時のラグも修正されました。この改善により、ツールをさらに試したり、作業がしやすくなっています。

ゲーム向け最適化

これまで可能な限りのリアリズムとディテールに重点を置いて開発されてきたThe Groveですが、多くのゲームスタジオがリアルタイムツリーを生成するためにThe Groveを使用しているとのことで、このリリースでは、ゲーム向けの最適化機能が追加されました。

■レベルオブディテール(LOD)

ゲームに必要なレベルのディテールを実現するには、木の特性を維持しながら、ポリゴンの数を減らすためにメッシュを積極的に最適化する必要があります。

幹と主要な枝のジオメトリを削減してもほとんど効果がなく、成長した数千もの小さな枝が重要で、これらを段階的に大きな小枝に置き換えることで、ポリゴンの数が大幅に削減されます。

これは、ゲームツリーを最適化するための実績のある方法であり、枝の端をカットする最適な点を見つけるのがコツとのことです。


太さのカットオフ(Cutoff thickness

枝の直径を使用して、より細い枝の端をカットし、特定のサイズの小枝に一貫して合わせることで、大幅な削減が可能です。

これは、針葉樹とあらゆるサイズの落葉樹に適した方法で、サイズの異なる小枝を使用することで複数のLODを構築できます。

The Groveの現在の小枝(twig)は、このタイプの小枝としては詳細すぎですが、(手動で)ローポリの葉カードにベイクダウンすることで、ゲームの要件に合わせた葉カードを作成するための素材として活用できます。


■樹齢のカットオフCutoff age

ノードの年齢を使用して、最も最近の数年間の枝をカットオフできます。

これは数年程度まではうまく機能しますが、古い木や、下の枝の成長が遅い針葉樹では、意図しない太い幹の部分まで失われてしまう可能性があり、あまり適していません。

■ブレンド(Blends

太さのカットオフを使用することで大幅な削減ができますが、枝の滑らかな補間であるブレンドをスキップするのも効果的です。

メインの枝から側枝への繋ぎ目にはいくつかの追加ノードが必要となり、特に細い枝の場合、数千ものトライアングルがすぐに増えてしまいます。

太い枝のブレンドはスキップせず、細い枝のブレンドをスキップするだけでも、ポリゴン数は大幅に減少します。

小枝の葉もほとんどのブレンドを隠してくれるので、通常の、ゲーム以外の木でもこれを使用できるかもとのことです。


■エンドキャップ(End caps

最も細い枝ではエンドキャップの作成をスキップし、太くカットされた枝を閉じたままにすることができます。

木の葉や、プレイヤーが木にどれだけ近づけるかに応じて、違いがわからないかもしれませんが、スキップできるエンドキャップの数が多くなるため、最も細かいディテールを持つモデルで特に効果を発揮します。


これらの新しい最適化は、新しいスケルトンとシームレスに連携するように開発されています。複数のレベルのディテールで木を構築でき、それらはすべて同じスケルトンで機能します。

通常のビルドでは、 Build > Detail > Resolution > Reduce の効果は0.8程度で止まりますが、太さのカットオフを使用すると、残りの枝ははるかに太くなり、0.9または1.0で大きな効果が現れます。これにより、リアルタイムエンジンでの使用に最適な木を作成することができます。

わずか 42,000 個の三角形 (三角形化前の四角形を使用した場合は 24,000 個のポリゴン) と 49 個のボーンを持つ最適化された木です。上記の例の木は、小枝はヨーロッパブナの小枝を簡略化してベイクダウンしたものです。小枝の複製モディファイアーのジオメトリノードの最後に、Realize Instancesノードを追加しているとのことです。

種まき(Sow)

■種子(Seeds)

インターフェースには、[Auto Prune]、[Stake]、[Surround]、[React]、[Record]と同じように、有効にできる新しい機能パネルとして[Sow]が追加されました。これは、既存の機能すべてとうまく連携するPlantツールの拡張機能です。

Sowは、シミュレーションループの多くのステップの1つであり、何年にもわたって新しい木を動的に追加し、枯れた木を削除します。成長中、緑色の点は新しい種子が発芽した場所を示し、赤色の点は枯れた木を示します。

■パラメータについて

パラメータ説明
Delay木が根を下ろし、種子を生産し始めるまでに必要な遅延時間(年単位)。樹種によって異なり、短いものではリンゴの木の5年程度、長いものではオークの木の数十年にも及びます。
Chance新しい木が生成される確率を制御します。指数関数的な繁殖の性質上、木の数が制御不能になるのを防ぐために使用します。
Limit生成される木の数の上限を設定します。シミュレーションを安定させるために使用します。
Distance親木から種子が散布される半径距離を設定します。樹種によって散布方法が異なり、落下距離が短いものや、動物や風によってより広範囲に散布されるものがあります。

ディテール

目に見える枝の半径

The Groveのポリゴン削減テクニックは、細いほど円形の断面における点の数が比例して最小限になるため、細くて新しい成長部分で最も効果を発揮します。

この原理は、コンピューターが木の茂みを構成する数十万もの小さな枝を効率的に管理するのに役立ちますが、ポリゴン削減によって細い枝が実際よりも細く見えていました。

このリリースでは、メッシュを構築する際にそのずれを補正し、枝をさらに自然な外観にします。

上記の画像シーケンスは、新しい補正が真実にどれほど近いかを示しています。一方、古い動作では、枝が細すぎます。わずかな違いですが確認できます。

長い小枝と短い小枝

より詳細な木を構築し、小枝の配置を改善するために、長い小枝と短い小枝を区別するようになりました。これにより、以前は区別なく配置されていた小枝を、枝の成長速度という要素に基づいて適切に配置できます。

さらに詳細にするために、枝の先端から始まる小枝で枝を延長する代わりに、枝の最後のノードを置き換えることができます。最新の成長の長さと向きに応じて、短い小枝、長い小枝、上向きの小枝、または枯れた小枝のいずれかに置き換えることが可能です。これは、特にダグラスファーやリンゴの木のような頂芽優勢の木で、非常に短い側枝を持つ場合に、小枝の分布を改善できます。

今のところ、この新しい動作はオプションであり、開発中の機能です。有効にするには、Build > Detail > Cutoff Age を1以上に設定して再構築してください。

場合によっては、小枝のサイズに合わせてプリセットのスケールを調整する必要がある場合があります。理論的には、小枝の密度スライダーを使用して葉を制御することもできますが、Cutoff Age を使用する場合は、現実的には1.0に設定する必要があります。全体として、これにより木はより詳細で、古びた外観になります。

構造的な変更

■後方互換性について

このリリースは、シミュレーションに変更のない、ツールと最適化に焦点を当てたリリースです。つまり、2.1リリースで作成したプリセットをそのままコピーでき、同じように成長します。

さらに、The Groveがついに後方互換性を持つようになり、古いリリースの.groveファイルをインポートしたり、古いBlenderファイルにある既存の木々を編集したりできるようになりました。

例えば、既存の古い木々に対して、不要な枝の剪定、小枝の調整、再構築、風エフェクトの追加、樹皮テクスチャの変更、そして新しく導入されたスケルトンの追加まで行うことができます。

ただし、非常に古い木に新しい年の成長を追加し続けると、シミュレーションが大幅に変更され、木の本来の特性を維持できなくなる可能性があることに注意してください。

■JSON

リリース2.2以降、The Groveはプリセット、構成、シミュレーションデータの保存にJSONを全面的に採用しました。これは、プリセットの形式が変更されたことを意味します。

古いリリース2.1のプリセットを2.2のプリセットフォルダにコピーすると、Blenderアドオンは自動的にそれらを新しいJSON形式に変換します。

この機能は一時的なものであり、リリース2.3で削除されます。

これらの変更の技術的な詳細に関心がある場合、たとえばPythonスクリプトを使用して成長を自動化している場合は、JSONで詳細を読むことができます。

■破壊的な変更

  • Blender 4.2 LTSが、The Groveを実行できる最小バージョンになりました。
  • Blenderの属性名がHoudiniと同じになり、名前の衝突を防ぐためにプレフィックスgr_が付いたスネークケースになりました。側面の小枝と末端の小枝は、それぞれ短い小枝と長い小枝と呼ばれるようになり、属性はgr_twig_longとgr_twig_shortになりました。これらの属性を使用している場合は、マテリアルまたはジオメトリノードを更新してください。
  • Houdiniでは、gr_twig_sideプリミティブグループがgr_twig_shortに、gr_twig_endがgr_twig_longになりました。それに応じて、小枝の散布ノードを変更してください。

■構造について

2.0リリースでは、Groveの大部分がコンパイルされたモジュールに移行しました。これは非常に高速でしたが、パッケージングとインストールが非常に複雑になりました。

2.2リリースでは、完全に新しい構造でそれを修正し、再び簡単にインストールできるように試みています。

Blenderアドオン:

The Grove Coreがメインパッケージとなり、解凍すると、小枝、樹皮テクスチャ、プリセット、アドオンを格納する準備ができた構造になっています。これは、ほとんどのユーザーにとって最適な推奨構造です。

Blenderアドオンパッケージをアドオンサブフォルダに展開すると、Blenderアドオンはこの新しい構造でプリセット、樹皮テクスチャ、小枝フォルダを自動的に検出し、インストール時のいくつかの手順を省きます。

Houdiniアドオン:

Houdiniアドオンの構造とインストールも大幅に変更され、保守がはるかに簡単になりました。アドオンは同じアドオンサブフォルダにインストールされ、同じCoreモジュールとプリセットを使用するようになりました。

価格とシステム要件

Groveは、最新のmacOS、Windows、Linuxシステム(Blender 4.4(4.2 LTSまで))で動作します。Python 3.7以降を搭載しています。スタジオ向けには、Linux版はCentOS 7とglibc 2.17でコンパイルされており、最大限の互換性を実現しています。

ライセンスは永久ライセンスで2回の無料アップデートが含まれています。Grove Core には 3 つのエディション Starter、Indie、Studio があります。すべてエディションにはBlender アドオンであるThe Grove in Blenderへのアクセスが付属しており、Studio ライセンスには The Grove in Houdiniが付属しています。(HoudiniのGroveは現在開発中のベータ版)

エディションごとの機能比較はこちらから

価格は以下の通りです。

  • Starter –  99ユーロ
  • Indie – 159ユーロ
  • Studio – 799ユーロ

セール情報

リリース記念で20パーセントオフで購入することができます。

期間は2025年5月9日(現地時間)までです。

価格の確認はこちらから


The grove ウェブサイトへ

コメント

Translate »
タイトルとURLをコピーしました