WaterBlobs


#1

Hi, gentlemen

Don’t laugh too much the attached image :slight_smile: That’s only a naive try to use the combo particles+blobs (PPBasic + MrBlobby). So, if we use better particles and better blobs, then we’ve a better result? We tried and we think that no. More powerful tools give us more and more options/features and, yes, faster render speed. But IMO principal defects remain same. We could get only “something like water” and only after long, long efforts.

We heard about great RealFlow system but didn’t use it. Maybe water effects should be implemented as a specialized plug-in (hmm… it would be not a cheap plug-in). We see no cons against this opinion. But let’s try to investigate why the posted example is so poor. After all, what’s so bad we do? Are particle emitters suitable to make fountains? We heard that yes. Are metaballs ok to create liquids? Well, at least it’s first what we read about metaballs. We think our problems are:

  1. It would be nice if blob’s shapes would be variable from sphere to prolonged ellipsoid depending from blob’s speed (see “root” of fountain).

  2. It would be nice to have a balance of mass. We know that particle systems are able to generate several child particles when hit/collision happens, but if all children are same blobs as original, the result = absurd

  3. It’s very noticeable that a “standalone” blob-sphere looks ugly and we need rid of it. Increasing count of particles is a very ineffective way, such “brute force” method eats render time but gives a very little progress. We experimented with up to 50K particles but we still have nothing to proud. IMO the right way here is to create 3-4 blobs instead of single one. But it’s possible only if we know “which particle is which”, otherwise our construction of “mini-blobs” will jump in animation from one particle to another.

This list can be enlarged, but it’s already easy to see: we are crashed (see attached image)not because we’ve bad particle/blob systems, but because we’ve no any interaction between them. And IMO this “little” detail would give much more valuable effect instead of improving and improving systems that work “for themselves only”


#2

Hey Igors,

Well, I do use Realflow, however, it doesn’t work with EI for anything but simple scenes (you can bring a simple fountain into EI but you can’t bring fountain water splashing into a pool because it is too complex for the Realflow plug-in/EI). I have a feeling this is down to EI not liking live plug-ins that create a million plus polys, a requirement when you want to do the attached with Realflow).

http://homepage.mac.com/cake_or_death/rfmovie.mov

Anyway, because of this there is still no practical way to do realistic water interaction in EI.

When it comes to simple fountains (what we use the most) the most useful settings I’ve found for getting realistic water (and I am no expert) are:

Emitter settings:
Viscosity of liquid
Resolution (size/number of blobs)
V emission random
H emission random

Blob type:
Liquid (the blobs interact with each other / stick to each other a little)
Dumb (the blobs ignore each other)

Daemons:
Gravity
Wind (with scripting ability, I like to attach a sine wave to the wind).
Age (blobs are deleted after ‘x’ frames).
Noise (fractal wind field to add a small ‘random’ element).
Lonely (any blobs that are too far away from other blobs are deleted).

Blob deformation:
Speed stretching
Speed flattening

All in all, it’s pretty complex!
Ian


#3

Hi, Ian

Yes, as we understand, RF combines particles system and metaballs engine. On this way there are no problems to pass data from one part to another, but IMO this approach is heavy a bit. Why a water plug-in should re-discover a lot of bicyrcles, like “wind”, “gravitacy” etc. etc. if they are 100% traditional options of any partycle system? We think it should be imported (hmmm… like a FACT file :))


#4

That’s a really good idea, but realflow is a stand alone application…

Are you saying that If there were a water plugin for EI you could attach it to… say… a gravity plugin or wind plugin… and the ‘gravity’ plug-in would affect the particles (or any particle plug-in)…

Likewise you could add any object to a ‘wind’ plugin and it would be affected by it?

Very open, very cool :slight_smile:


#5

One major reason your fountain looks unconvincing (shape wise) because you are using a cone as the projection method for the particles. Water doesn’t form a cone when squirted from a nozzle. Is that the tool or the artist? If you were handed the ubernurb modeler (EIM) and were (only after a long time and with much difficulty) able to come up with a human face that was very flawed, does that mean that the tool is useless to model heads with? The answer is of course no, it is a fine tool for head modeling…in skilled hands.

One of the largest problems with using particles/blobby for modeling water is that water always maintains a constant volume particle+blobs does not, so the artist must never allow the appearance of fluid expansion or contraction. Also the breakup of the main stream into tiny particles is also, often problematic. But that is what the skill of the operator (artist) is for the goal is not an accurate scientific simulation of fluids but a pretty (and/or convincing) picture or series of pictures.

It would be great to have better tools… but particle/sphere or particle/blob things done (even years ago) in EI still look fairly impressive even by todays standards.

I think almost all of these were done with the Dante particle generator.

http://www.eridia.com/speciaux_en.html

So, the Artist makes the tool creative, not the other way around


#6

Hi, Ian, William

We are not artists, so we cannot debate this definitely classic sentence :slight_smile:

Your considerations are absolute reasonable, but please agree: an example of head modeling cannot be used/extrapolated for all things. Drop a stone in water and see ripples. Here we can talk only about a tool that makes physically correct ripples or nope. We noticed many times that artistic creativity and physical correctness are going together:)

That’s we talk about

