サイトアイコン ほろほろりドットコム

[Blender 2.8] 木のモデルをお手軽作成 [Sapling Tree Gen]

Blender アドオン カーブ Add-on Sapling_Tree_Gen 3DCG モデリング 木 葉

[Blender 2.8] 木のモデルを簡単に作成できる『アドオン』、『Sapling Tree Gen』の機能と使い方のご紹介

今回の記事は、Blenderで簡単に『木』のモデルを作成することが出来る『Add Curve: Sapling Tree Gen』という『アドオン(Add-ons)』について取り扱わせていただきたいと思います。

本当に簡単な、1つや2つの操作で『木』のモデルを作成出来ますので、是非とも、そういったモデルが必要になった時に、パッと使えるようになるため、豆知識としてでも、頭の片隅に置いておいてほしい機能です。

ニコニコ動画の、Blenderでのモデル製作入門動画内でも紹介されている、比較的有名なアドオンでもあります。

もし、「とりあえず作りたい!」という方には、貼らせていただいた動画が(旧バージョンではありますが)10分程度で分かりやすくまとめてくださていますので、そちらをご覧ください。

当記事では、「とりあえず」よりももっと踏み込んだ詳細な設定や機能、使い方を取り扱わせていただきます。

後日追記:この『Sapling Tree Gen』を活用して作った「桜の木」のメイキング記事を執筆しましたので、よろしければこちらも使い方の一例として、合わせてご覧ください。

※2020年3月30日 追記を行いました。
※2020年5月19日 加筆修正を行いました。

目次

『アドオン』とは?

まずこの『Sapling Tree Gen』を説明する前に、Blenderに備わっている『アドオン』という機能についてご紹介させていただきたいと思います。

『アドオン(Add-ons)』とは、扱うモデリングの系統を絞ってそれだけに特化させた「モデリング補助ツール」、という感じのものです。

なので、他のツールや『モディファイアー』と比べると汎用性はありませんし、使える場面も限られてきますが、その分野や方面のモデリングをする時には、それ一つでモデリングが済んでしまう、凄く便利で有難い存在です。

『アドオン』のカテゴリー

次のような種類のカテゴリーに分けられます。※2.81バージョン

  • 3Dビュー(3D View)
  • 追加カーブ(Add Curve)
  • 追加メッシュ(Add Mesh)
  • アニメーション(Animation)
  • カメラ(Camera)
  • 開発のガイド(Development)
  • インポート/エクスポート(Import-Export)
  • インターフェイス(Interface)
  • 照明(Lighting)
  • マテリアル(Materials)
  • メッシュ(Mesh)
  • ノード(Node)
  • オブジェクト(Object)
  • ペイント(Paint)
  • レンダー(Render)
  • リギング(Rigging)
  • シーケンサー(Sequencer)
  • システム(System)
  • UV
  • 動画ツール(Video Tools)

ちなみに、今回ご紹する『Sapling Tree Gen』は、『追加カーブ(Add Curve)』というカテゴリーに分類されています。

基本的な使い方

『アドオン』の有効化

『アドオン』は、必要なものを1つ1つ有効化する必要があります。

有効化するには、まず、[編集]>[プリファレンス…]を選んで『Blenderプリファレンス』ウィンドウを表示させます。

表示された『Blenderプリファレンス』から[アドオン]を選ぶと、デフォルトでインストールされている『アドオン』が一覧で表示されます。

ここから探し出すのは手間なので、虫眼鏡マークの検索フォームから”tree”と入力して対象を検索します。

すると、[Add Curve: Sapling Tree Gen]というものが表示されますので、名前左のチェックを入れて有効化します。

もし、『プリファレンスを自動保存』を有効にしていない場合は、[更新]ボタンを押しておきましょう。

オブジェクトとして『追加』

有効化が済んだら、3Dビューポート上で、『追加メニュー』([Shift]+[A])から、[カーブ]>[Sapling Tree Gen]を選択します。

ただ追加するだけで詳細な設定をしなくても、画像のような『木』が作成されたかと思います。

『アウトライナーエディター』上に表示されるデフォルトのオブジェクト名は[tree]となるようです。

詳細設定

追加直後に出てくる『オペレーターパネル』から、詳細な設定が可能です。

『木』モデルを構築するための詳細設定は、大きく8つに分けられています。

