【Blender】ジオメトリノードを使って90度ランダムに回転させる方法

【Blender】ジオメトリノードを使って90度ランダムに回転させる方法

ジオメトリノードを使って0度90度180度270度ランダムにオブジェクトを回転させる方法を紹介します。

今回紹介するのは、「【Blender】ジオメトリノードを使って指定した軸だけをランダムで回転させる方法」で学んだことの応用編で、オブジェクトをランダムに回転させるのではなく、0度90度180度270度指定した角度にランダムで回転するオブジェクトの配置方法を紹介します。

【Blender】ジオメトリノードを使って指定した軸だけをランダムで回転させる方法

完成形が言葉だと難しいので、下記画像のように回転が「0度90度180度270度ランダム」で立方体が配置されます。

0度90度180度270度ランダム配置

画像のように90度回転なので斜めになることもなくビルなどの建物を配置する際に使うことが出来ます。

今回使用しているBlenderのバージョンは、3.5.1でインターフェースを日本語で操作しています。

Blenderの回転を理解しよう

今回は、以前紹介した、「【Blender】ジオメトリノードを使って指定した軸だけをランダムで回転させる方法」の記事で紹介したジオメトリノードを使っています。

また、今回は回転が分かりやすいようにオブジェクトの面を赤・青・黄・緑にしています。

立方体を配置

ジオメトリノードを使ってオブジェクトを回転させる際、「ポイントにインスタンス作成」にある回転からZ軸の数値を90°にすることでオブジェクトが90度回転します。

90度回転

回転の単位が「°」になっていればそのまま回転させたい角度を入力すれば回転させることが可能ですが、「XYZ合成」などを使い回転に繋げると角度を入力しても指定した角度に回転させることは出来ません。

XYZ合成を使って回転
Z軸に90を入れた時の回転
Z軸に90を入れた時の回転

このように「XYZ合成」を使って指定した角度を回転させたい場合は、クォータニオンの形式で設定します。

例えば、180度回転させたい場合「pi」と入力すると180度回転させることが出来ます。

piを入れる

この「pi」は「π」のことでBlenderのZ軸にπを設定すると、πラジアンの回転を意味します。πラジアンは数学的には180度に相当します。つまり、Z軸にπを設定とオブジェクトをZ軸周りに180度回転させる操作として解釈されます。

Chat GPT引用

「pi」を入れたことで円周率が数値に追加されます。

円周率3.142

90度回転させたい場合は、「pi/2」と入力することでオブジェクトを90度回転させることが出来ます。

円周率を除算
円周率を2で割った数値

「pi」を入れることで180度回転、「pi/2」を入れると90度回転、「pi*2」を入れると360度回転となります。

90度ごとにオブジェクトをランダムに回転

ジオメトリノードの追加から「数式」を追加し「XYZ合成」のZ軸と繋ぎ、数式を「乗算」に設定します。

乗算に設定

次に追加から「ランダム値」を追加しFloatから整数に変更し、「ランダム値」と「乗算」を繋げます。

ランダム値を追加し整数に変更

乗算の値に入る数値を「pi/2」に設定します。
ここでオブジェクトは、90度回転することになります。

pi/2を入れることで90度回転
pi/2=1.571

0度90度180度270度のランダムに回転をさせたいので「ランダム値」の「最小0」「最大3」に設定します。

ランダム値の「最小0」「最大3」に設定

この時、ランダム値と乗算では、「0*1.571」「1*1.571」「2*1.571」「3*1.571」の計算が行われ結果的に0度90度180度270度の回転がランダムに行われます。

「0*1.571」「1*1571」「2*1571」「3*1571」の計算が行われる

これでオブジェクトが90度ごとにランダムに配置されます。

オブジェクトが90度ごとにランダムに配置

まとめ

ジオメトリノードを使えば、オブジェクトをたくさん配置することが出来るので都市などを作成するのに向いています。

しかし配置したビルが全て同じ向きを向いていたり、回転をランダムにしたせいで斜めに向いているビルがあると違和感のある都市になってしまいます。

ですが、「ランダム配置」「乗算」「XYZ合成」を使い、「pi/2」で90度を指定してあげることで簡単に90度ごとのランダム配置が可能になります。