【Blener 3.5】FAQ:パーティクルで困ったときの対処法

URLをコピーする
URLをコピーしました!

CGBoxの一部の記事にはアフィリエイト広告が含まれております。

こんにちは!

コチラの記事では、フリーの3DCGソフト「Blender」での作品作りのヒントとなる情報をまとめています。

今回は、「パーティクル」に関するFAQ(よくある質問・困りごと)とその対処法をまとめてみました。

「パーティクル」には、粒子を表現するエミッターパーティクルと、髪の毛などを表現するヘアーパーティクルがありますが、こちらの記事ではその両方の悩み事を取り上げます。

水しぶきなどの粒子を表現できるエミッターパーティクルの基本的な使い方を知りたい方は、こちらの記事を参照してください。

あわせて読みたい
【Blender3.0】パーティクルを解説:ランダム生成 こんにちは! Blenderの使い方や機能、ノウハウについてまとめているUEDAです。 自分のためのアウトプットの意味合いもありますが、読んだ方の参考になれば嬉しいです。...

髪の毛や草原などを表現できるヘアーパーティクルの基本的な使い方を知りたい方は、こちらの記事を参照してください。

あわせて読みたい
【Blender2.9】ヘアパーティクルで髪の毛を作ろう! こんにちは! 最近Blenderの勉強を始めたHyoketsuです。 今回は〔パーティクル〕の〔ヘアー〕を使った髪の毛の作り方を紹介したいと思います。 【ヘアパーティクルとは...

パーティクルにまつわるいろんな悩み事と対処法をまとめたので、以下の目次から気になる項目に飛んでみてください。

目次

表示されない・レンダリング結果に反映されない

パーティクルで最も多い悩みの一つは、「パーティクルが表示されない」「レンダリング結果に反映されない」ことではないでしょうか。

原因と解決方法をいくつか紹介します。

インスタンスオブジェクトを設定しよう

「パーティクルプロパティ」からパーティクルを追加し「エミッター」に設定すると、こちらのように粒子が放出されます。

ですが、このままではパーティクルはレンダリング結果に反映されません。

「パーティクルプロパティ→レンダー→レンダリング方法」を、「ハロー」から「オブジェクト」または「コレクション」に変更する必要があります。

「オブジェクト」を選択した場合、別のメッシュオブジェクトをインスタンスオブジェクトに設定することで、レンダリング結果に反映されます。

パーティクルスロットを確認しよう

パーティクルスロットで、パーティクルのビューポート・レンダリング結果に反映するかどうかを設定できます。

レンダー無効になっているとレンダリング結果に反映されないので、注意してください。

ヘアーパーティクルの詳細設定を確認しよう

ヘアーパーティクルの場合、「速度→ノーマル」が0になっているとパーティクルが表示されません

「詳細設定」にチェックを入れると「速度」の項目が表示されるので、確認してみてください。

サイズがおかしい

「パーティクルのサイズがおかしい」場合の対処方法を紹介します。

元オブジェクトのサイズを変更する

パーティクルのインスタンスオブジェクトを使用している場合、元オブジェクトを選択してSキーでサイズを変更すると、パーティクルにも反映されます。

これがサイズを調整するいちばん手っ取り早いやり方になります。

スケールを変更しよう

パーティクルプロパティの「レンダー→スケール」でサイズを調節できます。

「スケールのランダム化」の数値を上げると、パーティクルのサイズをランダムにすることもできます。

ヘアー長を調整しよう

ヘアーパーティクルの場合は、パーティクルプロパティの「発生→ヘアー長」で長さを調節できます。

ヘアーパーティクル編集モードを使う

ヘアーパーティクルには、ヘアーの密度や長さを調節できる「パーティクル編集モードがあります。

「Ctrl+Tab」で表示されるパイメニューから「パーティクル編集」を選択します。

「カット」(ハサミのマーク)を選択し、切りたいところでマウス左クリックドラッグすると、ヘアーを短くすることができます。

また、「長さ」を選択し、ヘッダーの「伸長」を選んでヘアーパーティクルの上で左クリックするとヘアーが伸び、「収縮」を選ぶと短くなります。

ウェイトペイントで調整する

ヘアーパーティクルの長さは、ウェイトペイントで調節することができます。

こちらのように、ウェイトペイントを行った後、「頂点グループ」→「長さ」で、ウェイトペイントで作った頂点グループを選択すると、赤い箇所は長く、青い箇所は短くなります。

ちなみに、長さだけでなく密度なども同じようにウェイトペイントで調節できます。

アーマチュアとメッシュオブジェクトの関連付けなどでよく使う「ウェイトペイント」の基本的な使い方は、こちらの記事を参考にしてみてください。