[設定(Settings)]のプルダウンメニューから選んだ設定の、サブメニューがその下に表示されます。

また、このプルダウメニューの並び通りの順に設定していくと、効率的なモデリングが出来ると思います。

設定概要
[ジオメトリ(Geometry)] 全体的な形状に関する設定。
[Branch Radius] 枝部分の半径に関する設定。
枝のベベルとテーパーを調整できる。
[Branch Splitting] 枝分かれの設定。
枝部分の形成方法、分割方法を調整できる。
設定には、分割のレベル、高さ、角度が含まれる。
[Branch Growth] 枝の成長設定。
枝部分の成長方法や成長具合を調整できる。
設定には、長さ、角度、曲率が含まれる。
[Pruning] 枝の剪定設定。
枝の伸びる範囲を、追加で作成する『剪定(Prune)』用のカーブオブジェクトの形状から調整できる。
[Leaves] 追加で作成する『葉(Leaf)』用のメッシュオブジェクトの設定。
形状、オブジェクトの種類、回転、スケールを調整できる。
[アーマチュア(Armature)] 追加で作成するアーマチュアオブジェクトに関する設定。
[アニメーション(Animation)] アニメーション化設定。
この設定にはアーマチュアが必須。
速度、風の強さ、『葉』のアニメーションなども調整できる。

[ジオメトリ(Geometry)] –木の全体的な形状

全体的な形状に関する設定をします。

[ベベル(Bevel)]

この項目にチェックを入れて有効にすることにより、カーブオブジェクトにベベルで面取りをする事が出来ます。

チェックを入れなければ、『木』を形成するカーブオブジェクトのみの状態になります。

通常のカーブオブジェクトの断面の形状を、『ベベルオブジェクト』を使用しないで設定する場合と似ています。

[ベベル] off
[ベベル] on

[ベベル解像度(Bevel Resolution)]

[ベベル解像度]を0~10に変化

カーブオブジェクトを囲うベベルの外周(切り口)の滑らかさを調整します。

[Curve Resolution]

[Curve Resolution]を1~11に変化

カーブオブジェクトに沿って、どれくらいベベルを滑らかにするかを変更します。

この項目は、[ハンドルタイプ]が[自動]に設定されている場合にのみ調整できます。

[ハンドルタイプ(Handle Type)]

『木』を構成するベジェカーブの補間方法を設定します。

ベクトルタイプでは、頂点は少なくなりますが、直線セグメントになります。 自動入力はセグメントを滑らかにしますが、より高価なジオメトリが必要です。

  • [自動(Auto)]
[ハンドルタイプ: 自動]

セグメントが滑らかになります。

  • [ベクトル(Vector)]
[ハンドルタイプ: ベクトル]

セグメントが直線的になり、頂点数が少なくなります。

ローポリゴンの『木』モデルを作りたい場合はこちらがオススメです。

Memo: ベジェカーブのハンドルタイプ4種

カーブオブジェクトは、『制御点』、『セグメント』、『制御点』という3つの要素で構成されています。

『制御点』の間を繋ぐのが『セグメント』で、これがカーブを表します。

そして、(ベジェカーブの場合)1つの『制御点』から2つの『ハンドル』が伸び、その『ハンドル』の向きによって『セグメント』の曲がり具合が決まります。

ベジェカーブの構造

カーブオブジェクトを編集するには、『制御点』や『ハンドル』部分を移動([G])、回転([R])、拡縮([S])で操作するのですが、この『ハンドル』は以下の4タイプが存在します。

ハンドルタイプ設定([V])
  • 『自動』
『自動』タイプのハンドルで構成されたベジェカーブ

2つのハンドルが直線上に並び、長さと方向が自動的に決定されます。このタイプが一番滑らかなカーブを描きます。また、片方のハンドルだけ動かすと『整列』に変換されます。

  • 『ベクトル』
『ベクトル』タイプのハンドルで構成されたベジェカーブ

2つのハンドルはそれぞれ、前のハンドルか後ろのハンドルの方向を指します。このタイプは、直線か鋭角的なカーブを描く場合に使えます。 また、片方のハンドルだけ動かすと、『フリー』に変換されます。

  • 『整列』
『整列』タイプのハンドルで構成されたベジェカーブ

2つのハンドルは常に直線上にあり、鋭角のない連続した曲線を描きます。