Oh, no, Ian, we are talking about much more simple things: any particle system assigns attributes: speed, mass and particleID (1, 2, 3 in our post) to any generated particle. And nobody interferes (and it’s not a large work) to export them for their further using.


#7

I see… Then, we agree: it is not an easy thing to get realistic fluid effects out of particles/blobby or particles/spheres. It is often very tedious to get the desired result and sometimes the realization falls short of the imagined graphic (though that is so often true of any component in any 3D package;-) Add to that Blobby is in need of a serious overhaul.

Maya’s fluid effects demonstrates that an entirely new approach sometimes works very well (particularly in interaction, efficiency and image detail). Are you talking a completely new approach or a new method or application of particles/blobs?


#8

Hi, William

IMO a water task is near to 50/50. Any fountain needs a lot of particle system options, same as a lot of metaballs options. Our proposition is to make a bridge between EI particle/metaballs systems, now they work not in tact each to another. Say shorter, give us some input data and we return your more intellectual blobs.


#9

Here is an EI water test…

It’s just over one second, I had to manually convert 27 OBJs to Fact to get this to work (using transporter). I got bored with converting… so … 27 frames :slight_smile:

http://homepage.mac.com/cake_or_death/rftest-ei.mov

What makes the water look realistic is seeing the specular break up as the blobs fall over the side of the fountain…

Also, the water splashes into a pool at the bottom and causes ripples (you can only just see this because of the short movie).

Ian


#10

Very nice.

In addition to the specular break up, there is a pulsing, a sort of in and out, expand and contract to the volume of the water stream that gives it a rythmic quality. The particles just flowing over the edge swell, then break and fall, making the volume pull in. The column of water as a whole waves in and out as it falls.

As the particles fall and break up they do so with very realistic density and weight. Looks terrific.

If and when OBJ2FACT becomes available for a PC you can do batch conversions, much easier.


#11

Hi, Ian

Nice movie (even in its sketch variant). But it’s RF, right? So, to create a water we cannot rely on EI plug-ins, we need to use RF (in its “in house” variant :)). Or what? We’ve no idea that “EI water” should be “absolute best in 3D”, we are just looking for a way(s) to make it better as it is now :slight_smile:


#12

Yes, there is no plug-in that can do this in EI. I created that in Realflow, however getting files from realflow into EI is a nightmare.

Batch converting in O2F would be great, BUT, I am told (I don’t have it) that you still have to manually rename each file which means I would have to rename 600 files by hand. No thanks :slight_smile:

If Jens reads this^ Feature request :wink:

In Realflow you create a plane and it places a blob at each normal (higher density mesh, more blobs) then you link the fountain to the plane and then they can interact (create ripples). You can then apply defoms to the plane to create waves etc. I don’t have blobmaker but I’m sure it could get close… Does it do Speed streaching? I don’t think it would take many extra features to get there… Interaction with solid bodies? Okay, that would be VERY hard to impliment :slight_smile:

Splashes are created with particles btw…
Ian


#13

Hi, Ian

As we know, our particle systems have collision detection. But we think it’s untimely yet to talk about interaction with solid bodies if we’ve not more or less accurate simple water jet :slight_smile:


#14

Kill joy :wink:

I am curious, can you share you 50k blob fountain? The biggest attribute when it comes to creating realistic water must be resoluiton (more small blobs). It is certainly so with realflow.

Ian


#15

Hi, Ian

Sorry, but no, a promo of BM features is not a goal of this thread. We can say only there is a little benefit from large muscles without a portion of brain :slight_smile:


#16

Okay, fair enough. Going back to your first post, interaction between particles would be the major missing link. Seeing blobs push each other around (force away from the emitter) does the trick.

Not to talk about BM too much, but in the sample movies it doesn’t seem to have this ability.

Ian


#17

Hi, Ian

Metaballs have only vertices and facets of linked child groups. That’s too few data to organize any pushing :slight_smile:


#18

Maybe I missed something in this discussion but I’ve got a free plugin for importing RealFlow meshes into EI and exporting animation data from EI into RealFlow.

That having been said I’d like to see somebody do something cool in RealFlow and render it in EI with Caustics.


#19

Hey Blair,

Yeap, your great free plug-in does the trick for very simple simulations, but anything complex simply crashes the Plug/EI.

I emailed you an example of this a couple on months ago… I can resend if you want…

Basicly, if you want to have a fountain, that’s fine, but if you want to have a realwave (for a splash or fluid flowing into a pool etc.) then you’re talking over a million polygons per .bin, the plug-in can’t handle this (you just go into a terminal loop/spinning beach ball).

A possible solution is to export .objs from Realflow instead of .bins and convert to .fac and fact cycle in EI, unfortunatly batch conversion from .obj to .fac doens’t exsist in Transporter and isn’t practical in OBJ2FAC (yet!). This would be the prefered method because .bin files don’t contain normals, but once converted to .fac you have normals, so renders are several hundred percent faster.

I’ll do you a movie with caustics this week :wink:
Ian


#20

We talk not about RF but about how to coordinate particles+blobs in EI to make “RF here”. Accurate and step by step (no loud declarations)

FACT FORM linked to particle plug with ‘SETD’
The tags are:

  • ‘SPED’ - speed - 3 floats per point
  • ‘MASS’ - energy - 1 float per point
  • ‘PRID’ - unique ID - 1 ulong per point

That’s enough for our first adagio with blobs