CGBoxの一部の記事にはアフィリエイト広告が含まれております。
【Blender3.0】パーティクルを解説:ランダム生成
こんにちは!
Blenderの使い方や機能、ノウハウについてまとめているUEDAです。
自分のためのアウトプットの意味合いもありますが、読んだ方の参考になれば嬉しいです。
今回は雨などの粒子を出現させることのできる〔パーティクル〕を紹介します。
パーティクルとは?
〔パーティクル〕とは、オブジェクトから多数のアイテムを放出する機能です。
例えば雨を降らせたり、紙吹雪を舞わせたりと多数のアイテムを放出することができるため、映像やCGを用いた映像編集をする場合は利用頻度が高い機能でしょう。
最大で”10,000,000”ものパーティクルを生成できます。
種類は以下の2つがあります。
- エミッター
- ヘアー
この記事では〔エミッター〕を主に取り上げていきます。
〔ヘアー〕については髪の作り方で紹介しているので、そちらを読んでみてください。
▼【〔パーティクル:ヘアー〕でリアルな髪の毛を作成】はコチラ!
追加方法
〔パーティクル〕を出力したいオブジェクトを選択し、〔パーティクルプロパティ〕を開きます。
左側のプラスボタンをクリックすることで、選択オブジェクトに〔パーティクル〕を追加することができます。
ここで”Space”を押してアニメーションを再生してみましょう。
オブジェクトから丸い粒子が放出されたら追加できています。
この粒子の数や大きさ、形状、質感を変更して様々なものを作り出します。
設定
パーティクルに多くの設定項目があります。
- 放射
- キャッシュ
- 速度
- 回転
- 物理演算
- レンダー
- ビューポート表示
- 子パーティクル
- フィールドの重み
- フォースフィールドの設定
- 頂点グループ
- テクスチャ
- カスタムプロパティ
1つずつ見ていきましょう!
放射
〔放射〕ではパーティクルについての基礎設定を行うことができます。
数 | 親パーティクルの最大量 |
シード | 異なった見た目のランダム性を生成 |
開始/終了フレーム | 開始と終了のフレーム数 |
寿命 | 生成されたパーティクルの消えるまでのフレーム数 |
寿命のランダム化 | 寿命のランダム性を設定 |
下部のソースでは、パーティクルの発生源に関する設定を行うことができます。
〔分布〕での選択によって、それ以下の項目が変わってきます。
放射源 | 発生箇所を頂点・面・ボリュームから選択 |
モディファイアースタックを使用 | モディファイアーの順序を適用するか否か |
分布 | 放出する際の分布を設定 |
ランダム順 | ランダムに発生 |
等分布 | 辺の長さ、面の面積を元に等分布を使用 |
この設定は分かりやすいので、調整しやすいかと思います。
〔分布:ジッター〕を選択した場合は以下の2項目があります。
パーティクル数/面 | 面あたりの放出量(”0”で自動) |
ジッタリング量 | ジッタリング量が何なのか分かりませんでした |
〔パーティクル数/面〕は基本的には”0”のままでよさそうです。
〔分布:グリッド〕を選択した場合は以下の2項目があります。
反転グリッド | 発生箇所と未発生箇所を反転 |
六角グリッド | デフォルトが長方形のグリッドで、六角形に変更 |
解像度 | グリッドの解像度設定で、パーティクルの量を変更 |
ランダム | ランダム性の設定 |
〔グリッド〕は独特な発生方法になるので、使い道が難しそうです。
キャッシュ
〔キャッシュ〕はパーティクルでの演算結果を保存して高速化を図る機能です。
再生と同時にベイク処理されます。
ですが〔フォースフィールド〕の追加・変更を行った場合など、外部の調整をした場合には手動でキャッシュをクリアすると正常に再度処理をしてくれます。
公式マニュアルにヒントという項目があったので、ひとまずコチラに目を通してみてください!
速度
〔速度〕ではパーティクルの初期速度を設定できます。
なので”0”に近づけるほどパーティクルの速度が遅くなります。
ノーマル | 面の法線によって初期速度を設定 |
タンジェント | 面のタンジェントによって初期速度を設定 |
タンジェントの位相 | 面のタンジェント方向を回転 |
オブジェクトの方向X/Y/Z | それぞれの方向に初期速度を設定 |
オブジェクトの速度 | オブジェクトの動きをどの程度影響させるか |
ランダム化 | 初期速度にランダム性を設定 |
〔タンジェント(の位相)〕は変化が分かり辛いです。
真上からパーティクルの発生しているオブジェクトを見ると分かりやすいです。
位相が”±1”の場合の回転が上記で、”0”にすると逆回転になりました。
回転
〔回転〕ではパーティクルの回転を設定できます。
後述する〔レンダー〕でパーティクルの形状を立方体に変更すると回転が分かりやすいです。
デフォルトではオフになっているので、使う場合はチェックボックスにチェックを付けましょう。
回転する軸 | 回転する際の軸を設定 |
ランダム化 | 設定した座標系をランダムに設定 |
位相 | 初期回転を設定(よく違いが分からない) |
位相のランダム化 | 位相にランダム性を設定 |
ダイナミック | コリジョンとエフェクターの影響をオン |
パーティクルにランダム性を持たせたい場合は必須の項目になります。
〔ランダム化〕の数値を上げるだけで、様々な方向を向かせることができます。
コリジョンとエフェクターの影響を及ぼしたい場合は〔ダイナミック〕をオンにしましょう。
▼【コリジョンで衝突判定】はコチラ!
物理演算
〔物理演算〕ではパーティクルの物理演算方法を設定できます。
〔物理タイプ〕を変更すると、設定項目がそれぞれで変わります。
物理タイプ | 物理演算タイプを設定 |
重さ | パーティクルの質量 |
質量×サイズ | パーティクルサイズによって質量を変化 |
物理タイプには以下の5種類があります。
- なし
- ニュートン力学
- キー
- ボイド
- 流体
それぞれの説明は長くなってしまうので、この記事では省略します。
実用的な使い方を交えてそれぞれの機能は以下の記事で説明しているので、参考にしてみてください。
レンダー
〔レンダー〕ではパーティクルがレンダリングされる時の表示方法を設定できます。
レンダリング方法 | レンダリングの表示タイプを変更 |
スケール | レンダリング表示タイプの大きさ |
スケールのランダム化 | レンダリング表示タイプの大きさにランダム性 |
マテリアル | レンダリング用のマテリアル |
座標系 | 選択オブジェクトの座標系を使用 |
エミッターを表示 | パーティクルの放出源の表示/非表示 |
〔マテリアル〕は特に意味のない項目になっています。
というのも〔レンダリング方法:ハロー〕がレンダリングできないためですね。
このことについて詳しくは後述します。
〔エミッターを表示〕についても、レンダリング時に放出源を写したくない場合に使えるので覚えておきましょう!
〔レンダリング方法〕を変更することで様々な形状のパーティクルを実現することができます。
なし | レンダリング時に非表示 |
ハロー | 実体のない光る物体 |
ライン | 線 |
パス | パーティクルの軌道を描写 |
オブジェクト | 指定したオブジェクト |
コレクション | 指定したコレクション |
基本的には〔オブジェクト〕と〔コレクション〕を使っていく機会が多いかと思います。
この場合は特別マテリアルについての項目がないので、見た目に関しては指定先のオブジェクトを調整します。
見た目だけ作ってしまえば、パーティクル側で様々な調整が行えます。
ビューポート表示
〔ビューポート表示〕では3Dビュー上でのパーティクルの表示方法を設定できます。
表示方法 | ビューポート表示での表示方法を設定 |
カラー | ビューポートでの色を設定 |
量 | ビューポートで表示されるパーティクルの量を設定 |
サイズ | ビューポートでのパーティクルのサイズを設定 |
エミッターを表示 | パーティクルの放出源の表示/非表示 |
〔表示方法〕には6種類あり、確認用に画面内では変更することができます。
複雑なパーティクルの場合はPC負荷がかかるため、変更して負荷を抑えましょう。
なし | すべて非表示 |
レンダー | 〔レンダー〕での設定が表示 |
ポイント | 〔ハロー〕のような球体 |
円 | 円状の線 |
クロス | 回転に合わせた6ポイントの十字 |
座標軸 | 正方向に3軸 |
〔表示カラー〕には4種類あります。
あまり使うことがなさそうですが、知っておいてもよさそうな機能ですね。
なし | 特に設定されない |
マテリアル | 設定されたマテリアルで表示 |
速度 | 速度に応じて色を設定(”青 → 緑 → 赤”の順で早い速度) |
加速度 | 加速度に応じて設定 |
子パーティクル
〔子パーティクル〕では放出したパーティクルから更に他にパーティクルを出現させます。
【〔子パーティクル〕を用いた髪の毛の増殖方法はコチラから!】
3種類あり、子の出現方法が異なります。
なし | 子は非生成 |
シンプル | 子は親の位置から生成 |
補間 | 隣接する親の間を補間(均一な分布を生成) |
共通項目はとりあえず以下になります。
表示数 | 親毎の子の表示数 |
レンダリング時の数 | レンダリング時の親毎の子の表示数 |
長さ | 子のパスの長さ |
しきい値 | 子のパスの長さに影響を受けない親の率 |
シード | 異なった見た目のランダム性を生成 |
〔レンダリング時の数〕で調整を行いますが、それでは処理が重たすぎる場合が多々あります。
そんな時には〔表示数〕でおおよその状態で調整を行いましょう。
それ以外の細かい項目については知りたい方は、ひとまずコチラを読んでみてください。
また”パス”と書きましたが、〔ヘアー〕の方でメインとなる機能になります。
フィールドの重み
〔フィールドの重み〕ではシーン中のフォースフィールドの影響を設定できます。
通常重力は-Z軸へデフォルトで設定されていますが、ほかの数値は指定しないと変化しません。
重力はシーンプロパティから他の数値はフォースフィールドから設定することができます。
▼【フォースフィールドについて解説】はコチラ!
フォースフィールドの設定
〔フォースフィールドの設定〕ではフォースフィールドに関する設定を行えます。
自己エフェクト | 自己に設定したエフェクターの影響のオン/オフ |
エフェクターの割合 | フォースフィールドとして利用するものを選択 |
タイプ | フォースフィールドの設定 |
タイプからそれぞれ設定することでパーティクルが影響を受けたかのような挙動をします。
頂点グループ
〔頂点グループ〕では指定した頂点グループに影響を与えることができます。
それぞれの項目同じ名称の項目があるので、そちらで設定することで使用できます。
右側の”↔”で影響範囲を反転させることもできます。
▼【頂点グループの使い方】はコチラ!
- 密度
- 長さ
- 集結
- ねじれ
- ラフ1
- ラフ2
- 粗さ終端
- ツイスト
基本的にメインは〔ヘアー〕での使用になります。
〔密度〕なんかは〔エミッター〕でも使用できるので、活用してみてください。
テクスチャ
〔テクスチャ〕ではテクスチャを使ってパーティクルに変更を加えることができます。
〔テクスチャプロパティ〕での設定がメインになります。
▼【テクスチャプロパティを活用】はコチラ!
方向を変更したい!
方向を変更する方法は2つあります。
- 〔回転:回転する軸〕を変更
- パーティクルの元となるオブジェクトの方向を変更
まずは「〔回転:回転する軸〕を変更」の方法です。
【〔回転:回転する軸〕の復習はコチラから!】
パーティクルに指定したオブジェクトの向きを特に変えていない状態であれば、〔グローバル/オブジェクトZ〕で縦から横に変更することができます。
簡単に変更するのであればこれで十分です。
次は「パーティクルの元となるオブジェクトの方向を変更」の方法です。
元となるオブジェクトを選択して〔編集モード〕に切り替えます。
〔オブジェクトモード〕の場合は、回転後に〔適用:回転〕を実行すればパーティクルに回転が反映されます。
その状態でお好みで回転させると、パーティクルの方向もリアルタイムで変更されます。
直感的に変更できるのでオススメです!
レンダリングされない
〔レンダー〕内の〔レンダリング方法:ハロー〕はレンダリングすることができません。
なので、〔オブジェクト〕か〔コレクション〕でハローのような球体を追加してあげる他ありません。
例えば〔UV球〕や〔ICO球〕を追加して、マテリアル設定で〔放射〕を追加します。
これで光る球体を作ることができます。
その際はコンポジターでグレアを使って光量を調整するとよりよい感じになります。
▼【コンポジットで放射ノードを調整】はコチラ!
コチラの動画も合わせてみてみるとよいと思います。
まとめ
使い方自体はシンプルなので使いやすいです。
ですが項目が非常に多いので、すべてを使いこなすとなると骨が折れる作業になりそうです。
今後は具体的な使い方も紹介していけたらと思います。