Object Emerging/Rising From Water
Hi, I am trying to animate an animal (alligator) rising from under water, so I need a) a splash and b) water particles dripping off his head. Any direction you might suggest? I am using R14. Thank you!
Depending on realism level you can easily use the meta blobs in C4D to simulate a splash and drips. Use a standard emitter or TP to emit particles (but no geometry) and then attach the metablobs object to that emission. As the generated spheres get close, they coalesce just like water does. A good transparent shader with the index of refraction set to 1.3 and reflections of the environment will sell it pretty well. Motion blur is key here too.
For the water dripping its best to use TP and have a surface position set by the Surface Position node and the SetData node or use mograph. Its usually best to animate the effectors (to make the water appear to roll down the surface) manually or animate the position offset of the surface position node manually.
You can of course use Xparticles or Real Flo to take it to the nth with photorealistic results but both of these are expensive (and worth it) but for these kinds of quick things you can usually do it natively. I'll bet in the end, the C4D water will look more real than the alligator.
Hi Steve, thank you for the comment. As I am a novice, I need some time to decipher some of your suggestions. My guess is TP stands for Thinking Particles? Not sure what metablobs are. I found these two tutorials
and will try to combine them with your suggestions.
They give the idea of how I can go about water dripping off the body, Still looking for the rising from the water part.
but they are using RealFlow ☹
Thank you so much!
If you look in the Content browser of C4D you will find a preset under TP for water on a surface.
That will just generate the "points" of particles so you have to give the emitter an object to emit. For Metablobs you need a polygon with one point to be used as the particle object. (we used to be able to use the empty poly object but that doesn't seem to work any more.)
To make a poly with one point, add a poly object, make it editable, move the center axis to one of the point positions, then delete all the other points. Now you have a single point with the axis at its center.
Play with that project to get a feel for how Expresso and TP works.
Because you have R14 I can't send you a file (I'm on R19). So I'll describe the set up for a simple splash.
Start a new project
Make a tube. Make it editable. Remove all the bottom points so you have a flat disk with a hole in it. This tube will be the ring of water that erupts during the splash so set the wall thickness appropriately for your splash size.
Make a null.
Add an expresso tag to the null. In the expresso window right click and pick from the list to add the following: TP PMatter Waves node, add a PGroup node, add a pShape node, add a Constant node add a PPass node, add a Pgravity node. You can arrange them as needed at any time.
Anytime you click on a node you can see its attributes and slots to drag things to in the attributes menu. You can also click on the top right and top left (blue and red) boxes in each node to add ports to either the input or output side - the ports available are listed when you click. The ports will show up along the side once you select them (you may have to make the node bigger to see them all)
( a little note here - when I say "drag", select a node in the expresso window first and then you drag an object from the object list to the attributes panel of whatever node is selected. For Connecting, you drag the output of one node's port to the input port of another node in the expresso window - it will connect with a little "wire". Outputs on nodes are always on the right, inputs on the left)
Connect the Constant output to the Rate input on the PMatterWave node. Set the Constant nodes value to 500. (there is a bug in some versions - normally you can set this in the pMatterwave node without connecting a Constant node but this Constant technique is much safer)
Connect the PPass Particle output to the Particle input on the Pshape node
Connect the particle output on the PmatterWave to the particle input of the Pgroup node.
Don't connect the gravity just yet.
Add a Particle geometry object from the simulation menu.
Click the Custom menu in the Xpresso window and select Thinking Particle settings. That will open a little panel. Select the particle geometry object in the object list and drag the "All" word from the TP settings you just opened (just below particle groups) to the particle group slot in the particle geometry object's attributes. Do the same for the PGroup node and the PPass node.
The idea here is that you are outputting the particle from the Pmatter emitter into a container called pGroup and the name of that container inside the Pgroup is "all". Then you feed the pShape node and the Pgroup node and the particle geometry object a link from that container.
TP goes through each particle it finds in that container and decides where to send it and what to do with it.
Add a metaball object from the Modelling menu.
Add a polygon object and make it a single point as outlined above.
Select the Pshape node and drag the single point polygon into the slot that says Object.
In the PmatterWave attributes set the Birth type to Rate, set the speed to 600 and set the speed variation to a random amount (the higher the number the wider range of different speeds you will get, to a max of twice the set speed). Set the direction variation to 50 - this makes the splash have a v shape - it varies the angle the particles emit at.
Drag the tube object to the Object slot in the Pmatter waves node.
Rewind you time line and hit play. You will see little crosses leap out from the tube traveling upward and spreading out.
Make a key frame on the constant node value at frame 5. Then at frame 15 set the value to 0 and keyframe again.
This will start the spray of particles at 500 points that will taper off after frame 5.
Adjust the speed in the PMatter waves node and angle, and the Constant node values until you have the kind of spray you want.
You can connect the output of the PPass node to the particle input of the gravity node (we're sending the particles in the "All" container we want gravity to affect to the gravity node). Add an object to the scene (any object). Make its z axis point down. Now drag this object to the Gravity node's object slot. This object tells gravity which way to move. Set the gravity node strength to 300.
Play with this number and the speed to get the look you want for the splash spray.
Set the Metaball Hull value to 500 and the editor Subdivisions to 50. Go to frame zero and make the particle geometry object a child of the metaball object. Turn the exponential fall off to ON in the metaball attributes.
Hit play. Play with the setting in the metaball object to get the look you want.
The hull value: small numbers make smaller more distinct blobs and the points that generate these blobs have to be closer together to coalesce. Larger numbers make the blobs join easier and at farther distances but you get a rather indistinct giant blob. Its tricky.
The smaller the editor subdivision number the smoother the blobs will be. The lower the number the more processor intensive it is. There is a render subd number so that you can rough it out in the editor and then when you hit render it uses a smaller number to divide up the blobs smoothly but it can take lots of time to render.
Make the tube invisible to the render (bottom stop light on its object)
Let me know if I've missed anything. I can read your project and let you know if you've done something wrong or suggest better settings.
Thank you so much for taking time and making this, actually, an instruction! I will go through it and will try to follow it. Best!