見出し画像

【Blender】GeometryNode:オブジェクトの散布範囲を指定する

ジオメトリノードで、散布する範囲を限定して、オブジェクトに散布したり、複数オブジェクトを散布する方法のメモ。
<Blender 4.0.2>


■オブジェクトの散布(全体的に)

砂糖菓子の粉砂糖の散布に利用した動画。
詳細説明は。動画参照のこと。

■オブジェクトを散布する範囲を指定する

ドーナッツの上にかかっているチョコレートのスプレとかの表現に利用できる。

散布する範囲を指定するには、ウェイト値を利用すると簡単に実現可能。
詳細説明は、動画を確認してほしい。

◇動画の補足説明

動画で説明されている半球の上面に単体オブジェクト(カプセル)を散布するノード構成した事例(※コレクション情報ノード利用)

散布領域を指定するノード構成

「コレクション2」に複数オブジェクト(カプセル、円錐)を配置した事例

ノード構成

円錐の方向を変更する際、編集モードでオブジェクトを動かして調整してもよいが、動かしたくない場合、オブジェクトモードで、原点だけ調整するとやりやすいかも。

調整:原点の回転

<FAQ>
Q)
カプセルオブジェクトを面に沿せて回転させるにはどうしたらよいのか。
A) オイラー回転ノードで、ローカルに設定するとカプセルオブジェクトが半球面に沿うようになる。

Q) ウエイトで、散布範囲を限定するには、どうしたらよいのか。
A) 面にポイント配置ノードに接続した名前付き属性ノードで、ウェイト設定した頂点グループの名前を手入力する。(※ウェイトを、あとから調整してもよい)

Q) コレクションを使わない場合のオブジェクト指定はどうするのか。
A) コレクション内のカプセルオブジェクトを指定しているが、オブジェクト情報ノードでも成り立つ。

ノード構成

<トラブルシューティング>
オブジェクトの座標がままならない場合は、下記を試してみるとよいかも
・オブジェクトに原点を移動させる。(原点の位置ズレ問題)
 ※半球の表面に見栄えよく配置する場合は、原点の位置を微調整すると
  よいかもしれない。(もう少し表面に食い込ませたいとか)
・オブジェクトの座標系を適用させる。(現在のSRTを強制的に
  オフセット値にする)
  そのやり方は、オブジェクトを選択した後、
 メニューバー:オブジェクト>適用>全トランスフォームを実行。(ctrl+A)
 (現在位置で、全トランスフォームをフリーズ(0)させる)

【補足】コレクション内の複数オブジェクトをまとめて散布する

以下は、コレクションに入れた複数のオブジェクトを立方体の表面に散布してみたもの。複数オブジェクトの位置は、ワールド座標の原点にしておくとよい。でないと散布位置がずれた。そのあたり調整するノードはないものか。知らんけど。

今回は、コレクション情報ノードを追加利用して実現した。
さらに分布を調整したい場合は、ウェイト値を利用して散布範囲を限定する方法を昔試したような記憶がある。また、今度試してみよう。

ノード構成

立法体だけ削除し、オブジェクト散布だけ維持したい場合は、下記構成にすると実現可能。ジオメトリ削除ノードを追加して接続する。
これも、いろいろ応用できるね。

ノード構成

で、先ほど後述すると言っていた件だが、実は・・・、

コレクション情報ノード>子をリセット を有効にしておくと位置ズレしない。(下図参照) なので、コレクション2内のオブジェクトをワールド座標の原点に置く対処は必要はなかった(アウトライナーウィンドウ参照)。

ノード構成

また、編集モードで頂点編集し、立方体を変形するとオブジェクトの散布状況が変わる。なかなか面白い。

ノード構成

ジオメトリトランスフォームノードを追加しても、位置関係を調整できて面白い。(下図参照)これはこれで何かの役に立ちそう。

ノード構成

以上。

この記事が気に入ったらサポートをしてみませんか?