Nature Rendererには、Nature Shadersパッケージが付属しています。このパッケージにはウインドが使用できるようになる以下の植生用の4つの異なるシェーダが含まれています。
- Nature Shaders/Grass (草)
- Nature Shaders/Vegetation (植生)
- Nature Shaders/Tree Leaves (木の葉)
- Nature Shaders/Tree Bark (樹皮)
これらのシェーダが正しく機能するためには、モデルの頂点カラーからの情報に依存します。
草と植生
草と植生のシェーダーには、3種の風のコントロール方法があります。モデルにおいて風を受ける部分・風の強さ・風を受けたモデルの曲がり方をコントロール可能です。
1. ベイクした頂点カラー(Baked Vertex Colors)
モデルの頂点カラーからベイクしたデータを利用します。このデータはあらゆる3Dモデリングソフトウェアによってスクリプトもしくはマニュアルで計算されうるものです。
Channel(チャンネル) | Description(描写) | Range(レンジ) |
Blue | Rotation Axis (回転軸) | 0 (水平) - 1 (垂直) |
Red | Mask (マスク) | 0 (風無し) - 1 (デフォルト) |
Green | Phase Offset (位相オフセット) | 0 (オフセット最大) - 1 (オフセット無し) |
Alpha | Height (高さ) | 0 (地面) - 1 (頂点) |
ベイクした頂点カラーを使う場合、手動でRGB値を調整でき(もしくは白にするか、元の値のままにする)、そうすると自動でモデルのAlpha(height,高さ)のチャンネルを計算可能です。モデルのインポート設定内のモデルにgrass(草)もしくはvegetation(植生)のシェーダーのマテリアルを利用すると、頂点カラーが計算されます(モデルの再インポートが必要な場合があります)。
2. UV
モデルの形は、UVコーディネートと頂点座標を用いて計算されます。 計算は、地面はテクスチャの下部にある想定のもとになされます。
3. Vertex Position (頂点座標)
近似値はモデルのローカルの頂点座標を用いて計算されます。Y座標が0以下の頂点は地面の上で風の影響を受けないと想定されます。Y座標が1の頂点はモデルの一番上部で風の影響を最大で受けると想定されます。モデルの高さが0.5の場合、50%の風の強さの影響を受けます。
Tree Leaves and Bark (木の葉と樹皮)
1. Baked Vertex Colors (ベイクされた頂点カラー)
木の葉・樹皮のシェーダーはUnityのTree Creatorと同じ頂点データを利用します。木を追加する際は自動的にTree Createrを使って作成されます。
2. UV
モデルの形の近似値はUVコーディネートと頂点座標によって計算されます。幹がテクスチャの下部にある想定で計算されます。
3. Vertex Position (頂点座標)
近似値は木の頂点座標によって計算されます。木の枝の動きは無効になり、木の葉は木全体のメッシュを考慮した動きで風に対応します。木の葉は強い設定の風を使うと少しずつ木の枝から落ちることもあります。