あわせて読みたい
【Blender2.9】ウェイトペイントを理解!~やり方まとめ~ こんにちは! 今回は人型モデリングなどで鬼門に挙げられるウェイトペイントについて紹介します。 「ウェイトペイントとは何か」と「高率良くウェイトペイントする方法...

向きがおかしい

パーティクルの向きがおかしいときの調節方法を紹介します。

親オブジェクトの向きを調節しよう

パーティクルにインスタンスオブジェクトを使用する場合、インスタンスオブジェクトの+Y方向が法線方向になるようにパーティクルが生成されます。

そのため、たとえばモンキーオブジェクトをパーティクルとして生成した場合、こちらのように後頭部から生えてきます。

インスタンスオブジェクトの上下方向とパーティクルの法線方向を一致させたい場合は、編集モードで頂点を全選択し、「R→X→-90」でX軸回りに-90度回転させてください。

「回転」の向きを調節しよう

木や草を生やす場合など、オブジェクトの向きがそろってしまって違和感を感じる場合は、「回転」にチェックを入れて、以下のように設定してみてください。

  • 回転する軸:ノーマル
  • 位相のランダム化:2.0

ヘアーパーティクルの場合は、「詳細設定」にチェックを入れると「回転」の項目が表示されます。

パーティクルヘアーが太すぎる/細すぎる

「パーティクルヘアーが太すぎる/細すぎる」場合の対処法を紹介します。

パーティクルプロパティの「ヘアー形状」を設定しよう

パーティクルヘアーの「ヘアー形状」→「直径のスケール」を変更することで、ヘアーパーティクルの太さを調節できます。

(Eeveeの場合)レンダープロパティを設定しよう

レンダリングエンジンにEeveeを使用している場合は、ヘアーの太さをレンダリング結果に反映するのに「レンダープロパティ」で表示設定の変更が必要です。

「カーブ→シェイプ」を「ストランド」から「ストリップ」に変更すると、ヘアーの太さがレンダリング結果に反映されます。

高速な描画ができる、Blender標準搭載レンダリングエンジン「Eevee」の使い方は、こちらの記事を参考にしてみてください。

あわせて読みたい
【Blender2.9】Eeveeを使いこなそう!フォトリアルな画作りのコツ・設定方法 【はじめに】 こんにちは! 今回はBlender標準搭載のレンダラー(レンダーエンジン)の1つである「Eevee」をうまく使うコツについて説明していきます! 私自身まだまだBl...

パーティクルが重い

パーティクルが「重い」「フリーズする」「Blenderが落ちる」場合の対処法について紹介します。

パソコンのスペックを確認しよう

パーティクルはかなりCPUやメモリーを消費するため、快適に作業を行うには十分なスペックを持つパソコンが必要です。

パソコンの性能が不足していると、パーティクルを追加するとフリーズしたり、Blenderが落ちる可能性があります

Blenderを使うのに必要・推奨なPCスペックは、Blender公式サイトの「Hardware Requirements(機材の要求)」に記載されています。

blender.org
Requirements & Compatibility — blender.org Home of the Blender project - Free and Open 3D Creation Software

お使いのパソコンのスペックが「Recommended」のスペックを満足すれば、(一般的な使用用途であれば)Blenderが重くならず、快適に使えますので、ご検討してみてください。

Blender Hardware Requirements(機材の要求)

Blenderを扱う上で重要なパソコンの部品「CPU」「GPU」については、こちらの記事で解説しているのであわせて参考にしてみてください。

あわせて読みたい
【Blender3.1】CPU&GPUの機能・設定・トラブル解決まとめ 【はじめに】 こんにちは! 今回は、フリーの3DCGソフト「Blender」を使用するために欠かせない、パソコン(PC)の構成パーツ「CPU」と「GPU」にスポットを当てたいと思い...

パーティクルの個数(密度)を見直そう

パーティクルが必要以上に多いと、パソコンの動作が重くなってしまいます。

パーティクルを増やしたい場合は、自動で補間してくれる「子パーティクル」を使うのが、比較的軽いのでおすすめです。

子パーティクルの詳しい設定方法は、こちらの記事を参考にしてみてください。

インスタンスオブジェクトのポリゴン数を減らす

メッシュが細かすぎても、パーティクルを追加したときのBlenderの動作が重くなってしまいます。

サブディビジョンなどは必要以上に追加しないことをおすすめします。

パーティクルが消えてしまう

パーティクルが消えてしまう場合の対処法について紹介します。

寿命を設定しよう

エミッターパーティクルは、デフォルトでパーティクルプロパティの「発生→寿命」が50フレームに設定されているので、アニメーションの途中で消えてしまいます。

アニメーションの最後まで残したい場合は、寿命の数値を上げましょう。

終了フレームを設定しよう

