Tree エディターで樹木をデザインし、マテリアルを作成して、コライダーを追加します。
インポートしたメッシュを使用する場合は、メッシュから樹木と葉を作成するを参照してください。
新しい Tree アセットを作成するには、メインメニューで GameObject > 3D Object > Tree を選択します。
このアクションによってシーンビューに樹木が追加されます。また、Project ウィンドウの Assets フォルダーに樹木プレハブ (Tree.prefab) とテクスチャフォルダー (Tree_Textures) も追加されます。
樹木は、Ambient-Occlusion というフォルダーに配置した場合にのみ正しく描画できます。
Assets フォルダーを選択します。Ambient-Occlusion という名前を付けます。Ambient-Occlusion フォルダーに移動します。最初の枝は幹として機能し、地面から始まり上に伸びます。この例では、1 つの幹を作成していますが、例えばリードのグループに対して複数の幹を作成できます (枝グループのリファレンスの Frequency プロパティを参照)。
樹木を選択し、Inspector ウィンドウで表示します。Tree Hierarchy ビューには、幹として機能するルートノードと枝グループが表示されます。詳細については、Tree エディターの概念を参照してください。
Tree Hierarchy ビューコントロールを使用して、枝グループと葉グループを管理します。
枝はグループで管理されます。樹木の幹に枝を追加するには、Tree Hierarchy ビューで既存の枝グループ (幹) を選択し、Add Branch Group をクリックします。
新しい枝グループには 1 つの枝だけがあります。さらに枝を追加するには、Inspector ウィンドウ > Tree Hierarchy ビューで、新しい枝グループを選択し、Frequency 設定を変更します。
より小さな枝を既存の枝に追加するには、先ほど追加した枝グループ (幹ではありません) を選択し、Add Branch Group をクリックします。新しい枝グループは、選択した枝グループの上のレベルに追加されます。新しいグループの度数を変更して枝を追加します。
ノート: 度数は常に最終的な枝の数であるとは限りません。これらの枝はすべて 1 つの枝 (幹) から生えるため、最初のグループ内の枝の数はその度数と等しくなります。しかし、この新しいグループでは、前のグループ内のすべての枝から枝が伸びるため、度数は分散されます。自然な外観を作り出すために、成長が均一ではなく、つまり分布が均等になりません。その結果、2 番目のグループの最終的な枝の数は、2 つの度数の単純な積とはなりません。
新しい枝グループの成長角度は、地面に対して平行です。角度を変更するには、枝グループを選択し、その Growth Angle 設定を調整します。Seek Sun 設定を変更して、枝を上または下に曲げることもできます。
枝グループ設定の詳細および群葉については、枝グループのリファレンスを参照してください。
葉は、幹を含む任意の枝グループに追加できます。樹木のルートノードに葉を追加することもできます。これにより、地面に散らばった葉の効果が得られます。枝のように、葉はグループで管理されます。
枝グループに葉を追加するには、枝グループを選択し、Add Leaf Group をクリックします。
葉は不透明な平面として追加されます。マテリアルを追加する前に、葉の外観が理想的な状態になるまでグループ設定を変更します。詳細については、葉グループのリファレンスを参照してください。
葉グループを使用して果実を追加できます。詳細については、メッシュから樹木と葉を作成するを参照してください。
重なる果実と葉を作成するには、同じレベルに 2 つの葉グループを追加し、同じ度数と分布にします。
樹木には、葉、群葉、樹皮、折れた枝のむき出しになっている断面の 4 つのマテリアルがあります。
マテリアルを作成するには:
メインメニューから、Assets > Create > Material を選択します。
マテリアルに名前を付けます。
Tree エディターの樹木と葉は、これらのシェーダーを使用する必要があります。独自のシェーダーは使用できません。
テクスチャを追加します。まだテクスチャがない場合は、Main color を選択してテストするか、Unity Asset Store からアセットをダウンロードしてください。
テクスチャの詳細については、テクスチャを参照してください。
グループにマテリアルを追加するには、Tree Hierarchy ビューでグループを選択し、その Geometry セクションでマテリアルを割り当てます。
ゲームオブジェクトの変換は樹木全体に対してのみ機能し、樹木のルートノードを選択すると使用できます。
個別の枝と葉を変換するには、樹木作成者のコントロールポイントを使用します。
ヒント: 樹木全体を変換するには、Tree Root Node ボタンをクリックします。
Tree Hierarchy ビューで枝グループを選択すると、Unity エディターはシーンビューでその枝を選択します。シーンビューの枝と葉のグループには、枝と葉の編集に使用できるコントロールポイントが配置されています。以下の例は、1 つの枝が選択された樹木を示しています。
コントロールオプションは Tree Hierarchy ビューの下にあるツールバーから使用できます。
枝のコントロールポイントは、各枝の中心線を通過します。任意のコントロールポイントをクリックアンドドラッグして、枝を移動できます。
枝の場合、コントロールオプションは次のとおりです。
葉の場合、コントロールオプションは次のとおりです。
枝や葉のプロパティにはプロシージャルのものがあります。つまり、Tree エディターがそれらを生成します。枝または葉を編集すると、Tree エディターはプロシージャルのプロパティを無効にします。
プロシージャルのプロパティを復元するには、Convert to Procedural Group をクリックします。手動で行った編集を削除します。
コライダーはオブジェクトの形状を定義します。例えば、キャラクターが樹木を通り抜けて歩けないような物理的な衝突を判定します。樹木は Capsule Collider コンポーネントを使用します。
樹木コライダーの詳細については、樹木への衝突の追加を参照してください。
Wind Zone は樹木の動きをアニメーション化します。
Wind Zone ゲームオブジェクトを追加するには、樹木の Inspector ウィンドウで Create Wind Zone をクリックします。これは任意の枝または葉のグループから行うことができますが、樹木のルートノードからは行うことができません。
Wind Zone のデフォルト設定はそよ風を生み出し、変更せずに樹木に使用できます。より強い風の効果を作成する場合は、Wind Zone による樹木のアニメーション化を参照してください。
これで樹木を地形にグループでペイントする準備ができました。樹木のゲームオブジェクトを非表示にして、誤って移動したり、その設定を変更したりしないようにすることをお勧めします。
Hierarchy ウィンドウで樹木のゲームオブジェクトを選択し、Inspector ウィンドウでゲームオブジェクトの名前の横にある Visibilityチェックボックスをオフにします。
Paint Trees ツールを使用して、樹木の塊を地形に追加します。詳細については、地形に樹木を追加するを参照してください。