ニッチなblender手記

世の中には自分に似た人が3人いるとされています。その人達へと情報共有するために主にblenderの記事を書いていきます。

loose usage about The Grove (Thicken)

概要

ここでは The Grove アドオンの Thicken(厚み) 機能に絞って記述する。
機能上、枝の太さを変えることができる唯一のパラメータとなっている。

f:id:r9aArrowhead:20210427233655j:plain

木の厚みとは何か?

樹木が高く成長するのは特に説明もないと思う。
高く成長するということは、樹木全体の重さが増す。重さが増せば、それを支えるだけの土台が必要となる。自身を支えるために全体が太く大きくなる。
Thicken(厚み) はこの現象を表現するためのパラメータであり、知見に富んだ方には 肥大成長を司るパラメータ と言った方が伝わるのかもしれない。

参考までに、縦に伸びる成長は先端成長と呼ばれる。 先端成長は GrowFavor が担っている。

参考

Wikipedia - 肥大成長

利用環境

  • blender 2.91
  • The Grove release 9 & 10

各パラメータまとめ

  • Boost: 木全体の太さを増加させる。 The Grove 10 からはこのパラメータは廃止された。
  • Tips: 枝の先端に新たにできたばかりの枝の太さを決定する。
  • Reduce (Decrease): Tips の太さを割合で細くする。太くはならないので注意。
  • Join Branches: 枝分かれ時のそれぞれの枝の太さを増加させる。
  • Deadwood: 木全体の太さを増加させる。ただし、枯れた枝がなければ効果がない。
  • Base Scale: 根本部分の広がりの大きさを増減する。
  • Shape: 根本部分の太さを補正する。
  • Root Bumps: Base Scale の結果を増幅させる。

Boost

The Grove 10 からはこのパラメータは廃止された。

幹と(亜)主枝の太さを増幅するパラメータ。
プロパティのスライダーでは 0.0 - 1.0 の間で調整可能だが、 直接数値を指定すれば 1.0 以上の指定もできる。

完全なスケールでの指定にすると、0.0の場合に太さ = 0 となるから?

ではどれぐらい太さが変わるのかというと、概ね 指定した値 + 1 倍ほど変わっている。
手っ取り早くものすごい巨木を作りたい場合は、この値を上げれば見た目上は巨木っぽい感じにすることができる。

このパラメータは twig や 枝の中間部分以降には影響がない点に注意。
枝全体の太さを変えたい場合は他のパラメータを用い、twig の太さを変えたい場合は twig の元となっているモデルそのものを変形する必要がある。

枝の伸び方は気に入っているが太さが足りないという場合はこのパラメータを使えば改善が見込める。
下図を見れば分かるように、元の数値にスケールをかけていくような処理になっているようなので元の枝がそもそも細い場合は効果が薄い。

f:id:r9aArrowhead:20210427233703j:plain f:id:r9aArrowhead:20210427233708j:plain f:id:r9aArrowhead:20210427233716j:plain f:id:r9aArrowhead:20210427233723j:plain f:id:r9aArrowhead:20210427233729j:plain

Tips

Tips(=先端) の名前の通り、枝が成長して伸ばした枝の初期状態の太さを決定する。

新しく枝を伸ばした場合、システム的には Grow パネルで設定した内容で既存の枝へ新規ノードを追加する。 この新規で追加したノードの、最初の太さを決定するプロパティとなる。

先端の枝というのは、木の中でも最も成長する部分となっているが、これを The Grove ではシステム的に解決している。
Flow の項目で Favor についての設定がいくつか存在したが、これが密接に関わっている。
例えば Favor Bright は光へ向かって伸びる強さを示しているが、この強さの最終的な値が光へ向かって新たに枝を伸ばすかを決定している。
この内部の最終的な値が一定以上の大きさとなって枝が伸びる場合にのみ、このプロパティは参照されることとなる。 Favor Bright を例として利用したが、日陰に存在する枝であったとしても最終的な値が一定以上あれば枝を伸ばすことになるためここでのプロパティが適用される点には注意すること。

内部処理的には power >= 1.0 の時にここで指定した値の太さ(=width)で新規にノードを追加する。

