4
$\begingroup$

What I want to do is, instead of using water with water simulation, I want to make lots of cubes flow like water (like the water simulation does with the mesh). Remesh won't work, because I want to be able to edit the cubes afterwards to make some of them different.

$\endgroup$
6
$\begingroup$

You can approach it like this:

  1. Make simple fluid sim, low resolution will be enough:

    enter image description here

  2. Create a plane and subdivide to get your blocks "resolution", position it very high above the water. Add Shrinkwrap modifier to project it onto the simulation:

    enter image description here

  3. Parent a little cube under the plane and set dupli verts:

    enter image description here

  4. Render it with plane transparent:

    enter image description here

  5. Add an ground plane and make column of little cubes from just 1 little cube (to fill holes in water):

    enter image description here

  6. As this is based on a voxel simulation you don't get data how the cubes move inside the volume (or on the surface), they are just stationary. To do that you would have to base it from particles. Thats for another approach, this is super fast to setup and simulate.

$\endgroup$
  • $\begingroup$ Thank you! I am definitely going to try this. May I ask how you set up your fluid simulation to make it have waves like that? I cannot figure out how (I know it's a bit off-topic). $\endgroup$ – rioforce Feb 22 '15 at 3:15
  • $\begingroup$ @rioforce The simulation has default values, on one side of the domain box I have an inflow object with animated Enable attribute so it does "produce" fluid only for the first halve of animation and with Inflow Velocity aiming into the box. $\endgroup$ – Jaroslav Jerryno Novotny Feb 22 '15 at 9:59
4
$\begingroup$

If i understood your question correctly, you can use the particles engine with dupli-object to simulate a flow of cubes.

Fluid Particles are explained in the Blender manual here.

enter image description here

Check out the sample file I put together.

$\endgroup$
  • $\begingroup$ Thanks for that, it worked well. The only problem is that the cubes are intersecting with each other. I looked around, and is there any way to make them where they will collide with each other? $\endgroup$ – rioforce Mar 3 '14 at 1:01
  • $\begingroup$ I don't really know much about this, but you could try investigatin about "rigid bodies"? $\endgroup$ – invicente Apr 24 '14 at 15:01
3
$\begingroup$

Finally a solution to this has been found. Mike Pan's solution was great, but another method is here. I found this on Blender Nation:

http://www.blendernation.com/2015/02/12/lego-fluid-effect/

More details:

The process is to do a standard fluid sim, add a remesh modifier set to 'blocks' and then turn on dupliverts for the fluid object (and parenting a 'brick' object to the fluid). That's basically it! Dupliverts gives great performance and remesh allows lower or higher resolution fluid depending on it's resolution. The material is just a gradient mapped on the 'brick' which changes colour depending on height.

The actual building effect at the beginning is a particle system and an 'Explode' modifier on a different object. An animated object defines the 'time' of when particles emit and the explode modifier makes sure the particles are invisible until emission (by unchecking 'Unborn' and checking 'Alive' and 'Dead' on the modifier). The reverse happens on the pile of bricks to the side so they disappear as the other ones appear.

If all that sounds confusing, a full tutorial will be up in a few weeks hopefully.

https://www.youtube.com/watch?v=_SU8ISvRn5E

$\endgroup$
  • $\begingroup$ I see you found the answer faster, though I found that sometimes the remesh modifier jumps around and the shrinkwrap is sometimes more stable. $\endgroup$ – Jaroslav Jerryno Novotny Feb 16 '15 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.