CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender 3.3】森を作る方法を紹介!
こんにちは!
コチラの記事では、フリーの3DCGソフト「Blender」を使った作品作りに役立つノウハウを紹介しています。
今回は、木が生い茂る「森」の作り方を紹介します。
森を3DCGで表現する作業は、以下3つのステップに分けられます。
- 木を作る
- 木・草を生やして森林を作る
- 背景・奥行きを表現する
それぞれについて、具体例を交えながらいろんなやり方を紹介していきたいと思います。
今回紹介する方法を使えば、最終的にはコチラのような森の背景画像を作れるようになります。
木の作り方についてはYouTubeでも取り上げているので、合わせてこちらもチェックしてみてください!
木の作り方
まずは、木の作り方を紹介します。
いろんな木の作り方がありますが、ここでは3通りの方法を紹介します。
- アルファ抜き画像を使う
- アドオンを使ってリアルな木をモデリングする(Sapling Gen Tree・Mtree)
- ディスプレイスメントモディファイアー&セルルックを使ってアニメ調を表現する
また、木の作り方にはそれぞれメリット・デメリットがあるので、あわせて紹介します。
アルファ抜き画像を使う
はじめに、画像を使って木を作る方法を紹介します。
画像は、”textures.com”からお借りしました。
背景を透明にする「アルファチャンネル」入りの画像が望ましいですが、フリーの画像編集ソフト「GIMP」などを使ってアルファチャンネルを追加することができます。
やり方はコチラの記事を参考にしてみてください。
「画像にアルファチャンネルがない」場合の対処方法はコチラ!
あらかじめ、「編集」→「プリファレンス」→「アドオン」から、「Import Images as Planes」を有効化しておいてください。
ちなみに、「Images as Planes」で追加した平面オブジェクトには、すでに画像テクスチャの「カラー」「アルファ」がそれぞれプリンシプルBSDFに接続された状態になっており、アルファ抜きの設定を手動でする必要はありません!
地面に落ちる影にもアルファチャンネルが適用されるようになります。
マテリアルを透過させる「アルファチャンネル」の詳しい説明・使い方については、コチラの記事を参考にしてみてください。
画像を使う方法のメリット・デメリット
画像を使う方法は、モデリングが楽で、しかも木一本当たりのポリゴン数を最小限にできるので、レンダリングが軽いです。
ただし、木に立体感を出せないため、木を回り込むようなアニメーションには向きません。
また、画像が粗いと、寄りの画を出力してもリアルに見えません。
したがって、この方法はどちらかというと遠くの木を表現するのに向いています。
画像を使う方法のメリット
- モデリングが楽
- レンダリングが軽い
画像を使う方法のデメリット
- 立体感を出しにくい
- 画質が粗いとリアルに見えない
アドオンを使う
以下で紹介するアドオンを使うことで、立体的な木をモデリングすることができます。
Sapling tree gen
Blender標準搭載アドオン「Sapling tree gen」を使うことで、コチラのような立体感のある木を作ることができます。
作り方を紹介します。
すると、木の幹と枝が生成されます。
メニューの一番上では設定項目の選択ができますが、「ジオメトリ」では木の形状を何種類かのプリセットから選ぶことができます。
「ランダムシード」の数値をいじることで、木の形状・枝の配置などをランダムに変えることができます。
また、「ジオメトリ」の「Limit import」のチェックを外して、「Leaves」のメニューで「Show Leaves」にチェックを入れると、葉っぱを表示することができます。
先ほど紹介した「Import Images as Planes」で読み込んだ葉の画像をマテリアルとして設定し、「UV Editing」のワークスペースでUVの向きを調節することで、一枚一枚リアルな葉を表現することができます。
「textures.com」などで木の幹のテクスチャを入手し、Node Wranglerで「Shift+Ctrl+T」でテクスチャ一式を追加したあと、「マッピング」でテクスチャの向きを調節します。
標準搭載アドオン「Node Wrangler」を使ったテクスチャの追加方法は、コチラの記事を合わせて参考にしてみてください。
なお、「Sapling Tree Gen」の詳しい設定方法については、コチラの記事が参考になると思うので、あわせてご覧ください。
Sapling Tree Genのメリット・デメリット
Sapling Tree Genは、立体的な木をモデリングすることができます。
また、作れる木のプリセットも豊富で、針葉樹・広葉樹などさまざまな木をモデリングすることができます。
ただし、メッシュが多くなってしまうため、大量に生やすとレンダリングが非常に重くなってしまいます。
また、次に紹介する「Mtree」の方が、幹や枝の曲がり具合などを表現できて、よりリアルな木を表現することができます。
Sapling Gen Treeのメリット
- 立体的な木をモデリングできる
- 作れる木のプリセットが豊富
Sapling Gen Treeのデメリット
- 重くなりやすい
- 幹や枝のリアリティはMtreeにやや劣る
Mtree
無料で入手できる外部アドオン「Mtree」(Modular Tree)を使うことで、コチラのように立体的でリアルな木を作ることができます。
Mtreeの特徴は、コチラのようにノードベースで木の形状をカスタマイズできることです。
幹や枝の曲がり具合、太さ・枝の生える位置・葉の大きさなどを細かくカスタマイズすることができます。
Mtreeのダウンロード・インストール方法
Mtreeは以前コチラの記事でも紹介していますが、Blender 3.0以降ではバージョンアップにより機能が一部変更になっているので、改めて説明します。
お使いのBlenderのバージョンによって、ダウンロード先が異なるのでご注意ください。
Blender 3.2以降のバージョンをお使いの方は、コチラからzipファイルをダウンロードしてください。
Blender 3.1以前のバージョンをお使いの方は、コチラからzipファイルをダウンロードしてください。
zipファイルをダウンロードしたら、Blenderを立ち上げ、「編集」→「プリファレンス」→「アドオン」から「インストール」を選択して、zipファイルを選択し、アドオンにチェックを入れて有効化してください。
Blenderの機能を拡張するアドオンについての説明・インストール方法については、コチラの記事を参考にしてみてください。
Mtreeの使い方(バージョン4.0.2)
Mtreeを使った木の作り方を簡単に紹介します。
すると、「Node Tree」が生成され、木を作るするためのノードを追加できるようになります。
「Trunk」(幹)、「Branches」(枝)のノード内の以下のようなパラメータを調節することで、木の形状をカスタマイズできます。
- 「シード」:幹・枝の形状がそれぞれランダムに変化します。
- 「ランダムさ」:幹・枝の曲がり具合が変化します(0に近いほどまっすぐ)
- 「Branches」の「開始」:地面から一番下の枝までの距離を調節できます(0に近いほど地面に近くなる)。
新しいバージョンのMtreeでは、葉は「ジオメトリーノード」(モディファイアー)として追加されます。
モディファイアープロパティから、以下のようなパラメータを調節することで、葉をカスタマイズできます。
- 「Size」:葉のサイズを調節します。
- 「Density」:葉の密度(多さ)を調節します。
- 「Radius threshold」:値が小さいほど、太い枝に葉が生えにくくなります。
幹を選択してマテリアルプロパティを開き、「リンクするマテリアルを閲覧」(地球儀のようなマーク)から「twig_bark」を選択すると、幹にマテリアルが設定されます。
葉にはすでにマテリアルが設定されています。
自動で生成される葉・幹のマテリアルは1種類のみですが、自分で用意したマテリアル・葉などを表示することもできます。
詳しくは、コチラの動画を参考にしてみてください。
Mtreeのメリット・デメリット
Mtreeは、ノードを使って幹や枝の曲がり具合など木の形状を細かくカスタマイズすることができます。
また、マテリアルも自動で生成されるため、テクスチャを用意する手間がいりません。
ただし、作れる木・葉のプリセットは少なく、広葉樹しか作れません。
そのため、木のバリエーションを増やしたい場合は、Sapling Tree Genや画像を使う方法と組み合わせるのがオススメです。
また、これはSapling Tree Genと同様のデメリットですが、葉を生やすとポリゴン数が多くなるので、Blenderの動作が重くなります。
Mtreeのメリット
- 立体的な木をモデリングできる
- 幹や枝の曲がり具合など木の形状を、ノードで細かくカスタマイズできる
Mtreeのデメリット
- 重くなりやすい
- 作れる木のプリセットが少ない
アニメのような木の作り方
フォトリアルな木を表現する方法を紹介してきましたが、最後にコチラのようなイラスト風の木の作り方も紹介しておきます。
作成手順はこんな感じです。
メッシュの種類は、立方体・円錐など作りたい木の形のイメージにあわせて自由に選んでもらって構いません。
コチラの例では、ICO球を3つ積み重ねてみました。
以下のようにディスプレイスの強さとテクスチャのパラメータを設定します(好みで調節してみてください)。
- 1番目:強さ-0.36
- テクスチャ:ボロノイテクスチャ
- 距離の計量:二乗距離
- 強度:2.0
- サイズ:0.5
- テクスチャ:ボロノイテクスチャ
- 2番目:強さ-0.3
- ボロノイテクスチャ
- 距離の計量:二乗距離
- 強さ:1.0
- サイズ:0.1
- ボロノイテクスチャ
- 3番目:強さ0.2
- クラウドテクスチャ
- タイプ:ソフト
- サイズ:0.35
- クラウドテクスチャ
データ転送モディファイアーの「ソース」にUV球を設定し、「面コーナーデータ」にチェックを入れて、「カスタム法線」をオンにします。
コチラのような「セルルックマテリアル」を設定します。
カラーランプとUV球の位置を調節して影の色・入り方を調節します。
アニメっぽい表現ができる「セルルック」マテリアルの作り方については、コチラの記事を参考にしてみてください。
なお、セルルックマテリアルを使用する際は、レンダリングエンジンは「Eevee」、「カラーマネジメント→ビュー変換」は「標準」を使用してください。
イラスト風の森の作り方については、コチラの記事でくわしく紹介されているので、参考にしてみてください。
木を生やして森林を作る方法
つぎに、木を大量に生やして森を作る方法を紹介します。
ヘアーパーティクル
パーティクルを使うことで、一気に大量の木を生やすことができます。
ただし、木のポリゴン数が多いとBlenderがフリーズしたり落ちてしまう可能性があるので、コチラのように、山に画像ベースの木を生やして、森を作る方法を紹介します。
まずはアドオンを有効化します。
サイドメニューの「作成」→「Landscape」を選択し、「Landscape」をクリックすると山が生成されます。
「A.N.T. Landscape」を使った地形の作り方について、詳しくコチラの記事で紹介しているので、参考にしてみてください。
先ほど紹介した方法と同じように画像を取り込んだあと、編集モードでピボットポイントが木の根本に来るようZ方向に移動します。
さらに、Shift+Dで複製し、120°回転コピーを二回繰り返します。
そうすることで、木が(多少はですが)立体的に見えるようになります。
「ヘアー」を選択し、「レンダー」の「ハロー」を「オブジェクト」に変更し、インスタンスオブジェクトとして木のオブジェクトを選択します。
詳細設定をオンにし、「回転」にチェックを入れます。
「回転する軸」を「グローバルZ」とし、「位相のランダム化」を2にすると木が地平面に対して垂直に、ランダムな向きに生えます。
元のオブジェクトは、Z方向に移動させてレンダリング時に見えなくしてあげます。
今回紹介した方法は、コチラのチュートリアル動画を参考にさせていただきました。
髪の毛や草などを生やすのに大活躍する「ヘアーパーティクル」の使い方については、コチラの記事もあわせて参考にしてみてください。
ジオメトリーノード
「ジオメトリーノード」を使うことで、パーティクルと同じように木をランダムに生やすことができます。
先ほど紹介した「Mtree」で作った木は、葉っぱがジオメトリーノードベースのため、パーティクルで生やすと葉が消えてしまいます。
けれども、ジオメトリーノードを使うことでコチラのようにたくさんの木を生やすことができますので、やり方を紹介します。
ベースとなる木がひとつだけだとコピペ感が出てしまうので、3種類以上作るのをおすすめします。
- 「ポイント」→「面にポイント配置」
- 「インスタンス」→「ポイントにインスタンス生成」
- 「入力」→「オブジェクト情報」
- 木のオブジェクトを選択します。
- 「インスタンス」→「インスタンス回転」
- 「インスタンス」→「インスタンスのスケール」
追加したノードをコチラのようにつなぐと、平面メッシュから木が生えます。
木の本数を多くしすぎるとフリーズするので、「面にポイント配置」の密度は、0.01程度に設定しておいてください。
以下のノードを追加します。
- 「ユーティリティ」→「ランダム値」を2つ追加します(回転とスケールの入力用)。
- 「インスタンス回転」に接続する方は、最大を「2*pi」(pi: 円周率π=3.14…)に設定します。
- 「ベクトル」→「XYZ合成」
コチラのように接続すると、木の向き・スケールがランダムになります。
(ノードを見やすくするために、「Ctrl+H」で簡易表示しています。)
3つの「メッシュにポイント生成」それぞれのシードをずらすと、3種類の木が別々の箇所に生えるようになります。
ノードを使ってオブジェクトに操作を加えることができる「ジオメトリーノード」の基本については、コチラの記事を参考にしてみてください。
Baga Pie Modifier
無料のアドオン「Baga Pie Modifier」を使うことで、コチラのようにクリックした箇所に木を追加することができます。
生やした木の向きは、自然に見えるよう一本一本ランダムに設定されます。
簡単に木や草を追加することができるので、詳しい使い方はコチラの記事を参考にしてみてください。
アセットブラウザー
「アセットブラウザー」を使うことで、ドラッグ&ドロップで木を追加することができます。
「Baga pie」とちがって木の向きはランダムにはならないので、たくさん生やす場合は一本一本回転させる必要があります。
ライブラリに保存したオブジェクトを自由に取り出して配置できる「アセットブラウザー」について、詳しくはコチラの記事を参考にしてみてください。
背景・奥行きなどを追加する
森の奥深さを表現するには、ただ木を生やすだけでなく、背景や奥行き・霧などの表現が重要です。
エッセンスを一つ一つ紹介します。
HDRI画像を使う
「Sapling Tree Gen」で作った木の奥に、森のHDRI画像をワールド背景として設定するだけで、コチラのように簡単に森の背景とライティングを追加することができます。
「Polyhaven」のコチラの背景をお借りしました。
背景+自然光を表現できる「HDRI画像」について、詳しい説明はコチラの記事を参考にしてみてください。
背景画像と合成する
「コンポジット」を使うことで、コチラのように森の背景画像とオブジェクトを合成することもできます。
やり方を簡単に紹介します。
レンダープロパティ→「フィルム」→「透過」にチェックを入れると、背景が透過します。
「ノードを使用」にチェックを入れて、「出力→ビューアー」ノードを追加すると、コチラのようにコンポジット結果が背景に表示されます。
「入力→画像」ノードと「カラー→アルファオーバー」ノードを追加します。
画像ノードに背景画像を読み込み、コチラのように接続するとレンダリング結果と背景画像が合成されます。
「フィルター→サンビーム」「カラー→ミックス」ノードを追加し、コチラのように接続すると光の筋のエフェクトが追加されて森の中っぽい雰囲気が出ます。
コンポジットを使ってオブジェクトと背景画像を合成する方法については、コチラの記事で詳しく紹介しているので、あわせて参考にしてみてください。
被写界深度を追加する
背景のピントをぼかす「被写界深度」を設定することで、奥行きを表現することができます。
以下2通りのやり方を紹介します。
- カメラオブジェクトのプロパティから設定する
- Z深度&コンポジットで設定する
カメラオブジェクトのプロパティで設定する
カメラとエンプティオブジェクトを追加します。
カメラのオブジェクトデータプロパティから「被写界深度」にチェックをいれて、焦点オブジェクトにエンプティを設定します。
F値を小さくするほど、ボケが大きくなります。
Z深度&コンポジット
カメラを追加し、ビューレイヤープロパティ→「パス」→「データ」→「Z」にチェックをいれます。
レンダリングを行い、Compositingワークスペースで「ノードを使用」にチェックをいれて、「フィルター→ピンボケ」を追加し、「Zバッファー使用」にチェックを入れます。
「レンダーレイヤー」の「深度」ソケットから「ピンボケ」に接続し、F値の値を下げると背景がぼやけます。
ミスト(霧)を追加する
霧(ミスト)を追加することで、コチラのように深い森の空気感を表現することができます。
以下2通りの方法があるので、簡単に紹介します。
- ボリュームを使う
- ミストパス&コンポジットで設定する
ボリュームを使う
立方体オブジェクトを追加し、シーン全体を覆います。
コチラのようなボリュームマテリアルを設定することで、立ち込める霧を表現できます。
ミストパス&コンポジットで設定する
まず、ビューレイヤープロパティ→「パス」→「データ」→「Z」にチェックをいれます。
一旦レンダリングをして、コチラのようなコンポジットノードを設定します。
すると、霧を表現することができます。
霧の追加方法について、詳しくはコチラの記事を参考にしてみてください。
森を効率的に作れるアドオン
最後に森を効率的に制作できるアドオンについてまとめていきたいと思います。
Alpha Trees – 軽くてリアルな木々で大規模森林を作成!
大規模な森林を構築できるアドオンです。
約20本の小さな木と低木などのアセットが含まれ、自由に組み合わせて活用できます。
Large Forest Generator – 大規模な森林生成!
フォトリアルな大規模森林を生成できるアドオンです。1クリックで簡単に生成することができます。
まとめ
「森の作り方」について、関連するテクニックをまとめてみましたが、いかがでしたでしょうか?
「森」を表現するためには、ただ木をいっぱい生やすだけではなく、奥行きや空気感も重要だということが伝わってくれたら嬉しいです。
最後に、今回紹介した「森を作る」テクニックのまとめです。
- 木を作る
- アルファ抜き画像を使う
- アドオンを使ってリアルな木をモデリングする(Sapling Gen Tree・Mtree)
- ディスプレイスメントモディファイアー&セルルックを使ってアニメ調を表現する
- 木・草を生やして森林を作る
- ヘアーパーティクルを使う
- ジオメトリーノード
- Baga Pie Modifier
- アセットブラウザー
- 背景・奥行きを表現する
- HDRI画像を使う
- 背景画像と合成する(コンポジット)
- 被写界深度を追加する(カメラのプロパティorZ深度)
- ミスト(霧)を追加する(ボリュームorミストパス)