このプロパティはここでのみ参照されると書いたが、厳密には後述の Decrease にも影響を与える。 どう関わるのかは Decrease にて記述する。

注意点

上述の通り、このプロパティは枝の発生時の太さを決定する。
少しこのアドオンを動かせば見て取れるように、木は成長すると共に枝の長さだけではなく太さも増していく。

Thicken には木の成長時の太さの成長を制御するパラメータは存在しない。
しかし、存在しないわけでもない。
アドオンで木を成長させる時に利用している Grow コマンド実行時に既存の枝の太さを調整している。
この処理に関しては完全なブラックボックスになっているので、 Th Grove のパネル上からでは操作はできない仕様となっている。

だからといって完全に制御不可能かと言われるとそういうわけではない。
Grow ボタンを押した場合の成長は、既存の枝の状態を元としている。
要は元の枝が細くすればいいので、 Thickness 関連の設定内容が活きてくることになる。

f:id:r9aArrowhead:20210427233736j:plain f:id:r9aArrowhead:20210427233746j:plain f:id:r9aArrowhead:20210427233832j:plain f:id:r9aArrowhead:20210427233838j:plain f:id:r9aArrowhead:20210427233843j:plain

Reduce (Decrease)

The Grove 10 からは名称が Reduce へ変わっているので注意。

枝が先端に新規ノードを追加した時、つまり新しく枝を伸ばした部分の初期の太さを減衰させるパラメータ。
枝に光が十分指していないなどで成長に必要な栄養が十分に届いていない場合の表現に用いる。
あるいは見た目以上に木が老化しているなど、なんらかの理由で枝が伸ばす力が衰えている表現などにも用いることができる。
要は、 本来成長するはずだった内容よりも弱い成長になる。

Tips の項で少し説明したが、このパラメータは Tips の影響を受ける。
というのも、新しく伸ばした部分は 100%栄養が行き届いた状態の成長 = Tipsで設定した太さになる となり、 Decreaseの最大値 = Tips(100%) * 設定した値 という状態となる。
例えば 'Tips = 20mm, Decrease = 0.5' という設定をした場合、新しく枝が伸びた部分の太さは max = 20mm, min = 10mm (20mm * 0.5) の範囲で枝を伸ばす。

より正確には、tips の時と同じく成長する力を示す内部パラメータである power が減少すると Decrease による補正が大きくなる。
内部処理的には power < 1.0 の時に Decrease * (1.0 - power) * Tips で新規にノードを追加する。  
power >= 1.0 の時は Tips の設定値そのままの太さで枝を伸ばす。

ちなみにマイナスの倍率を設定すると、日陰などの枝の方が太い枝を伸ばすという現象を作り出すことができる。

注意点

このプロパティは Tips 同様に枝の発生時の太さを決定する。
木が成長すると共に枝の長さだけではなく太さも増していくのは Tips の時と同じ。

f:id:r9aArrowhead:20210427233848j:plain f:id:r9aArrowhead:20210427233855j:plain f:id:r9aArrowhead:20210427233900j:plain

Join Branches

名称が Join となっているが、実際には枝分かれ時の厚みの制御する。
見た目上は枝が合流した先の太さが変わるので、名称が間違っているわけではない。

木の先端から見ていく考えならば、枝が join していることになるから。

木が上方向かつ水平方向へ成長していく際に一つの枝の先で複数の芽が出て枝分かれを起こすことがある。

Add -> Fork がその設定に該当する。

この時に枝は元の太さを維持したまま枝分かれを起こすわけではなく、互いに元の枝の太さを分け合うような形で成長を続けていく。
木は先端へ向かうにつれて枝が細くなるような形になるが、これは枝の先端へいくほどほど若いことを示している。
これを再現するためのプロパティとなっているのが Join Branches である。

ついでに言うと、自重を支える必要があるため木は成長を続けると全体的に太くなっている。 幹や枝の皮が剝がれている木を見かけることがしばしばあるが、あれは内側から成長した結果皮が裂けたためああなっている。

このプロパティの数値を増減することで枝分かれした時の枝の太さをある程度増減することができるようになる。 ただし制御には注意点が3点ある。