エミッターパーティクルは、デフォルトで「終了フレーム」が200フレームに設定されているので、アニメーションのフレーム数がそれ以上に多い場合は途中でパーティクルの発生が止まってしまいます。

アニメーションの最後までパーティクルを発生し続けたい場合は、終了フレームの数値を上げましょう。

キャッシュをベイクしよう

Blenderを終了すると、生成したパーティクルは消えてしまいます。

タイムラインを再生すると再度演算が行われてパーティクルが生成されますが、パーティクルの生成結果を残しておきたいときは「キャッシュ」をベイクしましょう。

パーティクルプロパティの「キャッシュ」→「ベイク」または「全物理演算をベイク」すると、blendファイル内にキャッシュが保存されます。

ちなみに、パーティクルのベイクは「レンダリングがうまくいかない」時にも有効ですので、試してみてください。

パーティクルが貫通してしまう・めり込む

パーティクルが貫通する・めり込む場合の対処法を紹介します。

コリジョン(当たり判定)を設定しよう

基本的にパーティクルは他のオブジェクトの影響を受けません。

そのため、パーティクルが他のオブジェクトと衝突したり、ヘアーが他のオブジェクトと干渉して曲がったりするためには、対象オブジェクトに「コリジョン」を設定する必要があります。

対象オブジェクトを選択し、「物理演算プロパティ」→「コリジョン」を追加すると、パーティクルが跳ね返るようになります。

ヘアーパーティクルの場合は、「ヘアーダイナミクス」を有効にすることで、こちらのようにコリジョンに追従します。

「キャッシュをベイク」せずにレンダリングすると貫通してしまう場合があるので、必ずレンダリングする前に、パーティクルのキャッシュをベイクしておいてください。

オブジェクト同士の衝突判定を追加できる「コリジョン」の設定方法や使い方については、こちらの記事を参考にしてみてください。

あわせて読みたい
【Blender2.9】コリジョンでオブジェクト同士の衝突判定を追加できる! こんにちは! Blenderの使い方や機能、ノウハウについてまとめているUEDAです。 自分のためのアウトプットの意味合いもありますが、読んだ方の参考になれば嬉しいです。...

パーティクル同士が貫通・重ならないようにする方法

パーティクルアニメーションを行うと、通常はパーティクル同士の衝突は判定されないため、パーティクル同士はすり抜けます。

実際の粒子の運動のように粒子同士の衝突を表現する方法は以下の2通りの方法があります。

  • 「物理演算」の「物理タイプ」を「流体」にする
  • 無料アドオン「Molucular+」を使う

「物理演算」の「物理タイプ」を「流体」にする

パーティクルプロパティの「物理演算」で、物理タイプを「流体」に設定します。

パーティクルプロパティで以下を設定してみてください。

  • 衝突
    • 「衝突にサイズを反映」を有効にする
  • ばね
    • 「力」を10に
  • 詳細設定
    • 「反発係数」を10に
    • 「相互作用半径」を1に

こんな風に、少しパーティクル同士が重なってしまいますが、パーティクル同士の相互作用を表現できます。

無料アドオン「Molecular+」を使う

粒子のアニメーションを表現できる無料アドオン「Molecular+(モレキュラープラス)」を使うことで、標準機能ではできない、粒子の「衝突」「積み重ね」「粘着」といった相互作用を表現することができます。

Moldcular+は、こちらのリンク先から最新版をダウンロードできます。

GitHub
Release molecular plus 1.1.10 · u3dreal/molecular-plus -fixed UV baking added arm64 ( M1 Max) on osx Blender 2.92 -> use Python 37m version Blender 2.93+ -> use Python 39 version Blender 3.0+ -> use Python 310 ve...

Blender 3.0以降の場合は、ファイル名に「310」を含むバージョンのZIPファイルをダウンロードしてください。

Blenderを開き、「編集」→「プリファレンス」→「アドオン」から、ダウンロードしたZIPファイルを選択して「アドオンをインストール」を選択します。

「プリファレンス→アドオン」から、「物理演算:Molecular+」にチェックを入れてください。

使う際は、サイドメニューの「Molecular+」メニューから、「Emitter(エミッター)」と「Collider(コリジョン)」を設定した後、パーティクルプロパティ上で設定を行います。

「Start Simulation」をクリックすると、こんな風にパーティクルが積み重なるアニメーションを作ることができます。

パーティクルの表現の幅が広がるので、ぜひ試してみてください!

Blenderの機能を拡張できる「アドオン」のインストール・有効化については、こちらの記事を参考にしてみてください。

あわせて読みたい
【Blender2.9】アドオンのすすめ!〜Blenderで必須なアドオンを紹介〜 こんにちは! Blenderでの3DCG制作を勉強中のUEDAです。 Blenderを勉強して、アウトプットの場としてそれぞれの機能をまとめられればと思っています。参考にもなれば嬉...