『自動』と違い、こちらは長さや方向を全て自分で決められます。

  • 『フリー』
『フリー』タイプのハンドルで構成されたベジェカーブ

2つのハンドルはそれぞれ独立しており、長さや方向を自由に決められます。

参考:Handle Type – Blender Manual

[シェイプ(Shape)]

『木』の全体的な形状に影響を与えるために、枝の分布を管理します。

プルダウンメニューの10タイプから選ぶのですが、最後の[Custom Shape]だけ特殊です。

最後の[Custom Shape]は、下にある[Custom Shape]から細かく枝の分布を数値で調整する事が可能です。

[Conical]
[Inverse Conical]
[球状(Spherical)]
[Hemispherical]
[Cylindrical]
[Tapered Cylindrical]
[Inverse Tapered Cylindrical]
[炎(Flame)]
[Tend Flame]

[Custom Shape]

上の[シェイプ(Shape)]のタイプから[Custom Shape]を選んだ場合に、枝の分布をカスタマイズできます。

入力フォームが4つあり、一番上から、Base(下部)、Middle(中間)、Middle Position(中間地点が上と下どちらに近いか)、Top(上部)を設定できます。

[シェイプ: Custom Shape] に指定して、[Custom Shape]で細かく調整

[Secondary Splits]

二次的に枝分かれした部分の形状を変更します。

この項目は、ある程度の枝分かれをしていなければ効果が無いので、[Branch Splitting]のサブメニュー内の[レベル]が”2″以下なら触れる必要はありません。

選べる形状は、[シェイプ(Shape)]から[Custom Shape]を除いたものと同じ9タイプです。

  • [Conical]
  • [Inverse Conical]
  • [球状(Spherical)]
  • [Hemispherical]
  • [Cylindrical]
  • [Tapered Cylindrical]
  • [Inverse Tapered Cylindrical]
  • [炎(Flame)]
  • [Tend Flame]

[Branch Distribution]

『木』の上部または下部に向かって枝の分布を調整します。

[Branch Distribution]

※Blenderのバージョンや環境によって違うのかもしれませんが、私の場合(2.81バージョン)、10の少し手前辺りまで数値を上げるとエラーが出てしまいました。

[Branch Distribution]でエラー

[Branch Rings]

枝を成長させる部位の分布を円状に管理します。

どうやら、この項目に設定した値で、枝を成長させる箇所を全体でどれくらい分割して、分布するのか、という事を調整できるようです。

デフォルト値の”0″に設定している場合、この項目は分布に影響を及ぼしません。

[Branch Rings]

[ランダムシード(Random Seed)]

『木』を構成する全てのパラメーターの基準となっているランダム値のシードを設定します。

この項目は、同じ基本パラメーターを持つ『木』を別オブジェクトとして生成する時などに活用します。

[Tree Scale]

[拡大縮小(Scale)]

『木』の基本サイズを設定します。

[Scale Variation]

[拡大縮小(Scale)]から変化可能な範囲のサイズ変更を設定します。

[プリセット名(Preset Name)]

エクスポートするプリセットの名前を入力します。

ここで入力した名前は、[Export Preset]から現状の『木』の全プロパティを保存する時のファイル(.py)の名前になります。

[Export Preset]

現状の『木』の全プロパティを、presetフォルダーにpyファイルでエクスポートします。

[上書き(Overwrite)]

presetフォルダー内に、同名のpyファイルが存在する場合エラーが発生し、保存できないのですが、この項目にチェックを入れると、同名のpyファイルに上書きが行えます。

[Load Preset]

Saplingプリセットディレクトリにあるプリセットは、ここで選択するとインポートできます。

デフォルトで利用できるプリセットは、9つ用意されています。

この、デフォルトの9タイプを使うだけでも、ハイクオリティな『木』モデルが出来るので、個人的にこの項目凄くオススメです。

[willow]
[white birch]
[weeping willow]
[small pine]
[small maple]
[quaking aspen]
[japanese maple]
[douglas fir]
[callistemon]

[Limit Import]

この項目は、プリセットのインポート時に作成されるジオメトリを制限するために使用します。

チェックを入れた場合、枝分かれのレベルが2に設定された状態で生成され、『葉』は生成されません。

チェックを外すと、枝分かれのレベルがプリセットの通りになる上、『葉』も生成されるので、計算に時間がかかり、重くなりますでご注意ください。