1つ目は、どちらか一方だけの枝を太くするというような細かい制御はできず、常に枝分かれした枝全体の太さを増減するような制御となることには注意が必要となる。

2点目は、枝分かれした先の枝が枯れた場合、枝分かれによる太さの再計算がキャンセルされる点にあり、こちらは少し解説を付け加える必要がる。
下図のように枝が分かれているにも関わらず枝分かれした先の枝が枯れてしまった場合は、生き残っている方がそのまま枝分かれをしなかったかのような太さで成長を続けることになる。
門外漢なので専門的な知見からこれの正誤は判断できないが、少なくとも The Grove の仕様上はこうなっていると覚えておく必要がある。

f:id:r9aArrowhead:20210427233906j:plain

3点目は、このパラメータによって枝の太さを太くすることで、枝が曲がりにくくなる。
枝が太くなったのでそれだけ丈夫になるわけだから、重力などの影響による歪曲も少なくなる。

f:id:r9aArrowhead:20210427233911j:plain f:id:r9aArrowhead:20210427233917j:plain f:id:r9aArrowhead:20210427233923j:plain

Deadwood

植物学的にどの現象に類するものか分かりにくいのであまり調べられなかったが、恐らくはカルスによる枯れた枝や剪定で傷ができた部分に対する肥大化のことだと思われる。

アドオンでは、枯れた枝や Drop などで剪定した枝があった場合にその枝が生えていた親の枝を太くする度合いを決定するパラメータという主旨の説明がされている。
実際にパラメータを変えて確認したところ、この設定値を上げることで枯れたり剪定された枝の分だけ親の枝が太くなった。

このパラメータの面白いところは、値が 0 だと木は成長しても全く枝を太くさせないところにある。
つまり、 TipsReduce では枝の太さの成長を調整できず、成長による枝の太さを調整する唯一のパラメータということになる。

Join Branches はあくまでも元の枝から分化した際の太さを決めるものなので、成長による枝の太さには関係しない。

f:id:r9aArrowhead:20210427233930j:plain f:id:r9aArrowhead:20210427233935j:plain f:id:r9aArrowhead:20210427233940j:plain f:id:r9aArrowhead:20210427233947j:plain

Base Scale

根本のスケールを変えるプロパティ。
ここでいう根本とは、 The Grove が地表付近を覆うメッシュ部分を作成する時のものを指す。 しかし現実の木々のような根っこが波打つような感じにはならないので注意。

f:id:r9aArrowhead:20210427233951j:plain f:id:r9aArrowhead:20210427233956j:plain f:id:r9aArrowhead:20210427234001j:plain

Shape

根本から主枝までへと伸びていく際の枝の太さを変えるプロパティ。
Base Scale に影響を受けるプロパティで、 Base Scale の大きさが最大値となって上へいくほど細くなっていくという性質をもっている。

数値が極端に低い場合は根本から円錐状になるが、補正値が大きのか少しでも値を上げると普通の枝のような形に落ち着くようになっている。

f:id:r9aArrowhead:20210427234007j:plain f:id:r9aArrowhead:20210427234012j:plain f:id:r9aArrowhead:20210427234017j:plain f:id:r9aArrowhead:20210427234022j:plain f:id:r9aArrowhead:20210427234029j:plain

Root Bumps

根本の領域を補正するプロパティ。
値を大きくすると根本の領域が拡大する。

CGをやっていると 'Bumps' とあるのでバンプマップのことかと勘違いするかもしれないが、特にバンプの効果はない。

f:id:r9aArrowhead:20210427234034j:plain f:id:r9aArrowhead:20210427234116j:plain f:id:r9aArrowhead:20210427234120j:plain f:id:r9aArrowhead:20210427234126j:plain f:id:r9aArrowhead:20210427234131j:plain f:id:r9aArrowhead:20210427234140j:plain

注意点

Thicken の中でも主に根本の部分を調整する Base Scale Shape Root Bumps だが、3つ全てが相関関係にある。

下図は Base ScaleRoot Bumps を最大に、 Shape を最小にした場合の結果となる。
Base ScaleRoot Bumps で作成された根本部分を元にして Shape の結果が作成されていることが分かる。

f:id:r9aArrowhead:20210427234146j:plain