CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender】ジオメトリノードでランダム配置する方法
こんにちは。
今回はジオメトリーノードの基本である「Instance on Points」を使用して、パーティクル機能のようにランダムにオブジェクトを並べる方法について解説していきます。
今回の解説ではこのように花をランダム配置していきます。
パーティクル機能よりもより詳細に設定しやすいので、ジオメトリノードを使ったランダム配置は使えるケースが多々あると思います。
パーティクルでのオブジェクト配置方法を知りたい人は以下の記事を参考にしてみてください。
ランダムに配置する方法
以下、ランダムに配置する方法を解説していきます。
今回はこちらの3種類のオブジェクトを平面に並べていきます。
これらのオブジェクトは種類ごとでコレクションに分けておいてください。
ジオメトリーノードを追加
まず平面を追加して、ジオメトリノードを開き新規のノードツリーを追加します。
新規追加したら、以下のノードをShift+Aで検索して繋ぎましょう。
- Distribute Points on Faces…配置するオブジェクトの密度などを調整
- Instance on Points…配置するオブジェクトの回転・スケール等を調整
- join Geometry…ノードの統合
Group InputとJoinGeometryを接続するのを忘れがちなので、注意です。
コレクションを追加
次にコレクションを追加して花を配置します。まずは1つ目の花を配置したいので、以下の手順で配置してください。
- コレクションをドラック&ドロップして、ノードを繋げる
- 3つの場所にチェックを入れる
- Separate Children…コレクション内のオブジェクトを個別に分ける
- Reset Children…トランスフォームの適用
- Pick Instance…インスタンスを選択
密度の調整
密度の調整は「Distribute Points on Faces」の「Density」の数値を調整すると密度の調整ができます。
スケールと回転を調整
このままでもスケールや回転を調整は可能なのですが、もう少し調整しやすく設定していきます。以下のようにノードを追加してください。
- Random Value…最大最小の数値の間でランダムに数値を設定
- Combine XYZ…XYZ軸それぞれで数値を分ける
このノードを設定することで、以下の動画のようにランダムにスケールや回転を調整できます。
これでランダム配置の設定は終了です。
他の種類のオブジェクトを配置する
次に他のオブジェクトもランダム配置していきます。手順は以下の通りです。
グループ内・外の切り替えはTabキーで可能です。
これを配置したいオブジェクトの数行えば複数のオブジェクトをランダムに配置が可能です。
シードを変える
複製したオブジェクトはシード値が同じなので、同じスケール・回転・密度に設定されています。これだとオブジェクトが重なっているため、各ノードのシード値を変更しましょう。
特定の場所にランダム配置したい場合
特定の場所に生やしたい場合はウェイトペイントを使用しましょう。手順は以下の通りです。
ウェイトを修正したい場合
ウェイトを修正たい場合はウェイトを0で塗ってもきちんと反映されません。
もし修正したい場合は頂点グループの設定から頂点をRemoveする必要があります。
まとめ
以上がランダム配置する方法についてでした。
Instance系のノードはジオメトリーノードでよく使用するので、使い慣れておきましょう。