FLIP - Initial Velocity Protrusion on Frame 1

   4291   5   1
User Avatar
Member
240 posts
Joined: April 2014
Offline
I have a sphere emitting a FLIP liquid, emulating water pouring of out of container. Since I want the fluid to pour out at an angle/arc, I give it a high initial velocity.

However, this initial velocity causes a group of particles to be emitted on frame 1 that aren't effected by gravity - they create a blob/protrusion right out of the emitter source. As I emit further frames, this blob travels down with the rest of the liquid that's emitted, creating a visually unpleasant shape for that initial plop of liquid to hit the glass.

How would I go about removing that blob/shape?

- If you keyframe the velocity, starting off at zero and ramping up to your desired amount, it results in the first bit of liquid dripping, leaking out, and falling straight down before the velocity kicks in and puts the rest at full pressure; this also looks poor. Men, you've probably experienced this firsthand.

- I've tried keyframing the source scale; but if it's too small (size zero) the source volume doesn't appear to initialize, and even if you keyframe it upwards in size afterwards, you get no emission during the rest of the sim (not sure if this is a bug). If you just keep the volume “very very small”, you're still left with the same problem - just a smaller blob instead of a larger one.

- You could run the entire sim, then delete the offending particles afterwards in SOPs by using their age, but this is often doesn't give the level of precision needed, and will often leave an undesired & unnatural shape to the mesh in the region where the particles were.

Thoughts?

Thanks!
Luke

Attachments:
InitialVelocity.hiplc (1.7 MB)
Frame 10.jpg (35.6 KB)
Frame 1.jpg (28.0 KB)

User Avatar
Member
19 posts
Joined: June 2015
Offline
Hi there,

- One quick thing you could try is to add animated noise to the initial velocity and source volume. If you're using a Fluid Source SOP (default if you use the shelf tools), you'll see a couple of Noise sub-tabs in the Scalar and Velocity Volumes tabs.

- You may want to try using points instead of volumes as your emission source. In SOPs, try a scatter node, and animate the total count (try ‘100*rand($FF*123)’ or something), add an attrib wrangle to set your velocity ('@v = {-10, 0, 0};' for instance), and then add a group SOP, placing all your points in the ‘particles’ group. You'll get a sparser distribution of initial points. You can also try jittering the velocity a tad.

- You can try deforming your emitter shape on the first frame, to art-direct the distribution of emission on the first frame.

Just a few ideas off the top of my head, but I think any / all of them would help.
User Avatar
Member
240 posts
Joined: April 2014
Offline
Hey Zack,

Thanks for sending along those great suggestions! They're quite helpful in creating some improved shapes for the primary body of the emission.

However, they don't seem to solve the problem at hand - as the initial protrusion is still present and pointing in one primary direction - just a bit more scattered.

It's as if gravity isn't being taken into account for the substeps surrounding frame 1. If it were, we'd be seeing a smooth downward arc in those particles.

Attachments:
Protrusion_frame9.jpg (46.7 KB)
Protrusion_frame_1.jpg (25.2 KB)

User Avatar
Member
46 posts
Joined: April 2020
Offline
I know this is a few years old thread but I have the same problem and have been messing around for hours trying to fix it.

Does anyone know how you can give a flip sim an initial velocity without it pre moving the particles to that velocity?

Thanks.
User Avatar
Member
46 posts
Joined: April 2020
Offline
A guy on the houdini discord solved this for me.
What you are supposed to do is keyframe the initial velocity to zero then ramp it up to the velocity you want over the course of a few frames.
User Avatar
Member
31 posts
Joined: Feb. 2018
Offline
SB26
Just came by in 2023, then leave here a solution for any wizard/magician/sorcerer future search
Do a fit by speed on some of those frames for blending velocity initial:

//blending velocity
v@v *=fit(length(v@v),1010, 1013, 0, 1);
  • Quick Links