18-03-2022, 09:08 AM
(This post was last modified: 18-03-2022, 09:09 AM by josemendez.)
(17-03-2022, 07:11 PM)locque Wrote: Here's the mesh: https://skfb.ly/otAMw
Would be great if there was a way to use the distance field, turns out my VR framework automatically assigns a layer to the the children of all gameobjects you can interact with, including the obi collider which I set to a layer that doesn't collide with anything. Fixable, but would be nice if there was an easier solution for separating unity and obi collisions on rigidbodies.
Hi,
Tried out your mesh, I've recorded a video with my setup:
Things to watch out for:
- The distance field preview uses ray marching trough a (finite resolution) 3d texture, not the actual ASDF tree data. So it might not capture very thin features even though the distance field accounts for them. This is the case with the bowl's walls, they don't show up in the preview unless you use a extremely small error value. However the field will be accurate enough for collision detection way before these thin walls show up in the preview.
- Wall thickness: the bowl's walls are quite thin and at this tiny scale, it's easy to get tunneling. Slightly increasing the ObiCollider's thickness value will offset the distance field a bit, enough to improve robustness.
- Relative mass: If the fluid is much denser than the bowl, particles will go right trough it. I believe this is the issue in your case. All iterative physics engines have trouble with large mass ratios, and Unity's is no exception to this (try placing a 1000 kg rigidbody on top of a 1kg rigidbody to see what I mean). You can set the fluid's density in the emitter blueprint. The default is 1000 kg/m3, for a 1 kg bowl I used 10 kg/m3 which results in lighter fluid.
let me know if I can be of further help,