Blender パーティクルが貫通する件。
自分が忘れぬうちに急いで書いたので、体裁がおかしいかもしれませんが、ご了承ください・・・
あと、自分がハマったことの備忘録なので、
ベテランの方は「は?何言ってんのこいつ」とか思われるかもしれませんが
どうか温かい目で見守ってください
よ~し!今日はパーティクルだ!なんかフォースフィールドいろいろ弄って遊ぼ♪・・・ん?
ボールが貫通している!!!!!!
ってなわけで、ハマりました。
いろいろググった(英語でもググってみた)んですが、なかなか解決策が
見つからず・・・(検索ワードの問題かもですが)
クロスシミュレーションの貫通についての解決策は
いっぱい出てくるのですが、
パーティクルVSオブジェクトの貫通問題は
なかなか記事が見つかりませんでした。。。
数多のチュートリアルをいろいろ見ながら、パラメータを弄りまくった結果
解決策を発見したのでご紹介いたします。
とはいうものの、めっちゃ単純ですw
とりあえずセットアップ
箱(以下「升」)、増やすUV球、パーティクル発生平面を用意
(ググったら作り方など出てきます)
①平面を選択して、
プロパティ>パーティクルプロパティから「+」押してパーティクル作成
②このままだと途中で消えるので、「寿命」をタイムラインの再生フレームの終わり(デフォルトでは200のはず)に設定
③プロパティ>パーティクルプロパティ>レンダーから
レンダリング方法をオブジェクトに
スケールをそこそこに設定し
オブジェクト>インスタンスオブジェクトに球を選択
④次に升を選択し、
プロパティ>物理演算プロパティからコリジョン、リジットボディを
それぞれ適用
⑤自分はボールに跳ねてほしくなかったので、
コリジョン>パーティクル>減衰を0.5くらい、
摩擦を1.0に設定
ここまで長々書きましたが、設定にそんなに時間かかんないと思います
いざ、再生!(スペースキー)
*冒頭の画像と球のサイズ変えています
サイドビュー(「3」キー):
赤い矢印で示したのが升の内側の底ですが、球が貫通しています。
なんで貫通してんだろ、って気になって、
まず出てきた
升のコリジョン>ソフトボディとクロスの外側の厚さ・内側を調整してみるという方法を試してみましたが、効果なし
メッシュ>ノーマル>面の向きを外側にそろえる(Shift+N)をするも
効果なし
いろいろ悪戦苦闘した結果。。。
単純でした!
解決方法:
・・・ただそれだけ
すると・・・
球の貫通が改善されました!
なんでうまくいくのか?
Blender公式リファレンスで該当部分をチェックすると・・・
パーティクルのサイズを(衝突の)動きのずれに反映
・・・ってそのままじゃん!
というわけで、よくわかりません。
(私の知識・経験不足ですみません)
たぶん、このチェックによって球の外周まで衝突計算に加味されるのかな?Blender学習を進めるうちに、
理解できる自分になれることを期待します!(無責任)
というわけで、この記事がみなさんの参考になれば幸いです!