[Limit Import] onの状態で、プリセット[japanese maple]をインポート
[Limit Import] offの状態で、プリセット[japanese maple]をインポート

[Branch Radius] –枝の太さ

枝部分の半径に関する設定をします。

枝に関するベベルとテーパーを調整できます。

[ベベル(Bevel)]

[ジオメトリ]の方の[ベベル]と同じプロパティで、チェックの有無により、カーブオブジェクトにベベルで面取りをするか設定します。

[ベベル解像度(Bevel Resolution)]

こちらも、[ジオメトリ]の[ベベル解像度]と同一プロパティです。

カーブオブジェクトを囲うベベルの外周(切り口)の滑らかさを調整します。

[比率(Ratio)]

根本(Base)の太さのサイズを比率で調整します。

[比率]、[範囲の大きさ]、[Radius Scale Variation]

[範囲の大きさ(Radius Scale)]

幹の太さのスケールを調整します。

[Radius Scale Variation]

[範囲の大きさ]のスケールに、上乗せで0~1の範囲で太さを変化させます。

[Branch Radius Ratio]

枝の太さを調整します。

[Branch Radius Ratio]

“Ratio”とありますが、この太さの計算方法は単に”%”という訳ではないようです。

少しわかりにくいのですが、「”枝分かれ元の太さ”と”[比率]の累乗した値”を掛けて、”枝の太さ”を算出する」ようなのですが、この項目で指定するのはその[比率]の累乗に使う”指数”らしいです。

式にするとこんな感じでしょうか?

枝の太さ = 枝分かれ元の太さ * [比率]ⁿ

この”ⁿ”が[Branch Radius Ratio]にあたります。

なのでこの項目の効果は、[比率]で設定した数値に影響を受けます。

GIFでも確認できますが、”0.0″に設定すると凄いことになります。

[Branch Radius Ratio: 0.0]にした場合

[Minimum Radius]

全体の太さの最小値を設定します。

[Minimum Radius]

[先端を閉じる(Close Tip)]

枝の末端部分を閉じます。

[先端を閉じる] on
[先端を閉じる] off

[Root Flare]

『木』を構成する一番始めのカーブ部分の太さを調整します。

[Root Flare]

[Auto Taper]

枝の長さに基づいて自動的にテーパー(先細り)を計算します。

チェックを入れて有効化させている方は、枝の太さが先端に向けて、自然な感じに細くなります。

[Auto Taper] on
[Auto Taper] off

[テーパー(Taper)]

入力欄が4つありますが、枝分かれの[設定: Branch Splitting]で表示されるサブメニューの[レベル]毎の部位に、それぞれ対応しています。

なので[レベル]が低いと下の方の欄は効果がありません。

[Tweak Radius]

半径にこの数値を掛けて太さを調整します。

こちらも、[設定: Branch Splitting]で表示されるサブメニューの[レベル]毎の部位に、それぞれ対応しています。

ですが、一番上の入力欄は[Branch Radius Ratio]があるからか弄っても特に変化は見られませんでしたし、一番下の入力欄も末端過ぎるからか原因なのか、特に変化がありませんでした。

もし、一番下のレベル4の分の細さを操作したい場合、[先端を閉じる][Auto Taper][テーパー]の一番下の欄から操作する、などの方法をお試しください。

[テーパー]、[Tweak Radius]

[Branch Splitting] –枝分かれ

枝分かれ、分岐の設定をします。

枝部分の形成方法、分割方法を調整できます。

[レベル(Levels)]

枝分かれのレベルを指定します。

レベルが上がる程、細かく枝分かれしていきます。

最高で”4″まで上げられますが、その分計算に時間がかかり重くなります。

[レベル]

[Base Splits]

幹の分割数を指定します。

こちらも数を大きくし過ぎると処理時間が遅くなります。

GIFでは[レベル]を”1″にして、枝分かれの回数を極端に少なくしたもので変化を見ていますので、数値が大きくなってくるとまるで箒みたいな感じになってきますね。

[Base Splits]

[Trunk Height]

枝分かれし始める高さを設定します。

[Secondary Base Size]

二次的に枝分かれした部分の高さを設定します。

この項目は、ある程度の枝分かれをしていなければ効果が無いので、[レベル]が”2″以下なら触れる必要はありません。

[Trunk Height]、[Secondary Base Size]

