【Blender】 木 ( 幹 + 枝 ) の作り方5選

# 動作環境
本記事の動作環境は以下の通りです。
 
| 項目             |               環境 |
|:-----------------|:------------------|
| OS               |         Windows 10 | 
| Blender          |               2.82 |

#概要
今回の対象は主に木の幹と枝。葉は一旦検討していない。(自分に必要なかったもので…)
木の作り方には大きく以下の5種類がある。
上に書いてあるものほど作るのは簡単だが、自由度は低い。
どれか一つに絞って作るもよし、いくつかを組合させて作るもよし。

- 既存の木をインポートする
- addonを使用する
- スキンモデルファイアを使用する
- カーブ(~~テーパー＋~~ベベル)で作成する
- 地道にメッシュを加工する

| 木の作り方        |         作成難易度 |         自由度 |変更容易性 | 管理容易性| 備考|
|:-----------------|:------------------:|:------------------:|:------------------:|:------------------:|:------------------|
| 既存の木をインポートする|簡単| 低い|容易|容易|ライセンスを要確認|
| addonを使用する  |簡単|低い|難しい|難しい|-|
| スキンモデルファイアを使用する |普通|高い|容易|容易|-|
| カーブ(~~テーパー＋~~ベベル)で作成する |普通|高い|容易|~~難しい~~&emsp; 容易|~~枝一つに3つオブジェクトが必要~~|
| 地道にメッシュを加工する|難しい|高い|容易|容易|-|

# 既存の木をインポートする

下記のサイトから作りたい木をダウンロードして使用する。
勉強のためにいくつかダウンロードして作りを見てみるのはいい。
適宜編集して使用するなりしても良さそうだが、営利目的で使用する場合はライセンスの確認が必要。
編集の際には完成形が元のモデルに左右されるため、自由度は低いが、元のモデルの選び方次第では自分の理想の形に変更可能。

