Tree
Wind Zone

SpeedTree

SpeedTree は IDV 社によるサードパーティ製の製品で、既成の樹木のアセットと、樹木に特化したモデリングソフトウェアを提供します。

Unity は 他のアセットを処理するのと同じ方法で、SpeedTree の Model アセット を認識しインポートします。SpeedTree Modeler 7 を使用している場合は、Unity バージョンのモデラーを使用して .spm ファイルを再保存してください。 SpeedTree Modeler 8 を使用している場合は、.st ファイルを直接 Unity の Project フォルダーに保存します。

Project フォルダー内でテクスチャをアクセス可能にしておくと、Unity は各 Level of Detail (LOD) ごとに自動的にマテリアルを生成します。アセットを選択すると、生成されたゲームオブジェクトとアタッチされたマテリアルを調節する インポート設定 があります。Generate Materials または Apply & Generate Materials ボタンをクリックしない限り、アセットを再インポートしても、マテリアルを再生成しません。したがって、マテリアルのカスタマイズをすべて保持することが可能です。

SpeedTree インポーターは LODGroup コンポーネントが設定されたプレハブを生成します。プレハブをシーン内でインスタンス化するには、一般的なプレハブインスタンスとして使用するか、または、プレハブを樹木のプロトタイプとして選択し Terrain 全体にペイントします。

さらに、Terrain は LODGroup コンポーネントを持つゲームオブジェクトをすべて樹木のプロトタイプとして受け取り、メッシュサイズや使用するマテリアルの数に制限を設けません。これは Unity の Tree エディター による樹木とは異なります。ただし、SpeedTree による樹木は通常、3〜4 種類の異なるマテリアルを使用するため、フレームごとに多くのドローコールを発します。したがって、レンダリングパフォーマンスに対して追加のドローコールが比較的高負担になるモバイルなどのプラットフォームで、LOD の樹木を頻繁に使用することは推奨されません。

マテリアル

モデルインポーターには、SpeedTree マテリアルアセットを処理するワークフローを向上させる Materials タブがあります。詳細は、モデルインポーターの Material タブ のページを参照してください。

リアルタイムの投影

ビルボードの影を正しく投影するために、Unity は、ShadowCaster パスの間はビルボードを回転させ、ビルボードをカメラでなくライト方向 (ポイントライトの場合はライトの位置) を向かせます。

これらのオプションを有効にするには、SpeedTree アセットの Inspector ウィンドウで ビルボード の LOD レベルを選択し、Billboard OptionsCast ShadowsReceive Shadows にチェックを入れ、Apply Prefab をクリックします。

SpeedTree のインポート設定
SpeedTree のインポート設定

インスタンス化された SpeedTree ゲームオブジェクトのビルボードのシャドウオプションを変更するには、Hierarchy ウィンドウでビルボードゲームオブジェクトを選択し、Billboard RendererInspector でこれらのオプションを調節します。

Terrain 上でペイントしたツリーは、プレハブからビルボードのシャドウオプションを継承します。実行時にこれらのオプションを変更するには、BillboardRenderer.shadowCastingModeBillboardRenderer.receiveShadows を使用します。

既知の問題 他のレンダラーと同様に、Receive Shadows オプションはディファードレンダリングを使用している間は効果がありません。ビルボードは常にディファードパスで影を受けます。


  • 2019–01–29 編集レビュー を行って修正されたページ

  • SpeedTree 8と関連リンクに関する情報を追加

Tree
Wind Zone