[blender]逆転の発想。パーティクルでオブジェクトを散らす方法と応用で星空を作る方法

blender2.82a使用
大量のオブジェクトを散らす方法は色々ありますが、その中の一つにパーティクルを使う方法があります。
しかし、パーティクルと言うと如何に粒子を飛ばすかという固定概念を持っていないでしょうか?
今回は逆で、パーティクルの発生元を動かす事によってオブジェクトを散らす方法を紹介します。



パーティクルを固定する
普通パーティクルは何かしら移動するものです。
しかし今回はパーティクルを固定します。










デフォルトのCubeをランダムに配置します。

まずパーティクル発生元の平面を追加します。
そしてパーティクルを追加し、数や終了フレーム、寿命を設定します。
次に速度のノーマルを0にします。
必要に応じて回転にチェックを入れランダム化や位相のランダム化も設定します。
フィールドの重みを0にします。
これでパーティクルは発生してからその場を動きません。

レンダーからオブジェクトを選択してインスタンスにCubeを設定します。
ランダム感を出すために拡大縮小のランダム化も設定しましょう。





設定できたら平面をアニメーションさせましょう。
アニメーションの軌道の通りにCubeがランダムに配置されます。
(ちょっと多すぎたかな)



レンダーでコレクションを指定すれば複数のオブジェクトをランダムに配置できます。



星空を作る
応用で煌めく星空を作ります。


まずはレンダープレビューにして背景に大気テクスチャを設定し暗い空を作りましょう。



次に星となる平面か薄いオブジェクトを作り放射を設定します。
薄いのがポイントです。




UV球を作って半分にしパーティクルを設定して星を散らします。
パーティクルの開始フレームと終了を1にして寿命を充分長くします。
先ほどと同じくノーマルを0にします。
そして回転にチェックを入れランダムに設定し、ダイナミックにチェックを入れます。
角速度も設定します。
座標軸をランダムなどにして量にも数値を入力します。
これで星がランダムに回転します。
レンダーでオブジェクトにしてCubeを設定し、各台縮小のランダム化を設定します。
そしてフォースフィールドの重みで重力の影響を0にします。


これだけでも良いのですが、今のままだと星の回転が一定です。パーティクルを複製して回転速度や大きさなどのバリエーションをつけるとよりリアルになります。


調整してレンダリングした結果がこちらです。
薄いオブジェクトを回転している為に明るさに差が出て、星のチラツキを表現しているわけです。