[Split Height]

幹が分割し始める高さを設定します。

[splitBias]

上の項目で設定した、分割し始める高さから更に調整を加えます。

[Split Height]、[splitBias]

[Split relative to length]

この項目にチェックを入れると、元の枝の長さに比例した枝分かれをします。

下の比較画像で特に分かりやすいのは半分から上の部分です。チェックを外した方は、枝の長さを無視して枝分かれしているので、比較的ゴチャゴチャとした印象を受けます。

[Split relative to length] on
[Split relative to length] off

[Branches]

[レベル]で発生する枝の数を調整できます。

1番目の欄は数値を弄っても効果ありません。代わりに[Base Splits]で調整してください。

[Branches]

[Segment Splits]

セグメント1つに対する分割数。

[Segment Splits]

[分離角度(Split Angle)]

名前そのまま、分離部分の角度を調整します。

[分離角度]

[Split Angle Variation]

[分離角度]から更に加えて角度を調整します。

[Split Angle Variation]

[Rotate Angle]

枝分かれて発生する枝の生える方向の回転を調整します。(負の値は逆回転)。

[分離角度]とは違い、こちらは、”Z軸周りの回転”と言えば分かりやすいでしょうか。

[Rotate Angle]

[Rotate Angle Variation]

[Rotate Angle]から更に枝の生える方向の回転を調整します。

[Rotate Angle Variation]

[Outward Attraction]

枝の向きを、『木』の中心から外向きに調整します。

GIFでは”0.0″と”1.0″の極端な値で比較しています。

“0.0”では枝を直線的に伸ばしているだけという印象なのに対し、”1.0″の方は枝の向きが中心から綺麗に放射状に伸びており、整った印象を受けます。

[Outward Attraction]

[Branching Mode]

分岐と回転方法のモードを選択します。

このモードの設定は、[Rotate Angle][Rotate Angle Variation]の回転の仕方に影響します。

項目概要
[オリジナル(Original)]各分岐部分を中心に回転します。
[回転(Rotate)]枝を均等に分散して、木の中心から外側に向けます。
[ランダム(Random)]ランダムに回転の基準ポイントを選択します。
[Branching Mode: オリジナル]で [Rotate Angle]の値を変更
[Branching Mode: 回転]で [Rotate Angle]の値を変更
[Branching Mode: ランダム]で [Rotate Angle]の値を変更

[Curve Resolution]

各分岐のセグメント数。

[ジオメトリ]の方でも同じ名前の項目がありますが、あちらはカーブオブジェクトのセグメントに沿うようにメッシュの方を細分化するのに対し、こちらの項目ではセグメント(カーブオブジェクト)の方を細分化をするようです。

なので、こちらの項目ではセグメント数の増加に伴い、枝分かれ、分岐する数も増加します。

[Curve Resolution]

[Branch Growth] –枝の成長

枝の成長設定をします。

枝部分の成長方法や成長具合を調整できます。

[Taper Crown]

木の外側に向かう程、枝を短く調整します。

[Taper Crown]

[長さ(Length)]

各レベルごとの枝の長さを調整します。

[Length Variation]

[長さ]から更に加えて長さを調整します。

[長さ(Length)]、 [Length Variation]

[Down Angle]

新しく枝分かれした枝と分岐元の枝との間の角度

[Down Angle Variation]

分岐元の端に向かって[Down Angle]を減らす角度(負の値はランダムな変化を追加します)。

[Down Angle]、[Down Angle Variation]

[Curvature]

枝の端の角度。

[Curvature Variation]

[Curvature]から更に枝の端の角度を調整します。

[Curvature]、[Curvature Variation]

[Back Curvature]

[Curvature]で調整するのレベルに対応する分岐元の部分から、もう1つ分岐した先から末端までの部分の反り加減を調整します。

[Back Curvature]

[Vertical Attraction]

どれくらい枝を上向きにするかを調整します。

[Vertical Attraction]

[Use old down angle variation]

分岐の大本となる枝(幹?)の部分の角度も加味して調整するかどうか。

[Use parent angle]

[レベル:1]の枝分かれした部分の角度も加味して調整するかどうか。

[Use old down angle variation]、 [Use parent angle]

[Pruning] –枝の剪定

枝の剪定設定をします。

枝の伸びる範囲を、追加で作成する『剪定(Prune)』用の『カーブ』オブジェクトの形状から調整できます。

