誰も困ってなさそうな問題に悩んでいたら、有り難いことに『Blender 質感・マテリアル設定実践テクニック』の著者・灰ならしさんがアドバイスをくださいました!
ky01da(@KY0)さんが面白い検証をしていたので、原因と解決策を返信しました。 https://t.co/ILxt0iO8pH
— 灰ならし (@hainarashi) December 3, 2022
これぞSNSの醍醐味ですね〜とても嬉しかったです!
以下、記録として解説していただいた原因と解決策を貼っておきます。
流体シミュレーションは、ドメイン内部の空間を立体格子状(ボクセル)に区切って流体の動きを計算します。
障害物(コリジョン)と流体の当たり判定もボクセル単位で計算するので、コリジョンのメッシュ形状と実際の流体の動きの間には、ほぼ必ず隙間ができます。 pic.twitter.com/pNK7FN0kIn— 灰ならし (@hainarashi) December 3, 2022
コリジョンに厚みがない場合も、エフェクタープロパティの「平面(Is Planar)」にチェックを入れると、当たり判定分の厚みが追加されるようです。
そのため、メッシュ表面と流体の間には「当たり判定分+ボクセルサイズ分」の隙間ができます。— 灰ならし (@hainarashi) December 3, 2022
この隙間は、ドメインの「分割の解像度(Resolution Divisions)」を上げると小さくなりますが、完全にゼロにはなりません。
実用的な解決策としては、モディファイアー「ブーリアン」の「差分」を使う方法があります。
— 灰ならし (@hainarashi) December 3, 2022
1.コリジョンメッシュに厚みをつける
2.ブーリアン用のオブジェクトをスプーンの下に用意する
3.流体の動きに合わせて、2.のオブジェクトを上方向に移動(アニメーション)させる
注:モディファイアーの並び順は、上から[ブーリアン→流体シミュレーション]となるようにします。— 灰ならし (@hainarashi) December 3, 2022
灰ならしさんの的確に要所を押さえた記述のおかげで、自分のミスに気付くことができました。
それが「1.コリジョンメッシュに厚みをつける」という部分です。
これを最初に書いてくださるところがさすがです!
実はこの方法は真っ先に試したんです
期待した効果が得られず、コリジョン用のエフェクターにはブーリアンが効かないのかと諦めていたのですが、お陰様で原因が解りました!😳
コリジョンメッシュを平面にしていたからでした!それじゃブーリアンかかりませんよね…😅
ありがとうございます!🙏🙇🏻♂️— ky01da (@KY0) December 3, 2022
どもです。
補足すると、スプーンは同じ位置に複製して、レンダリング用とコリジョン用に分けると扱いやすいです。
コリジョン用はレンダリング非表示にしておきます。— 灰ならし (@hainarashi) December 3, 2022
はい!スプーンの厚みと表面の厚み(Surface Thickness)をなくすことばかり考えていたために自ら落とし穴に落ちました😅
最後ドジってますがイケそうです!🤣
本当にありがとうございます!😻https://t.co/daFTMVe9Ja— ky01da (@KY0) December 3, 2022
今回、正直誰も興味ないだろうとは思いつつも、投稿したおかげでアドバイスいただけて、結果的に重要な気付きを得ることができました。
有難いことに灰ならし(@hainarashi)さんにアドバイスいただいた、障害物(スプーン)を水面の動きに合わせてブーリアンで下から消していく方法のシミュレーション
スプーンを完全に消すときにやけに水が溢れるけど、うまくいく予感!
と思ったら最後!何かやらかしました🤣https://t.co/pt1L0mfuE6 pic.twitter.com/rfE1iyPz4g— ky01da (@KY0) December 3, 2022
最後なぜか水が漏れてしまったのはご愛嬌ということで見逃してください😅
できた〜!水飴スプーン問題解決😂
ブーリアンに始まりブーリアンに終わる流体シミュレーション実験でした🐷
水が溢れ過ぎるのでスプーンが消える前にエフェクターもOFFにしました(手段は選ばないw)#Blender #b3d #fluidsimulation #blender3d pic.twitter.com/WHcNM81Wr1— ky01da (@KY0) December 3, 2022
ブーリアン演算「差分」でスプーンを消す役割をしている立方体が水面を追い越す辺りで、飛沫が過剰に飛び散るのが少々不自然だったので、その少し前に障害物としてのスプーンのエフェクターをOFFにしました。
もう少し早くOFFにすれば最後の飛沫の量を抑えられそうですが、あまり早くOFFにすると空間に流体が流れ込んで水面が下がってしまうので、ケース・バイ・ケースですね。
灰ならしさんの著書、『Blender 質感・マテリアル設定実践テクニック』は12月22日発売です!
予約購入し、読めるのが非常に楽しみです!
灰ならしさん、改めましてありがとうございました!