SpeedTree/LOD による木
Wind Zone

草とその他の詳細について

terrain システムは草の塊を持つことができ、岩のような他の小さなオブジェクトの表面を覆うことができます。草は他を詳細に標準メッシュから生成している間、個々の塊を表現する 2D 画像を用いてレンダリングされます。

地形の草
地形の草

イネーブルの詳細

ツールバーの details ボタンで草/詳細のペインティングができます。

最初は、terrain が利用できる草や詳細はありませんが、インスペクターで Edit Details ボタンをクリックすると、表示されるメニュー上の Add Grass TextureAdd Detail Mesh オプションが表示されます。ウィンドウに terrain に追加するアセットの選択が表示されます。

grass のウィンドウはこのようになっています。

Add Grass Texture ウィンドウ
Add Grass Texture ウィンドウ

Detail Texture は grass を表現するテクスチャです。いくつかの適切なテクスチャが AssetStore Unity の Standard Assets に含まれていますが、ユーザー自身で作成することも可能です。テクスチャは単純に、空白部分のアルファを 0 に設定した小さな画像です。(もちろん “Grass” はただの総称にすぎません。画像を使い花の密生林を表現でき、さらに有刺鉄線コイルのような人工的なオブジェクトを表現することも可能です。)

Min WidthMin HeightMax Width そして Max Height 値は、生成された草の塊のサイズ上限と下限を指定します。本物らしくみせるために、grass はしみのちらばりなどのランダムな”ノイズまじりの”模様で生成されます。

Noise Spread 値は、もう一つ別のパッチのおおよそのサイズを制御します。値を高くすると、設定されたエリアがよりバリエーション豊かになります(技術メモ:ノイズは実際は Perlin noise を使って生成されます。地形とノイズ画像の x、y 位置のスケーリングを参照して、ノイズが広がります)。草の別パッチは、周辺部よりも中心部でより “健康” になるように考慮されており、 Healthy/Dry Color 設定により、カラーを使って草の健康度を表示できます。

最後に、 Billboard オプションが有効の場合、草画像は常にカメラ向きに回転するようになります。このオプションは、草が側面から見える可能性が無くなるため、草のフィールドの密度を表現したい場合に便利ですが、平面であることがはっきり判ってしまいます。草がまばらな場合には、個別に回転するのが明白に判ってしまうので、少し奇妙な感じに見えます。

メッシュの詳細は、岩のようにするため、選択ウィンドウでは次のようにします。

Add Detail Mesh ウィンドウ
Add Detail Mesh ウィンドウ

Detail プロパティーは、プロジェクトからプレハブを選択して使用され、個々のインスタンスは Random WidthRandom Height の値によってスケールされます。Noise SpreadHealthy/Dry Color の値は草のために同じような動作をします(岩のようなオブジェクトに適用したときは “healthy” の意味が多少引き伸ばされますが)。Render ModeGrassVertex Lit を設定することができます。Grass モードは、シーン内の詳細オブジェクトのインスタンスが草テクスチャのような動作をするよう2D画像として引き伸ばされます。Vertex Lit モードは、詳細オブジェクトはシーン内の頂点リットオブジェクトがソリッドのようにレンダリングされます。

SpeedTree/LOD による木
Wind Zone