Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Metaball Effects ?
#1
Hello 

I am using unity to create a 360 spherical VR movie (rendered frames). I need a metaball / blobmesh like effect where spheres of fluid emerge from a wall of fluid. The spheres that have emerged are captured by animated characters and hauled away. Does this sound like a job for Obi fluid ? I am imagining constraining the fluid particles to an object that I can animate to guide the motion of the blobs so I can then link to the characters. I have only a few hours in with Obi so far and see some very nice results. If some one could suggest a workflow or tell me that this isn't the right tool. That would be incredibly helpful. Also can the fluid renderer cast shadows?

Cheers

Ca935
Reply
#2
(24-12-2017, 12:01 AM)Ca935 Wrote: Hello 

I am using unity to create a 360 spherical VR movie (rendered frames). I need a metaball / blobmesh like effect where spheres of fluid emerge from a wall of fluid. The spheres that have emerged are captured by animated characters and hauled away. Does this sound like a job for Obi fluid ? I am imagining constraining the fluid particles to an object that I can animate to guide the motion of the blobs so I can then link to the characters. I have only a few hours in with Obi so far and see some very nice results. If some one could suggest a workflow or tell me that this isn't the right tool. That would be incredibly helpful. Also can the fluid renderer cast shadows?

Cheers

Ca935

Hi!

If I had to tackle this very same project, I would not use Obi. It has several drawbacks, specially when paired with VR.

First of all, based on your description it seems like fluid physics aren't needed at all. No need for constant density, pressure forces, viscosity, vorticity, or anything. 90% of Obi's performance impact is due to these calculations, which means that by using a fluid simulator for this you're wasting away a lot of performance.

Second point is that Obi uses a screen-space approach to render the fluid surface. This is very fast when you have lots of "spheres" that need to merge with each other (hundreds, even thousands of them). However, being a screen-space method, you need to render it twice (once per eye) if used in VR. Cannot benefit from single-pass stereo.

IMHO, the right approach for your project would be to use the classic marching cubes algorithm, à la Portal 2 mobility gels. This is much simpler, faster (specially for VR) and does not involve fluid physics. You can try it on the CPU, but depending on your needs a GPU implementation might be best. Quick googling:
https://github.com/dario-zubovic/metaballs

cheers!Sonrisa
Reply