Version: Unity 6.0 (6000.0)
言語 : 日本語
樹木への衝突の追加
Wind Zone による樹木のアニメーション化

地形に樹木を追加

Paint Trees ツールを使用して地形に樹木を配置し、ペイントをカスタマイズします。ブラシで樹木をペイントしたり、地形タイル全体に樹木を大量に配置したりできます。

例として、6 つの SpeedTree モデルが配置された無料の Unity Terrain - HDRP Demo Scene を使用してみましょう。Tree エディター (ビルトインレンダーパイプライン用) を使用して樹木を作成することもできます。

Paint Trees ツール

樹木のペイントにアクセスするには:

  1. Hierarchy ウィンドウで、地形を選択します。
  2. 地形の Inspector ウィンドウの Terrain ツールバーで、Paint Trees を選択します。

樹木を選択

地形に樹木を追加するには、樹木のプロトタイプを Paint Trees ツールに追加します。

  1. Edit Trees > Add Tree を選択します。
  2. 樹木を選択します。

Add Tree ウィンドウには、追加する樹木に応じてさまざまなオプションがあります。

  • 曲げ係数: シーンの風に対する樹木の反応度を調整します。SpeedTree Modeler の樹木に曲げ係数は設定されていません。Tree エディターの樹木にのみ設定されています。詳細については、Wind Zone で樹木をアニメーション化するを参照してください。

  • ナビメッシュ LOD インデックス: SpeedTree は 詳細レベル (LOD) グループを使用します。Unity エディターはグループ間の遷移を管理しますが、カメラに近接することのない樹木を配置する場合や、モデルを編集せずに樹木の表示品質を制限する必要がある場合は、特定の LOD グループを選択できます。これで HDRP がモーションベクトルをレンダリングできるようになります。オブジェクトモーションベクトルを有効にする場合は、デフォルトにより、新しいメッシュレンダラーがオブジェクトモーションベクトルを書きますので、注意してください。この動作を変更するには、メッシュレンダラーを選択し、Inspector で Motion Vectors プロパティーの値を変更します。
    !
    • First: プレイヤーに近い樹木の最大の LOD。
    • Last: 最小 LOD。プレイヤーから遠く離れた樹木に対する値です。
    • Custom: 別のレベルを選択する際に設定します。

    詳細については、樹木の詳細レベル (LOD) を参照してください。

  • Cast Shadows: Tree エディターの樹木に対して設定します。これは編集できません。樹木の Mesh Renderer > Lighting > Cast Shadows 設定で選択したオプションが表示されます。

ペイントのための樹木のカスタマイズ

樹木の配置と特性をカスタマイズします。Brush SizeTree Density を除き、設定は大量に配置した樹木とブラシでペイントした樹木の両方に適用されます。

プロパティ 機能
Brush Size 各ブラシのストロークが樹木で覆われている領域のサイズ。
Tree Density 樹木が相互にどれだけ離れている必要があるかを指定します。これによって、1 回のブラシのストロークで追加した樹木の数が制限されます。制限は範囲ではなくブラシのストロークによるものであるため、同じ領域でブラシのストロークを繰り返すと密度が高くなります。また、ブラシが大きいほど、密度が 100 であっても、樹木からの距離が離れます。
Tree Height 樹木の高ささをランダム化する範囲。広い範囲を使用して外観を変化させ、狭い範囲を使用して外観を統一します。範囲の代わりに値を指定するには、Random を無効にします。樹木の元の高さの 2 に対する 0.01 のスケール値を指定できます。
Lock Width to Height デフォルトでは、樹木に対し常に均一のスケールが行われるように、樹木の幅は高さに合わせて固定されています。幅を指定するには、Lock Width to Height を無効にします。
Tree Width 樹木の幅のランダム化の範囲。広い範囲を使用して外観を変化させ、狭い範囲を使用して外観を統一します。範囲の代わりに値を指定するには、Random を無効にします。樹木の元の幅の 2 に対する 0.01 のスケール値を指定できます。
Random Tree Rotation 樹木に LOD グループ (例: SpeedTree からインポートした樹木) がある場合は、Random Tree Rotation 設定を使用して、ランダムで自然に見える森林のインプレッションを作成するヘルプを使用します。樹木を固定し、回転しない同じ向きで配置する場合は、このオプションを無効にします。
Color Variation 樹木に適用されるランダムなシェーディングの量。これは、シェーダーが _TreeInstanceColor プロパティを読み取る場合にのみ機能します。Tree エディターで作成された樹木はすべてビルトインシェーダーを使用するため、_TreeInstanceColor プロパティを読み取ります。SpeedTree ツリーの中には、このプロパティを読み取れないものがあります。
Tree Contribute Global Illumination 編集不可。樹木アセットの Lighting > Contribute Global Illumination オプションが有効になっているかどうかを示します。

大量な樹木の配置

地形タイル全体に樹木を 1 つのアクションで配置できます。ペイント前の樹木のカスタマイズについては、ペイント用の樹木のカスタマイズ (上記) を参照してください。

地形タイル全体に樹木を配置するには、以下のことを行います。

  1. 上で説明したように、樹木セットを選択します。大量の配置では、強調表示されている樹木だけでなく、Tree リスト内のすべての樹木が使用されることに注意してください。
  2. Mass Place Trees を選択します。Place Trees ウィンドウが開きます。
  3. 配置する樹木の数を入力します。
  4. 既存の樹木を維持するには、Keep Existing Trees ボックスをオンにします。このボックスをオンにしない場合、Unity は既存の樹木をすべて削除し、新しい樹木に置き換えます。

ブラシツールを使用して、大量に配置した樹木を追加または削除できます。

ブラシで樹木をペイントする

地形にブラシで樹木をペイントできます。

樹木をペイントするには:

  1. 上で説明した樹木を選択します。
  2. ブラシ設定とペイント用の樹木のカスタマイズについては、前述の樹木のカスタマイズを参照してください。
  3. ブラシを使用して地形に樹木をペイントします。
  4. 削除するには:
    • 領域内のすべての樹木: Shift キーを押しながらペイントします。
    • Tree リストで選択した樹木のみ: Ctrl キーを押しながらペイントします。

樹木の編集

樹木のプロパティは、配置前やストロークのペイント間で編集できます。例えば、SpeedTree ツリーでは、地形の異なる部分をペイントするときに使用する LOD グループを変更できます。

樹木を編集するには:

  1. Tree リストで、編集する樹木を選択します。
  2. Edit Trees > Edit Tree を選択します。Edit Tree ウィンドウが開きます。Add Tree ウィンドウと同じオプションが用意されています。

インポートされた樹木の更新

別の 3D モデリングアプリケーションでインポートした樹木を変更する場合は、地形での表示を更新するためにペイントツールで樹木を更新する必要があります。

樹木を更新するには、地形タイルの Inspector ウィンドウで、Paint Trees > Trees > Refresh の順に選択します。

注意SpeedTree の樹木は、独自のシェーダーを使用して風の動きをアニメーション化します。Unity エディターは、SpeedTree がファイルタイプ spm または st8 でエクスポートする樹木にのみこのシェーダーを追加します。異なる 3D モデリングソフトウェアを使用して樹木を編集し、fbx ファイルまたは obj ファイルとしてエクスポートすると、Unity エディターによってビルトインシェーダーが割り当てられ、風の効果が失われます。風のアニメーションを維持するには、常に SpeedTree を使用して SpeedTree ツリーを編集および再エクスポートします。

追加リソース

樹木への衝突の追加
Wind Zone による樹木のアニメーション化