[https://free3d.com/ja/3d-models/blender](https://free3d.com/ja/3d-models/blender)


# addonを使用する

木を作成するためのaddonは主に以下の2つ。
概要と同様、上に改定あるほど簡単だが、自由度が低い。
どちらのaddonも一度作成してしまうと変更が難しい感触。

- Add Mesh: Mtree
- Add Curve: Sapling Tree Gen

### Add Mesh: Mtree (Modular Tree)とは

#####特徴

- ノードで木の形状を制御する
- 後述のSapling Tree Genより設定パラメータが少ない → 木の作成が容易な反面、自由度は低い

![Mtree.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/682933/0f6a1979-9eb3-1188-4d8f-9d560d0ed9ed.png)


#####参考

| 項目             |              サイト |
|:-----------------|:------------------|
| 使い方          |     [https://www.cgradproject.com/archives/5713/](https://www.cgradproject.com/archives/5713/) | 
| addonの入手先|[https://github.com/MaximeHerpin/modular_tree/tree/blender_28](https://github.com/MaximeHerpin/modular_tree/tree/blender_28)|
| 公式リファレンス |[https://github.com/MaximeHerpin/modular_tree/wiki/Documentation](https://github.com/MaximeHerpin/modular_tree/wiki/Documentation)|


#####覚書①_木の追加

以下の手順で木を追加すると良い。

- 既存の木を原点から移動 (原点に新しく木は生成されるため)
- Tree parametersノードのactiveを解除
- 既存の木を選択していない状態にする
- Tree parametersノードのCreate Treeをクリック

![Tree parameters.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/682933/126e279c-660d-34d0-541d-5666e943131d.png)  &emsp; &emsp;  ![Tree parameters_2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/682933/51df80de-706e-e3f2-1597-bbff0bfc3569.png)


#####覚書②_木の形状変更：patern1

一応以下の手順で、再度パラメータによる変更が可能。
ただし、既存のパラメータは記憶されていないようで、新しいパラメータで上書きされてしまうようなので注意。
パラメータを全部メモってれば問題はなさそうだけど…
マイナーチェンジがいいのなら後述するpatern2でもよいかも。

- Tree parametersノードのactiveを解除
- 変更したい木を選択
- Tree parametersノードのUpdate Treeをクリック


![Tree parameters_3.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/682933/d66d3cee-9e06-276c-56f7-27ba6372463d.png)

#####覚書③_木の形状変更：patern2

所詮オブジェクトなのでカーブの編集と同じ要領で形状の変更が可能。

![Mtree_2.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/682933/da1d8eff-be58-a3a7-f028-bba5beced853.png)


### Add Curve: Sapling Tree Genとは

#####特徴

- オブジェクトを追加したときに表示されるオペレータパネルからパラメータを変更して任意の木を作成する。
- 設定パラメータ多い → 自由度が高い反面、木の作成には少し時間がかかる。
- パラメータの設定中に他のオブジェクトを選択するとオペレータパネルが消えてしまう(木の設定完了判定？)模様。
    - オペレータパネルはF9で再度出現させることはできる。(2020/08/13 追記)
- 今のところ、一度作成した木の修正方法を発見できていない。

![Sapling_Tree_Gen.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/682933/24459bd6-b245-e2e5-c733-e1fe0d1ebdf0.png)

#####参考

| 項目             |              サイト |
|:-----------------|:------------------|
| 使い方          |     [https://horohorori.com/blender-note/add-ons/about-add-curve-sapling-tree-gen/](https://horohorori.com/blender-note/add-ons/about-add-curve-sapling-tree-gen/) | 
| 公式リファレンス |[https://docs.blender.org/manual/en/latest/addons/add_curve/sapling.html](https://docs.blender.org/manual/en/latest/addons/add_curve/sapling.html)|

# スキンモデルファイアを使用する

メッシュオブジェクトのスキンモデルファイアを使って木を作成する方法。
作成難易度は基本的には高くないが、一部スキンがうまく組めない場合に調整が必要。
後述のカーブと比べて、当たり前だがカーブはややカクつく印象。
また、サブディビジョンサーフェスを細かくしすぎると頂点、辺、面が選択しにくくなる。

#####作成方法

- 平面のメッシュオブジェクトを追加する
- 編集モードで面のみ削除
- 頂点を適宜編集して木の外形を作成
- 生成>スキンモデルファイアを追加
- スムーズシェードを有効にしておくとなめらかな見た目
- 必要に応じて、生成>サブディビジョンサーフェスモデルファイアを追加
- 頂点や辺に対してCtrl + Aでスキンの太さを調整して木の外形を作成する
- 必要に応じて、アーマーチュアを作成すると後々楽かも

![skin_modelfire.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/682933/0dca18ba-7d4f-8289-3a6c-202933883698.png)


#####参考

以下のサイトがとても詳しい。

[https://horohorori.com/blender-note/modifiers/generate/about-skin-modifier/](https://horohorori.com/blender-note/modifiers/generate/about-skin-modifier/)

# カーブ(~~テーパー＋~~ベベル)で作成する

カーブオブジェクトのベベルを使用して木を作成する方法。
テーパーやベベルを個別に設定することもできる(ただし、オブジェクトは増える)。
テーパーやベベル用のカーブオブジェクトは別コレクションに入れ込んでチェックを外していやれば、レンダーに写り込んではこない。
当然だが、メッシュオブジェクトと結合はできない。木はカーブオブジェクト、木の実はメッシュオブジェクトで一緒に管理したい場合などはペアレントを組んで管理する。

#####作成方法
- カーブオブジェクトを追加
- 形状を作成する
- ベベルの深度を任意の数値に設定
- 任意の頂点に対してAlt + s で太さを調整して木の外形を作成する

![curve.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/682933/aebea7fa-62c5-01c5-9b87-cbe839752af9.png)


#####覚書①_枝分かれ

以下の手順で枝分かれを作成する。
ただし、分岐している部分の頂点が重複するので、3点以上の交差は頂点を選択しにくくなるのでやめたほうがいい。

- 頂点を分割する(任意の頂点を選択して wキー → 分割を選択 or yキー )
- 分割した頂点から枝分かれ先を作成していく

#####参考

ベベルとテーパーの簡単な使い方を紹介しているサイト

[https://xr-hub.com/archives/20756](https://xr-hub.com/archives/20756)

# 地道にメッシュを加工する

言わずもがな。
基本的には時間はかかるが、使い方・作り方次第では簡単にできる。
簡単な形状で作成する場合とか、一部しかレンダリングしない場合とか。

# あとがき
一周回ってわん。からの、灯台下暗し。
Blenderの基本機能すらおぼつかないのにaddonやらモデルファイアやらなんて手に負えるわけない。
数々の徒労は学ぶのに必要だったと思いたい。