本日はBlender枠です。
昨日はBlenderのジオメトリノードである物体の表面に別のインスタンスを配置しました。 これはフォリッジに近い想定での取り組みでしたが、問題があります。
例えば昨日はキューブに球を配置したためわかりにくかったですが、スザンヌ(モンキー)を配置してみましょう。

するとすべてのモンキーが同じ向きで配置されてしまいます。

これではエフェクトなどにはよいですが草木をばらまいても同じ向き、同じ角度で配置されてしまいます。今回は面の向きに合わせてインスタンスを配置してきます。
〇環境
・Blender4.5
・Windows11PC
〇オブジェクトの面の向きを取得する
まずはオブジェクトの面の向きを取得する必要があります。これは面にポイント配置ノードのノーマルを使用することで可能です。

次にノーマル=法線情報を回転に変更する必要があります。これは回転をベクトルに変換ノードで可能です。

面にポイント配置ノードのノーマルを回転をベクトルに変換ノードのベクトルに接続し、ポイントにインスタンスを配置ノードの回転に接続します。

これによってインスタンス配置時の回転に用いられることにより面の向きに沿ってインスタンスが配置されるようになります。

キューブだけではなく複雑なオブジェクトに対してもきちんと面に沿って配置されることが確認できます。

〇配置時にノイズをかけたい
面に対して確かにランダムに面の向きに沿って配置できましたが、草木など自然物を配置する場合は回転にムラを与えたいです。
この場合はノイズを使うことになりますが、Blenderの場合はノイズテクスチャノードかランダム値を使うことになります。

今回はランダム値を使っていきましょう。
ランダム値の出力に回転を回転ノードを新規追加し、回転をベクトルに整列ノードの出力と合成します。

これによってランダムに歪んだ状態でオブジェクトが配置されるようになりました。

本日は以上です。