[Prune]

枝の伸びる範囲を、制限するための、『剪定(Prune)』用のカーブオブジェクトを追加で作成します。

[Prune] を有効化後、新しいカーブオブジェクトが追加される

[Prune Ratio]

剪定される割合。

[Prune Ratio]

[Prune Width]

カーブオブジェクトの幅を調整します。

[Prune Base]

カーブオブジェクトの下部の高さを調整します。

[Prune Width Peak]

カーブオブジェクトで指定する剪定範囲で、高さが最大である部分の幅を調整します。

[Prune Width]、 [Prune Base]、 [Prune Width Peak]、 [Prune Power High]、 [Prune Power Low]

[Prune Power High]

カーブオブジェクトの上部の形状を決定する指数。

[Prune Power Low]

カーブオブジェクトの下部の形状を決定する指数。

[Prune Width]、 [Prune Base]、 [Prune Width Peak]、 [Prune Power High]、 [Prune Power Low]

[Leaves] –葉を作成、設定

追加で作成する『葉(Leaf)』用の『メッシュ』オブジェクトの設定が出来ます。

設定によっては、この『木』オブジェクトを追加する前に作成しておいた別の『メッシュ』オブジェクトを『葉』として使用することも出来ます。

[Show Leaves]

この項目にチェックを入れると『葉』を表示します。

[Show Leaves] off
[Show Leaves] on

[Leaf Shape]

『葉』の形状を設定します。

項目名概要
[六角形(Hexagonal)]普通の葉っぱを模した六角形のポリゴン(正確には四角形が2枚)。
[Rectangular]四角形のポリゴン。
[DupliFaces][Leaf Object]で設定したオブジェクトを『葉』として使用する。また、元のオブジェクトのサイズではなく、適切なサイズに自動的に最適化される。
[DupliVerts] [Leaf Object]で設定したオブジェクトを『葉』として使用する。元のオブジェクトのサイズでそのまま使用される。
[ Leaf Shape : 六角形(Hexagonal)]
[ Leaf Shape : Rectangular]
[ Leaf Shape : DupliFaces]
[ Leaf Shape : DupliFaces] (部分表示)
[ Leaf Shape : DupliFaces] (全体表示)

[Leaf Object]

『葉』用のメッシュオブジェクトをプルダウンメニューから設定できます。

ただし、設定出来るメッシュオブジェクトが存在しない場合は、[No objects]と表示されます。

『葉』用に、別のメッシュオブジェクトを用意している必要があります。

今回は、右の画像のようなメッシュオブジェクトを作っておきました。

※設定したいオブジェクト名が”日本語”の場合、エラーが出て設定できない可能性がありますのでご注意ください。

[Leaf Object]用のメッシュオブジクト”katsura_leaf”
[Leaf Object: katsura_leaf]

[Leaves]

  • 正の数値の場合…

枝ごとの葉の最大数。

ただし、これは正の数値の場合で、この項目で負の数値を入力すると、特殊な葉を作ることが出来ます。

[Leaves: 0]
[Leaves: 50]
[Leaves: 10]
[Leaves: 100]
  • 負の数値の場合…

負の値である場合、枝の先端から複数に葉を分裂させていきます(イロハモミジのような葉が出来ます)。

[Leaves: -5]

[Leaf Distribution]

『葉』の枝への生え方の形状を9タイプから選択します。

選択肢として用意されている9タイプは、[ジオメトリ]の[Secondary Splits]と同じようなラインナップになっています。

[ Leaf Distribution : Conical]
[ Leaf Distribution : Inverse Conical]
[ Leaf Distribution : 球状(Spherical)]
[ Leaf Distribution : Hemispherical]
[ Leaf Distribution : Cylindrical]
[ Leaf Distribution : Tapered Cylindrical]
[ Leaf Distribution : Inverse Tapered Cylindrical]
[ Leaf Distribution : 炎(Flame)]
[ Leaf Distribution : Tend Flame]

[Leaf Down Angle]

新しく生えた『葉』とその生えた元の枝の間の角度。

[Leaf Down Angle Variation]

分岐元の端に向かって下向きの角度を減らす角度(負の値はランダムな変化を追加します)。

[Leaf Down Angle]、[Leaf Down Angle Variation]

[Leaf Rotate Angle]

