木や葉っぱの作成方法の研究
木や葉っぱを表現するには、- アドオンを使う
- パーティクルを使う
- アセットを使う
など、様々な方法があります。
その方法は、過去の記事にも解説しています。
アニメ風の木(と芝生)の作り方 Biome Reader + The Plant Libraryの使い方 Blenderで草木を生成 (散布) できるアドオン
Sapling Tree Genはリアル系?アニメ調?
その中で個人的には、Sapling Tree Genは、リアル系とアニメ調の間的な存在かなと思います。リアル系はリアル系アセットを使うのがいいですが、かなり重いです。
Sapling Tree Genはそこまではリアルではないですが、使い方によってはリアルに見せれたり出来ますし軽いです。
アニメ調は、上記リンクの解説の方法で作ったりがいいようですが、Sapling Tree Genも見せ方によってはアニメ調にできたりしますね。
Sapling Tree Genは、以下のようなメリットとデメリットがあります。
Sapling Tree Genのメリットとデメリット
Sapling Tree Genのメリット
Blenderのデフォルトアドオン
他にもいろいろな有名なサードパーティーのアドオンがありますが、Sapling Tree Genはデフォルトで含まれているアドオンになります。意外に他のアドオンの方が有名だったりして存在感が小さかったりしますが、信頼性もあり、アドオンを追加しなくてもいいですし慣れると使いやすいです。
全メッシュなので軽い
Sapling Tree Genはメッシュなので軽いです。パーティクルを使ったりジオメトリーで大量に配置すると重くなりがちですが、Sapling Tree Genはそれらを使っていないので重さを回避できます。
シェーディングが楽
オブジェクトが- 葉っぱ
- 幹
の二つに分かれて生成されるので、それぞれシェーディングで緑を茶色に色を付ければいいだけです。
モディファイアが使える
木の作り方によっては配列やミラーモディファイアが使えなかったりしますが、Sapling Tree Genは配列やミラーモディファイアも合わせて使えます。なので、木を作成後に自分で大量配置をしたりできます。
Sapling Tree Genのデメリット
基本的に後から編集出来ない
Saling Tree Genは、後から葉のボリュームや基本的な形などを変えれないのがデメリットです。メッシュなので編集しようと思えば可能ですが、特に葉っぱは基本的には一つ一つの編集になり、その場合はSaling Tree Genで別オブジェクトとして作り直した方が早そうです。
そういう時のためにプリセットがあり、登録しておくと便利です。
生成場所が(0,0,0)になる
あと、気になる点としては、どうしても生成場所が(0,0,0)になることです。これはどうやら変更できないみたいです。
なので、(0,0,0)にオブジェクトがあるとわざわざ非表示にしないといけないので不便です。
ですが、簡単にオブジェクトが作れるので便利です。
Sapling Tree Genの使い方
Sapling Tree Genの挿入手順
Saling Tree Genの使い方は簡単です。編集→プリファレンスから、
アドオンをオンにして、
で挿入出来ます。
挿入すると、このような形になります。
左下にオプションが表示されるので、
そこで詳細を編集するといった流れです。
オプションなので、一度他のオブジェクトを編集すると、再編集できなくなります。
ジオメトリとLeaves(葉っぱ)
設定は、基本的に以下の- ジオメトリ
- Leaves(葉っぱ)
他の細かい設定もありますが、まずはその二つを調整すれば十分です。
ジオメトリのLoad Preset
ジオメトリでは、基本的には- Load Preset
- シェイプ
を使います。
まず、Load Presetでジオメトリで木の形状を決めます。
LeavesのShow Leaves
次にLeavesの「Show Leaves」にチェックを入れます。
先にチェックを入れると、ジオメトリのLoad Presetを変更すると消えてしまうので注意です。
LeavesのLeaf Scale
Leaf Scaleで、葉っぱの大きさを調整します。
ジオメトリのシェイプ
ジオメトリのシェイプで再度調整します。
F9でオプション再表示
オプションが消えてしまったら、他の編集をする前であれば、F9で再表示できます。
シェーディング
シェーダーエディターを開き、
- 葉っぱ
- 木の幹
を、それぞれ色を付けます。
これで一通り完成ですが、他の細かい設定に関して、下記に記載します。
各設定項目の詳細解説
ジオメトリ(木全体の形状)
木全体の形状を調整します。
ベベル
曲線を完全な太さで表示するか、基礎となる曲線のみで表示するかが決まります。これにチェック入れないと線になります。
逆にいうと、自分であとで幹を作りたい場合は形状だけSapling Tree Genで決めることが出来ます。
ベベル解像度
面取り曲線の輪郭の滑らかさを決定します。この値が低いほど、頂点の数は少なくなりますが、結果として得られるジオメトリは粗くなります。
Curve Resolution
曲線の長さに沿って滑らかさを変更します。これは、ハンドルタイプが自動に設定されている場合にのみ関連します。ハンドルタイプ
ベジエ点間の曲線の補間方法を決定します。ベクトルタイプは、頂点が少なく、セグメントがまっすぐになります。
自動入力はセグメントを滑らかにしますが、より高価なジオメトリが必要です。
| 自動 | 枝に丸みがあります。 |
| ベクトル | 枝が角張ります。 |
シェイプ
| Conical | 円錐形 |
| Inverse Conical | 逆円錐形 |
| 球状 | |
| Hemispherical | 半球形 |
| Cylindrical | 円筒形 |
| Tapered Cylindrical | 先細の円筒形 |
| Inverse Tapered Cylindrical | 先細の逆円筒形 |
| Tend Flame | 炎形 |
| カスタムシェイプ |
カスタムシェイプ
上記のカスタムシェイプを選択した上で、木の全体的な形に影響を与えるために枝の分布を決定します。数値1
枝の多い位置(高いか低いか優先)数値3を上げないと効果がありません。
数値2
下に枝を付けるかどうか。数値3
数値2か数値4を上げないと効果がありません。数値4
数値2と逆の効果です。Secondary Branch
セカンダリーの枝のスタイルを変更します。スタイル形状は、カスタムが無い以外は上記のCurve Resolutionと同じです。
| Conical | 円錐形 |
| Inverse Conical | 逆円錐形 |
| 球状 | |
| Hemispherical | 半球形 |
| Cylindrical | 円筒形 |
| Tapered Cylindrical | 先細の円筒形 |
| Inverse Tapered Cylindrical | 先細の逆円筒形 |
| Tend Flame | 炎形 |
Branch Distribution(枝の分布)
Distributionは「分布」や「分配」という意味で、木の上部または下部に向かって枝の分布を調整します。Branch Rings
よく分からない。Pythonエラーが起こったりBlenderが落ちたりするので、バグがあるのか、あまり使わない方がいいかも。
ランダムシード
ツリーのすべてのランダム値が生成される基数を設定します。これは、同じ基本パラメータを持つ異なるツリーを生成できるように変更することができます。
Tree Scale(木のスケール)
スケール
Blender 単位でツリーの基礎となるサイズ。Scale Variation(スケールの変化)
ツリーのスケールがスケールの値から変化できる最大量。スケールとの違いがよく分からなかったが、どうやら以下の違いらしいです。
Sapling Tree Genは1本ずつしか生成しないため、この「Scale Variation」はパーティクルやスクリプト等で複数木を配置する場合に意味を持ちますが、通常の1本生成時には Scale Variationの効果は出ないか、見た目では分かりにくいです。
例えば
大きな1本の木を作りたい場合
- Scale:3.0
- Scale Variation:0.0
森全体で木の大きさにランダム感を出したい場合
- Scale:2.0
- Scale Variation:0.5
同じ形で高さをランダムにしたい場合
- Scale:1.5
- Scale Variation:0.3
Preset(プリセット)
Preset Name
書き出すプリセットの名前。これにより、ツリーの現在のプロパティはすべて、Saplingプリセットフォルダにpyファイルとしてエクスポートされます。
Export Preset
現在のプロパティをすべてエクスポートします。Load Preset
ここで選択すると、Saplingプリセットディレクトリにあるプリセットをインポートできます。実際の木を模したテンプレートツリーを一発で呼び出せる機能です。
これにより、樹種ごとの特徴をすばやく再現できます。
callistemon(カリステモン)
ブラシの木とも言われ、小さめの低木〜中木。枝が横に広がる、トロピカル感のある木構造。
南国の植え込みや庭木。
douglas_fir(ダグラスファー)
北米の大きな針葉樹。真っ直ぐで高い幹、細長いシルエットで、クリスマスツリーのような形。
森林、山岳地帯、冬景色に。
japanese_maple(イロハモミジ)
繊細な枝分かれで、傘のような丸いシルエット。下に向かう枝が多く、優雅な印象。
和風庭園、秋の風景、アニメ背景など。
quaking_aspen(クウェイキングアスペン)
別名ヤマナラシ。細くて真っ直ぐな落葉樹で、滑らかで白っぽい幹。
並木風にしても綺麗。
秋の並木、山間部に。
small_maple(小型のカエデ)
背が低く丸っこいカエデで、小枝の分岐が細かい。秋シーン向き。
街路樹、学校、住宅街など。
small_pine(小型の松)
コンパクトな松の木風で、先細りで針葉樹らしい分岐。低木にも調整しやすい。
盆栽風、小さな針葉樹林、ゲーム背景に。
weeping_willow(しだれ柳)
長い枝が下に垂れる特徴的な樹形。幹から真下に伸びる柔らかいラインで、ドラマチック・幻想的な雰囲気。
湖畔、雨のシーン、幻想的な背景に。
white_birch(白樺)
白い幹が目立つ落葉樹で、幹はまっすぐ、枝は軽やかに広がる。明るく爽やかな森林表現に最適。
北欧風、明るい自然風景に。
willow(柳)
通常の柳(しだれていないタイプ)で、枝がやや下向きに流れる。柔らかい樹形、自然なシルエット。
川沿い、公園、自然風景に。
Limit Import
これは、プリセットをインポートしたときに作成されるジオメトリを制限するために使用できます。選択すると、2つのレベルの枝のみが生成され、葉は生成されません。
Branch Radius(枝の太さ)
Radiusは半径の意味。枝の太さなど調整します。
分岐半径の設定が含まれています。ここで枝のベベルと先細を調整できます。
ベベル
ジオメトリのベベルと同じで、チェックの有無によってカーブオブジェクトにベベルで面取りをするか設定します。ベベル解像度
こちらも同じような感じで、カーブオブジェクトを囲うベベルの滑らかさを調整します。比率
幹の太さを調整します。上げ過ぎると花みたいになります。
範囲のスケール
幹の太さのスケールを調整します。Radius Scale Variation
上記のスケールにランダム性を加えます。Branch Radius Ratio
枝の太さを調整します。Minimum Radius
全体の太さの最小値を設定します。先端を閉じる
枝の末端部分を閉じます。Root Flare
幹の根本のカーブ部分の太さを調整します。Auto Taper
チェックを入れると、枝の長さに基づいて自動的に先細さを計算してくれます。Taper
先細さ。Branch Splittingで表示されるサブメニューの「レベル」毎の部位にそれぞれ対応しています。
Tweak Radius
半径にこの数値を掛けて太さを調整します。Branch Splitting(枝の分岐)
Splittingは分割の意味。枝の別れる角度や高さになります。
ここでは、枝の形成と分割方法を調整できます。
設定には、分割のレベル、高さ、角度が含まれます。
レベル
枝分かれの段階数(深さ)。例えば 2 にすれば、幹 → 枝 → 小枝 の2段階になります。
増やすほど複雑になりますが重くなります。
Base Splits
幹(最下部)から分かれる幹の数(分裂数)。1 = 一本の幹、2以上にすると根元からY字型の木などが作れます。
Trunk Height
最初の枝が生えるまでの幹の高さ(相対値 0.0〜1.0)。小さいとすぐ枝が出始め、大きいと上部に集中します。
Secondary Branch
幹から出る1段目の枝に対してさらに分枝するかどうか。ONにすると、枝からもさらに枝が伸びて木が複雑になります。
Split Height
枝が分かれ始める高さ(0.0~1.0)。幹に対してどこからスプリットするかを制御できます。
値が小さいと根元から分かれる、1.0だと上端に近い位置。
splitBias
左右非対称の加減。値が高いと、分岐の片方が太くなったり主枝に寄ったりします。
値が低いと対称的なY字型の分岐になります。
Split relative to length
ONにすると、枝の長さに比例してスプリットする位置が変わる。OFFだと常に同じ高さで分岐します。
Branches
各段階で生える枝の数。例えばLevel 1で6にすれば、幹に6本の枝が生えます。
Segment Splits
枝が途中で分裂するセグメント数。増やすと枝の途中でもさらに枝分かれするようになります。
分離角度
分岐した枝がどれくらい角度をつけて開くか(度数)。値が大きいと、枝が真横や斜めに広がっていく。
小さいと、枝がほぼまっすぐ上に向かう。
Split Angle Variation
上記「分離角度」にランダム性を加える度合い。自然なバラつきのある木を作るのに使います。
Rotate Angle
枝が幹の周りをどの角度で生えるか。例えば0なら1方向に集中、90なら枝が90度ずつ回転して生える。
Rotate Angle Variation
上記にランダム性を追加するパラメータ。
Outward Attraction
枝が幹の方向ではなく、外側に向かって伸びようとする力。
高くすると、枝が球形に外へ広がる。
0だと枝が上下方向中心に伸びる。
Branching Mode
分岐の種類を選ぶモード。
以下の選択肢があります。
| rotate | 幹を回るように枝が生える(最も自然) |
| radial | 放射状に広がるように生える |
| random | 完全にランダムな配置 |
Branch Grouth(枝の形状)
枝の伸び方や曲がり方を制御するパラメータです。Taper Crown
枝の細さの減衰具合を設定します(幹→枝→先端での太さの変化)。値が大きいほど、先端に向かって細くなる。
主に「枝の形状(断面)」に関係します。
長さ
枝の基本の長さを設定します(単位は相対値)。値を大きくすれば、枝が長くなります。
Levelごとに設定可能(Level 0=幹、Level 1=1段目の枝など)。
Length Variation
上記「長さ」にランダムな変化を加える。値が高いほど、枝の長さが木によってばらける。
自然なランダム感を出したいときに重要。
Down Angle
枝が幹からどれだけ下向きに生えるかの角度(度数)。0だとまっすぐ横、90だと真下。
値がマイナスだと上向きになります。
Down Angle Variation
「Down Angle」にランダムなゆらぎを追加。木に自然さを出すために重要。
曲率
枝の曲がり具合を設定します。値が大きいと、枝が大きくカーブします(弓なりになる)。
0だとまっすぐな枝。
Curvature Variation
上記「曲率」にランダムなばらつきを加える。Back Curvature
曲がった枝をさらに元の方向に戻すようにカーブさせる。値が大きいと、S字のような形状や、しなったような枝になります。
より複雑でリアルな形にしたい時に使用。
Vertical Attraction
枝が垂直方向(上)へ引き寄せられる力の強さ。高いと、枝が「重力に逆らって上へ伸びる」ようになります。
松などの上向きに広がる木を作るのに有効。
Use old down angle variation
ONにすると、旧バージョンのばらつきアルゴリズムを使用。結果が微妙に変わるだけなので、通常はOFFで問題ありません。
特定の目的や見た目を再現したいときに使用。
Use parent angle
ONにすると、親の枝(1段上)の生える角度を元にして、子の枝の角度を決める。OFFにすると、親の向きと関係なく枝が生えます。
自然で滑らかな形にしたいときはONがおすすめ。
Purning(枝の剪定)
枝の剪定(切って形を整える)の意味。「剪定(Prune)」=木の形を意図的に整える処理。
枝の生え方を抑えたり、特定の高さで枝を減らしたりして、自然な樹冠のシルエットを作るために使います。
特に上部や下部を丸く削るような樹形を作るのに役立ちます(例:丸っこい落葉樹など)。
このサブメニューには、枝を剪定するための設定が含まれています。
チェックボックスを押すと、ツリーの横にプルーンオブジェクトが表示されます。
設定を変更して、ツリーを形成するためにオブジェクトの形状や生える度合いを調整します。
Prune
オンにすると剪定が有効化されます。これがオフだと以下の設定は無視されます。
Prune Ratio
全体の高さに対して、剪定をかける領域の範囲(0〜1)。例:0.6 にすれば、木の下から 60% の範囲に剪定が適用されます。
この値で、どこまで剪定をかけるか(剪定の高さ)を調整します。
Prune Width
剪定によってできるカーブ(丸み)の幅(横方向)。値を上げると剪定による曲線がゆるくなり、低いと急峻なカーブになります。
つまり、どれくらい滑らかに剪定されるかを決めるパラメータ。
Prune Base
剪定を開始する高さの下限(0〜1)。これにより、剪定が「下の方」だけに効くのか、「上の方」にも及ぶのかを決定できます。
Prune Width Peak
剪定の丸み(幅)が最大になる高さの位置(0〜1)。ここで「Prune Width」が最大になり、そこから上・下に向けて丸く削られます。
例:0.7 → 木の上の方に丸みのピークが来る。
Prune Power High
剪定の上方向への削りの強さ。値が高いと、上の方の枝が減り、丸い上部になる。
例:0.5 〜 1.0 で滑らかに剪定、1.5以上で強い削り。
Prune Power Low
剪定の下方向への削りの強さ。値が高いと、下の方の枝がより少なくなり、スカスカになる。
よくある木の「幹の根元は枝がない」状態を作るのに最適。
Leaves(葉の設定)
葉っぱを追加できます。「葉を表示」チェックボックスを押すと、木に葉が表示されます。
カーブをメッシュに変換する場合は、「メッシュを作る」チェックボックスを押します。
木に葉を追加し、形や配置、スケール、角度などを制御する重要な部分です。
Show Leaves
オンにすると、葉を木に追加します。オフのままだと枝だけの木になります。
Leaf Shape
葉の基本形状の選択肢です。| 六角形 | シンプルな六角形メッシュの葉 |
| Rectangular | 一般的な四角形の葉 |
| DupliFaces | オブジェクトの面(Face)上に葉を複製配置 |
| DupliVerts | オブジェクトの頂点(Vertex)上に葉を複製配置 |
Leaf Object
DupliVerts または DupliFaces を選んだ場合に使います。配置する葉のオブジェクト名(カスタムメッシュ)を指定できます。
例:既存の葉オブジェクト(Planeに葉テクスチャを貼ったものなど)
これを使う際、オブジェクトは同じく(0,0,0)にしないとズレるので注意です。
Leaves
各枝に配置する葉の数(密度)。多すぎると重くなるので注意。
Leaf Distribution
枝に対する葉の配置方法を選びます。| Conical | 円錐形 |
| Inverse Conical | 逆円錐形 |
| 球状 | |
| Hemispherical | 半球形 |
| Cylindrical | 円筒形 |
| Tapered Cylindrical | 先細の円筒形 |
| Inverse Tapered Cylindrical | 先細の逆円筒形 |
| Tend Flame | 炎形 |
Leaf Down Angle
葉がどのくらい下向きに傾いているか(度数)。90° = 真下、0° = 水平、負の値で上向きになります。
Leaf Down Angle Variation
上記「下向き角度」にランダムなばらつきを加える。Leaf Rotate Angle
葉が枝に対してどれだけ回転しているか(水平回転)。例:90°で側面向き、0°で正面向き。
Leaf Rotate Angle Variation
葉の回転にランダム性を加える。Leaf Scale
葉の全体スケール(大きさ)を設定。Leaf Scale X
葉の横方向スケールだけを調整。細長い葉や幅広の葉などを表現できます。
Leaf Scale Taper
葉のスケールを根元から先端にかけて細くする設定。枝の先端にいくほど葉が小さくなる。
Leaf Scale Variation
葉のサイズにばらつき(ランダム性)を追加。Horizontal leaves
ONにすると、葉が地面と平行(水平)になる。OFFだと「下向き角」などで傾きます。
Leaf Angle
葉の傾き(角度)を細かく調整できます。「Down Angle」「Horizontal Leaves」などと合わせて使うと効果的。
アーマチュア
アニメーションを作るための仕掛けであるボーンなどを設定。これがないとアニメーションできない。
計算に時間がかかる可能性があるため、非常に複雑なツリーではこの関数を使用することはお勧めしません。
- 葉っぱを消し、葉っぱをつけているなら剪定する
- 「アーマチュアを使用」チェックボックスを押して、アーマチュアをツリーに追加する
- アーマチュアレベルと骨の長さを好みに合わせて調整する
- ツリーが完成するまで骨をポーズしない
- これで次のサブメニューアニメーションを使用する準備ができる
Use Armature
オンにすると、木にアーマチュア(骨)を追加します。自動でボーン階層が生成されます(幹 → 枝 → 小枝ごとにボーン)。
Make Mesh
オンにすると、カーブベースのツリーをメッシュに変換します。アーマチュアで動かすには、木がメッシュである必要があります。
つまり、
Use Armature → ボーン生成
Make Mesh → メッシュに変換してボーンで動かせるようにする
通常は両方 ON にするのが基本。
Armature Simplification
ON にすると、枝ごとのボーンの数が減る(簡略化される)。複雑な木(多くのボーン)を軽くしたいときに有効。
ON=軽くて制御しやすい / OFF=より正確に枝の形を再現
Armature Levels
どのレベルまでボーンを生成するか(Level 0 = 幹、1 = 枝、2 = 小枝)。例:
- Level = 1 → 幹と1段目の枝だけにボーン
- Level = 3 → 小枝まで細かくボーンが付く
高くするほど制御性UP・処理も重くなります。
Bone Length
各ボーンの長さのスケーリング値(相対)。値が大きいとボーンが長く、少ないと短くなります。
実際の枝の長さには影響しません。
アーマチュア表示上の見やすさ用です。
アニメーション
速度、風の強さ、葉のアニメーションが設定可能。木のモデルを揺らすことで環境から物理的な影響を受けているように見せます。
- 上ですでに作成したアーマチュアが必要です。
- 「アーマチュアアニメーション」チェックボックスを押して、アニメーションをツリーに追加します。
- 「葉のアニメーション」チェックボックスを押して、葉がある場合は、アニメーションを葉に追加します。
- 「クイックプレビュー」チェックボックスを押すと、ビューポートですばやくアニメーションを再生するために、葉とベベルを非表示にします。
Finalize All Other Settings First!
「他のタブの設定を確定してからアニメーションを設定してください」という注意です。アニメーションをONにすると、ツリーの形状に変更を加えると壊れることがあるためです。
Armature Animation
ONにすると、ボーン(アーマチュア)を使って木本体が風で揺れるようになります。要「Use Armature」と「Make Mesh」がONになっていること。
Leaf Animation
ONにすると、葉っぱが風で小さく揺れるような動きが追加されます。アニメ的な「わさわさ」と揺れる葉を出したい時に。
Fast Preview
ONにすると、軽量で簡易なアニメーションが再生される。速度調整やリアルな揺れより、ざっくり動作確認をしたい時に便利。
Animation Speed
アニメーションの全体的なスピード(1〜10程度)。値が大きいほど風が速く、木の動きが速くなります。
Loop Frames
アニメーションのループの長さ(フレーム数)を指定。例:60にすると、60フレームで1周のアニメループになります。
Wind Settings
風の設定Overall Wind Strength
木全体がどれくらい強く揺れるかを決定。値が大きいと、幹や枝が大きく振れます。
Wind Guest Strength
一定周期で起こる「突風」の揺れの強さ。値が高いほど、たまにビュッと大きく揺れる演出が加わります。
Wind Guest Frequency
「突風」がどれくらいの頻度で起きるか。値を高くすると、頻繁に強く揺れるようになります。
Leaf Wind Settings
葉の揺れの設定振幅
葉の揺れの大きさを設定。値が高いと、大きくひらひら揺れます。
頻度
葉の揺れる速さを設定。高いほど、素早くパタパタ揺れます。
ランダムさ
各葉の揺れにランダム性を加える。値を高くすると、不規則な自然な動きになります。
最後に・・・
今回は- 木や葉っぱの作成方法の研究
- Sapling Tree Genのメリットとデメリット
- Sapling Tree Genの使い方
- 各設定項目の詳細解説
最後までお読み頂きありがとうございました。
[カテゴリ]
2025年07月21日
関連記事
キャラクターの口パクさて、いきなり3Dモデルを作るのは難しい、あるいは3Dはなかな...
2025年06月08日