1
$\begingroup$

I'm trying to do a "melting object" effect using fluid simulation (in 2.77a), but I'm having trouble doing a smooth transition. My brute-force approach is to use keyframes to turn the visibility of the original object & fluid off and on (respectively). The trouble is, the first frame of the fluid has flowed more than it should have, compared to subsequent frames, so the transition from object to fluid is very abrupt. I double-checked that the simulation start time is 0, and played around with the settings. The only thing that helps is increasing the resolution, but I'm already up to what my computer can reasonably do.

Has anyone else seen this? Any tricks for getting around it? I checked various fluid tutorials, but I didn't see this problem covered. Thanks.

[Updates] Below are frames 23-25 (24 is the first frame of the simulation). Note that 24 has already "melted" quite a bit, but there's almost no difference in 25. The file is currently available at http://www.pasteall.org/blend/42419.

Frame 23Frame 24Frame 25

$\endgroup$
2
  • $\begingroup$ Can you upload a screenshot of what you're seeing? That might help us diagnose what's going on. $\endgroup$
    – Matt
    Commented Jun 16, 2016 at 21:41
  • $\begingroup$ Added to OP (I didn't realize I could upload images; I figured I had to find a site to store them on). I can upload the blend file also, if there's a place to upload it to. $\endgroup$
    – Jabberwock
    Commented Jun 16, 2016 at 22:10

2 Answers 2

1
$\begingroup$

Thanks to @Jbergman for the answer (see comments for additional details).

The main problem was that I had a concave "saucer" obstacle under the fluid, hoping that it would keep the fluid from pooling against the sides of the domain. The fluid wasn't technically touching the saucer mesh, but I had the saucer's Volume Initialization set to Volume. This caused the simulator to include the concave volume in the obstacle. Setting it to Shell fixed it (using a closed mesh as the obstacle may have fixed it also, but I didn't try this). [Since the saucer was invisible, no one could have found the problem without the original blend file; sorry about that.]

A few other points that he reminded me of:

  1. The domain was much bigger than it needed to be. Making it smaller allowed me to use a higher resolution.
  2. I didn't apply the scale to the domain; apparently this can cause other odd behavior.
  3. The resolution is going to limit how close the first frame looks to the original mesh. It's close enough now that I can just copy the first frame of the domain mesh and use it for the first 24 animation frames, instead of the original mesh. If I was really ambitious, I think could edit this domain copy to look more like the original and use shape keys for a smooth pre-sim transition, as discussed in the comments.

Below is how the first frame looks now:

enter image description here

$\endgroup$
0
$\begingroup$

My first solution would be to make another mesh that (for one frame) matches the fluid exactly.

To do this, duplicate your fluid mesh. Then go to the first point where the jump happens. Then "Apply as shape key" on on that frame, but only for one of those meshes (but not the other).

This gives you a known-good place where you know that one mesh is exactly the same as the other.

Then, you can then animate the influence of the shapekey to g from zero to 1 at the point where the other fluid "jumps." This is basically working backward from the "jump." The shapekey will be 1 where you transition from the non-simulated fluid to the simulated fluid.

You'll also have to animate the "Renderability" of the two meshes, so that one renders at first but not the other, and then the first mesh turns "invisible" (renderability turns off) at exactly the same time as the sim becomes visible (renderability turns on). I'll try to do up an example when I get home.

$\endgroup$
9
  • $\begingroup$ I tried something similar. But remember, it's not the original mesh that's being melted. If there's a way to transfer from the first frame of the domain mesh to a shape key on the original mesh, that would work. But the meshes are completely different at the vertex level. Shrink-wrapping the melt copy to the original mesh almost worked. But parts had already merged together, so it would have taken some manual editing. $\endgroup$
    – Jabberwock
    Commented Jun 16, 2016 at 22:13
  • $\begingroup$ Yeah, I'd forgotten about that part. I've seen this done before... now I'm really curious how other folks have done it... $\endgroup$
    – Matt
    Commented Jun 17, 2016 at 12:55
  • $\begingroup$ You don't need the original mesh though, once the fluid sim has baked. Replace it with a duplicate of the fluid mesh, with the fluid applied on the first frame of animation. $\endgroup$
    – Jbergman
    Commented Jun 18, 2016 at 11:32
  • $\begingroup$ @Jbergman, I don't understand. How do I make the duplicate look like the original mesh before the first frame of animation? $\endgroup$
    – Jabberwock
    Commented Jun 18, 2016 at 12:48
  • $\begingroup$ Well, the first frame of the animation should be quite close in appearance to the text object. It is strange that "melting" appears to already have started. If you could upload the blend file I could easier check it out. $\endgroup$
    – Jbergman
    Commented Jun 18, 2016 at 20:57

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .