概要
本記事では、SideFXが公開している GAME JAM STARTER KIT から FOLIAGE (植生)を Unreal Engine を使って解説します。
GAME JAM STARTER KIT のダウンロードはこちらから:
https://www.sidefx.com/ja/tutorials/game-jam-starter-kit/
葉は、植物としてゲームレベルの地面に追加したり、ジオメトリに対し蔦(つた)として作成したりできます。葉の形、葉の数、葉と他のオブジェクトとの相互作用を制御できます。
ツールの使い方
ツールをロードすると、シーンに葉が一枚表示されます。
現在パラメータの Mode がCreate Leave になっているためです。
このツールは Create Leaves, Plants, Ivy(蔦)という三つの機能を持ちます。
それぞれ文字通り、葉を生成する機能、その葉を使って群葉を生成する機能、そしてその群葉を蔦のジェネレーターとして使用する機能です。
それぞれの機能はプロシージャルに繋がり、Create Leaves での変更がほかの二つの最終出力に反映されます。
Create Leave
Length は葉の長さを、width は幅を変えます。
Leave shape はカーブランプを使って葉の形状を制御します。
上の場合、ランプの左から二つ目のポイントが一つ目のポイントと並行ではなくなったため、茎の表現を削除することができました。
このように、ランプの左端のポイントは葉の付け根を、右端は先端を制御します。
bend で葉の反りの制御をします。
XYZ それぞれのパラメータを持ち、三次元で制御させることが可能です。
Cuts では葉の切れ込みの制御をします。
Global Seed は切れ込みの生成位置に乱数を加えます。
Amount は切れ込みの数を増減します。
Overall Scale は切れ込みの深さを変えます。
Scale Minimum, Scale Maximum は切れ込みの大きさの最小値と最大値を制御します。
Final Tweaks(微調整)では葉の色やポリゴン数などを制御します。
Poly reduce で葉のポリゴン数を、Normal で法線の数を指定できます。
Ramp color で葉の色を変えることができます。
Plants
Mode をPlants に切り替え、下の Plants をクリックしてパラメータを展開します。
このままだと何も出ません。
これはパラメータの Add cluster が 0 になっているためです。
+ボタンをクリックすると群葉がシーンに出現し、パラメータに新しく Plant1 が追加されました。
これで今追加した群葉を制御します。
Position up では群葉の付け根の高さを変更します。
Amount leaves は葉の数、Rotate は回転、Scale は群葉全体のサイズを変更します。
Pitch は葉の広がりを制御します。値を上げると群葉を押し開き、値を下げると束ねます。
cluster の数を増やすと、Plant1 と同じ地点に二つ目の群葉ができます。
同様にパラメータを変更し、目的の植生を作ることができます。
注目するのは、ここで群葉を成す葉が Create Leave で作った葉であることです。
このツールはプロシージャルであるため、もう一度 Create Leave に戻りパラメータを変更すれば、その変更が Plants タブにも反映されます。
お互いのタブを行き来し、目的のモデルを作ることができます。
Ivy Generator
Ivy generator に変更し、蔦の制御をします。
変更直後のシーンには蔦を這わせる入力モデルがないので、何も表示されません。
今回の入力モデルの例として「Edge Damage tool」で作った柱を使います。
Edge Damage tool の記事はこちら
次に、この柱を入力モデルと認識させ、蔦を這わせる処理を行います。
Ivy のオプションの inputs から、Geometry Input を World Outliner Input に変更します。
Start Selection をクリックし、
入力モデルを選択した状態で、
Use Current Selection をクリックします。
柱が入力モデルとして認識され、柱に蔦が這うようになりました。
ただこのままだと地面からしか生えないため、蔦が生える地点を自由に制御できるようにします。
パラメータを下にスクロールしてくと、 Starting point というパラメータがあります。
今は何も入力されていませんが、ここにモデルを指定すると、指定したモデルの地点から蔦が生えるようになります。
シーンに Sphere を追加し、
蔦を選択した状態で Starting point の Input を変更します。
柱を入力モデルに指定した時と同様に、Sphere を蔦の開始地点に指定します。
これで、Sphere から葉が生えるようになりました。
Sphere を移動させれば、その地点から葉が生えます。
蔦を選択し、Settings に移動します。
Seed は蔦の成長具合に乱数を加えます。
Amount Branches は枝の量を、Branch radius は半径を制御します。
Range は蔦が伸びる距離を制御します。
Starting point を柱の頂点に置き、Range を小さくすれば柱に被さる蔦を表現できます。
Leave density で葉の密度を、Scale Min, Scale Max で蔦のサイズの最小値と最大値を制御できます。
より蔦らしく見せたい場合や、小さい葉が必要な場合はこのパラメータを変更します。
また、ここから Create Leave に戻り葉を変更しても、Plants と Ivy に変更が反映されます。
葉と群葉と蔦、そして発生地点はそれぞれプロシージャルにつながり、最終出力に反映されます。
各ステップにサイズの変更やシード値が配置されているため、求めるモデルや蔦らしさを追求するためには各パラメータの細かな制御が必要になります。