『葉』の生えた元を基軸とした、『葉』生える方向の角度。(負の値は前とは逆に回転します)

[Leaf Rotate Angle Variation]

葉の生える方向の角度を[Leaf Rotate Angle]から更に変更。

[Leaf Rotate Angle]、 [Leaf Rotate Angle Variation]

[Leaf Scale]

『葉』のスケールを調整します。

[Leaf Scale]

[Leaf Scale X]

『葉』の横幅のスケールを調整します。

[Leaf Scale X]

[Leaf Scale Taper]

枝の末端に行くほどテーパー(先細り)の度合いを調整します。

[Leaf Scale Taper]

[Leaf Scale Variation]

『葉』のスケールのバラつかせ度合いを調整します。

[Leaf Scale Variation]

[Horizontal leaves]

『葉』の面が、生えている元の枝部分の上の方向へ向くようにします。

結果的に枝の法線に従うことになるので、面の向きが全体的に上向きに揃いやすくなります。

[Horizontal leaves] on トップ(上)からの視点
[Horizontal leaves] off トップ(上)からの視点

[Leaf Angle]

『葉』の生えている元の枝部分に対して垂直に回転させる角度。

[Leaf Angle]

[アーマチュア(Armature)] –アーマチュアを作成、設定

追加で作成する『アーマチュア』オブジェクトに関する設定が出来ます。

※複雑な形状に設定した『木』に、この設定で更に『アーマチュア』を追加するのは、計算に時間がかかって重くなってしまう可能性があるので非推奨です。

また、『葉』や『剪定』を含めた『木』の形状設定が完成するまで『アーマチュア』を作成しない事を推奨します。

[Use Armature]

『木』を構築するカーブオブジェクトを元に、アーマチュアを追加で新しく作成します。

[Use Armature] で新しく作成されたアーマチュア”treeArm”

[Make Mesh]

[ベベル]で作ったメッシュとは別に、『スキンモディファイアー』を使用してメッシュを新たに作成します。

この項目にチェックを入れて有効にすることで、アーマチュアの単純化を可能にします。

※ [ベベル]のメッシュの方では、[Use Armature]で作成されるアーマチュアに自動の関係付けはできますが、アーマチュアの単純化は行えません。

[Make Mesh]で新たに作成されたメッシュ”treemesh”

ちなみに、『スキンモディファイアー』については、以前詳しくご紹介させていただきましたので、よろしければ下記記事をご覧下さい。

Memo: [Make Mesh]と[ベベル]を同時使用はデメリットしかないのでやめよう

この[Make Mesh]という項目を有効にする場合、[ベベル]のチェックは外してください。

というのも、メッシュが二重に出来てしまうので単純に計算量が2倍以上になって重くなりますし、アニメーションする際にメッシュがそれぞれ異なる動きして見た目良くない事になっちゃったりするので、オススメできないからです汗

[Armature Simplification]

[Armature Simplification]

ボーンを作成する分岐レベルの数。

アーマチュアの単純化をここで行えます。

ちなみに、”0″に設定すると、すべてのレベルのボーンを作成します。(つまり、アーマチュアを単純化しない)

この項目は[Make Mesh]が有効になっていなければ効果がありません。

[Armature Simplification]

[Bone Length]

ボーン1つに対するセグメント(カーブの)数をレベルごとに設定。

[Bone Length]

[アニメーション(Animation)] –アニメーション作成、設定

『木』のアニメーションを作成するための設定が行えます。

※もしこの設定をする場合、他の設定を終えてから最後に設定してください。

この設定には『アーマチュア』が必須です。

また、『葉』を作成していた場合、『葉』のアニメーションも調整できます。

[Armature Animation]

この項目にチェックを入れると、以下で説明する項目で設定したアニメーションが[Use Armature]で作成したアーマチュアに追加されます。

[Leaf Animation]

この項目にチェックを入れると、アニメーションが『葉』に追加されます。

この項目にチェックを入れて有効化すると、もれなく各『葉』1枚つきそれに対応するボーン1つが追加で作成されます。

[Armature Animation] on
[Armature Animation] off

[Fast Preview]

この項目にチェックを入れると、アニメーション再生の高速化のため、アーマチュアモディファイアーを無効に、『木』を非表示にし、ボーンをワイヤー表示に設定します。

ただし、『葉』はそのまま表示されます。