パーティクルをFBXにエクスポートしたい

パーティクルはBlender内でしか使えないため、たとえばUnityなどの外部ソフト用に「FBX」形式などでモデルをエクスポートする時には、変換する必要があります。

パーティクルをFBXファイルにエクスポートするために、メッシュオブジェクトに変換する方法を紹介します。

ちなみに、Blenderで作成したモデルやアニメーションをFBXファイルにエクスポートする方法については、こちらの記事を参考にしてみてください。

あわせて読みたい
【Blender3.0】FBXインポート/エクスポート設定方法~完全版~ こんにちは! 複数のCGソフトを使っていたり、ゲームエンジンで自作モデルを使う場合は、作ったモデルをインポート/エクスポートする必要があります。 そんなときに、FB...

パーティクルの実体化

エミッターパーティクルの場合、モディファイアープロパティから「インスタンスを実体化」を選択することで、あるタイムフレームでのパーティクルをまとめてメッシュオブジェクトに変換することができます。

変換できるのはあるタイムフレームの状態だけで、アニメーションは作れないので注意してください。

ヘアーパーティクルも、こちらのようにモディファイアープロパティから「メッシュに変換」でメッシュオブジェクトに変換することができます。

ただし、このままでは太さがなくレンダリング結果に反映されません。

カーブオブジェクトに変換し、「オブジェクトデータプロパティ」から「ジオメトリ」→「ベベル」の深度を設定することでヘアーを太くできます。

最後にカーブからメッシュに変換することで、ヘアーをFBXにエクスポートできるようになります。

エミッターパーティクルをアニメーションとして書き出す

Blenderの標準機能ではパーティクルアニメーションをアニメーションに変換することはできません。

ただし、Blenderの情報交換サイトStackExchange」で公開されているPythonスクリプトを使うことで、パーティクルをメッシュオブジェクトのアニメーションに変換することができます。

こちらのリンク先にアクセスし、「Works for 3.4」のオレンジ色の枠で囲った部分をコピーしてください。

Blender Stack Exchange
Convert particle system to animated meshes I've started trying to make a 3D model that I will end up exporting to an augmented reality app but I've hit a problem in terms of the particle system. The app ...

以下のように、スクリプトを貼り付けて実行してください。

STEP
「Scripting」のワークスペースに切り替えて、テキストエディター上で「新規」をクリックします。
STEP
右クリック→「貼り付け」で、コピーしたスクリプトを貼り付けます。
STEP
アウトライナーで、Ctrlキーを押しながら、エミッターオブジェクトとパーティクルのインスタンスオブジェクトをクリックします。

このとき、エミッターオブジェクトがアクティブ(オレンジ色)になるように、エミッターオブジェクト→インスタンスオブジェクトの順にクリックしてください。

STEP
テキストエディターのヘッダーの「スクリプト実行」のアイコンをクリックします。

スクリプトを実行すると、パーティクル一つ一つがメッシュオブジェクトに変換され、キーフレームアニメーションが追加されます。

生成したオブジェクトをアニメーションと一緒にFBXファイルにエクスポートすることで、Unityなどの外部ソフトでもパーティクルアニメーションが見れるようになります。

Blender上でPythonスクリプトを使用する基本的なやり方については、こちらの記事を参考にしてみてください。

あわせて読みたい
【Blender2.9】Pythonスクリプト超入門! こんにちは! 皆さんはプログラミングを行ったことがあるでしょうか? Blenderでは「Python」という言語を使って、作業を自動化したり、オリジナルのUIを作ったりするこ...

まとめ

「パーティクル」に関するFAQとその対処法について紹介しましたが、いかがだったでしょうか?

パーティクルは非常に設定項目が多いため、つまづく箇所は人それぞれだと思います。

もし記事を読んで対処法を試してみてもうまくいかない場合は、一緒に考えたいのでお悩みをコメントで教えてください!

また、上に挙げた以外の悩みをお持ちの方もいらっしゃると思いますので、その場合もコメントで教えていただければと思います。

Blenderで「?」となったとき

Blenderは多機能すぎて、色々と詰まるポイントがあります。

「解決策が分からずに数時間潰した…」という経験はほとんどの人が通ってきた道だと思います。

当メディアではそんな人たちのために、各機能ごとでよくある詰まりポイントをまとめた「FAQ記事」を多くそろえております。

以下のリンク先にFAQ記事がまとまっているので、Blenderで何か困ったときにはぜひこちらを参考にしてみてください。

CGbox

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
URLをコピーする
URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

CGBox編集部。CGに関する様々な記事を執筆しております。

目次
閉じる