[Fast Preview] on
[Fast Preview] off

[Animation Speed]

シーンのフレームレートに応じて、アニメーションの速度を調整します。

[Animation Speed] に”1.00″の場合と”3.00″の場合での比較

[Loop Frames]

アニメーションがループするスパンをフレーム数で指定します。ちなみに”0″であれば、ループ設定自体を無効にできます。

[Animation Speed: 1.00]の場合の[Loop Frames: 10]で再生

[Wind Settings]

[Overall Wind Strength]

アーマチュアのアニメーションに適用する風の強さ。

[Wind Gust Strength]

風の、正のY方向からの移動量。

[Wind Gust Fequency]

設定した方向からの風の影響を動きに加える頻度。

[Overall Wind Strength][Wind Gust Strength][Wind Gust Fequency]の項目の値を弄った例を2通り比較用に用意してみました。

  • 風の強さ”3.00″、正のY方向から、風が動きに影響を与える頻度”0.08″
[Overall Wind Strength: 3.00]、[Wind Gust Strength: 1.00]、
[Wind Gust Fequency: 0.08]
  • 風の強さ”1.00″、負のY方向から、風が動きに影響を与える頻度”2.00″
[Overall Wind Strength: 1.00]、[Wind Gust Strength: -1.00]、
[Wind Gust Fequency: 2.00]

[Leaf Wind Settings]

[振幅(Amplitude)]

『葉』に与えるノイズ的な振幅の乗数。

この項目に大きな値を設定すると(GIFでは”30″)、『葉』だけが異様に激しく動く、というような事が実現できます。

[振幅: 30]
[頻度(Frequency)]

『葉』に与える振れの頻度(周波数)。

此方の場合は値を大きくすると(GIFだと”30″)、小刻みに動くようになります。

笹っぽい表現に使えそうですね。

[頻度: 30]
[ランダムさ(Randomness)]

ノイズのランダムさのオフセット。

GIFでは[頻度]を小さくして、動きをスローにしつつ、[ランダムさ]をあえて”0″にして、揺れの間隔のノイズを無くしています。

『葉』の揺れ方が全て一緒なのがお分かりになるでしょうか?

[振幅: 5.00]、[頻度: 0.03]、[ランダムさ: 0.00]

おまけ:外部ファイルからインストールして使う『アドオン』の場合

デフォルトでインストールされている『アドオン』の場合は、「基本的な使い方」の項でご紹介したようなやり方ですぐに使えるようになるのですが、それ以外にも、外部ファイルから新たにインストールして使用可能な『アドオン』を増やすことが出来ます。

『木』の構造を『ノード』で設定できる『アドオン』[Mtree]

今回、使い方をご紹介した『Sapling Tree Gen』ですが、実は『木』の構造を『ノード』で設定できる『Add Mesh: Mtree』という『アドオン』も存在します。

Add Mesh: Mtree

この『Mtree』では、設定を専用の『ノード』で『木』の構造を指定し、モデリングします。

こちらの場合、『オペレーターパネル』を使わずに済み、また、その『オペレーターパネル』を使わないという性質上、1つ動作を挟んでも設定を変更する事が出来る、という利点もあります。

まずはファイルをダウンロード

下記のページの[Clone or download]>[Download ZIP]から、ZIPファイルをダウンロードしてください。

外部リンク:GitHub – MaximeHerpin/modular_tree at blender_28

『アドオン』をインストール

インストールしたい『アドオン』のZIPファイルが用意出来たら、『Blenderプリファレンス』の[アドオン]>[インストール]を押します。

すると『Blenderファイルビュー』ウィンドウが開きますので、そこから先ほどダウンロードしたZIPファイルを選択し、[アドオンをインストール]を押します。

『アドオン』を有効化

インストールが上手く行っていたら、[アドオン]一覧に新しく[Add Mesh: Mtree]という項目が追加されているはずなので、チェックを入れて有効化します。

『Mtree』の基本的な使い方

『Mtree』を有効化すると、エディター一覧で[Mtree Node Tree]という『Mtree』専用のノードが組めるエディターが選択できるようになります。

これを選択して、[新規]から新規ノードツリーを作成し、たとえば下のようにノードを組んだりして『木』を作成します。

参考にさせていただいたサイト・ページ一覧

Blenderに関する記事や作品をまとめたページ作りました!

Blender Note