Real Flow Tutorials

Write an online tutorial of some feature of Real Flow 4 that you like or were suprised by.

Write the tutorial on this Symphonic Energy site using the webapge generation system here: Add Page And the instructions described here: Tutorial Instructions

Due: April 12, 2007

Creating an underwater wake - Mike Boden

In this tutorial we are going to use Realflow 4 to create a simple animated object that interacts with a wave using Realwave and creates a wake.

1. Once Realflow is open, create a Realwave surface.
2. Then select the import object menu and scroll down and choose Rocket.
3. With the Rocket selected rotate the rocket to be parallel with the Realwave plane. I used (0,-90,90) because it let the fin of the rocket to be point up.
4. Once the Rocket is parallel, position the Rocket below and outside of the Realwave plane. I placed my rocket at (0.0,-1.0,5.0)
5. Now with your Rocket located in the correct position and rotation. Go to frame 1 or 0 and set a key frame on the Rocket x,y,z position. You can do this by going to the object‘s node Tab and holding RMB (right mouse button) over the position tab and selecting add key.
6. After you have set the first key to you object go to frame 60 and move the rocket to the other side of the Realwave plane. Then go ahead and set the key frames for x,y,z again. When you finish test your animation by scrubbing the timeline or pressing space bar to play the animation. Your rocket should move underneath the water.
7. You‘ll notice when you play the animation the wave does not interact with the object, that’s because we have not yet press simulate. Go ahead at frame 0 press simulate, you will now notice that your animated rocket creates a very small wake.
8. To change the wake size create by an object from under a wave go to the objects Realwave tab. (This is only created if a Realwave Surface is in the scene.) In real wave options scroll down to the Depth Effect option and change the value from its default of 1.0 to a value above 1.5. The higher the value the more pronounce the effect is. Values in this set up, above value of 4 are not really noticeable in how the object reacts the wave.
9. This step is optional. Mouse over the Realwave node and RMB and select > Add Wave > Fractal. This place a default fractal pattern of movement ot the wave. Go back to frame 0 and Reset the simulation and re-simulate. Notice now with the moving water the wake changes. Go ahead and select the fractal and change the weight to 0.5 and the height to 0.25. Then select the rocket and change the Depth Effect to 3.

So this concludes how to create an underwater wake. Hope you had fun. Go ahead and play with different value to see what effects you a can get.

Cube turning dust in the wind - Ricky Lui

Description: Have the cube break up into dust pieces and blow in the wind.

First off, create a cube in the scene.
[click on the Object button > cube]
I’m going to scale down the cube to .5 ( this way I can simulated faster) But you can scale it the way you wanted.

Now we are going to fill the box with particles. So go to [Add emitter button> fill object]
As you can see there is no particles fill in the cube. It is because Realflow doesn’t know what objects to assign it to.

So let,s go ahead and fill the cube. (1) Select the Fill_Object in the nodes window. (2) Now scroll down the Fill object Node Params until you see fill object tab.

Next to object column you will see -. (3)

Click the - and then a window will pop up
Now select the object that you want to be filled, In this case: Cube01. Then hit Ok.

Again no particles were filled in the box. (don’t freak out).
Under Fill object you will see Fill Volume and default is set to No. Set it to yes.

Now you see particles fill in the box. *rotate around the box and you can see the particles are perfectly uniform.

Lets us add more particles in the box. Scroll up to the Particles. And let’s change the resolution to 50. (again you want to experiment your resolution preference)

As you can see the particles are everywhere in your cube. The reason why it is like that is because of the density with the particles. As of right default is 1000.0, so lets drop the density down to 10.0 (again you want to experiment your density preference, remember you want to make it uniform)

So I got mine to:
Resolution: 50
Density: 10

Now we got the cube filled the way we like it. Let set it as the initial State.
In the fill object node params…

>Turn Initial State to Yes
>make initial State
> and reset button> Reset to initial State ( make sure that is check)

Let’s go ahead and turn the cube visible off,
Cube node params> Display> Visible> No

Time to add daemon to affect the particles, Click the daemon button > Select wind

*try a simulation to see how it affects the particles. As you can see the particles is not blowing into space. It seems it want to stay in the cube.

The reason why it not moving into space, by default particle type is set to liquid. Let’s change the type to dumb. The Reason why we want dumb is because we don’t want the particles acting with on another.

So Select Wind in the node window> go to its node params.> wind tab>
Turn on bounded to YES.
The reason why I wanted to bound because I want to only affect the cube.

Let’s make the boundary cover the cube
under the wind tab…
we need change @radius 1 and 2

Here is what input ( again your preference)
@radius 1 = .8
@radius 2 = .8

*I want to note the green arrow indicates the direction of the wind

So I’m going to rotate in the X axis to 90 degrees

Now do a simulation. As you can see it the wind is blowing a good chuck of cube particles.

But in my case I want the particles to break from top to bottom.

To do that, key

>Rotate the wind slightly up
> Key Frame the wind Y position.
In my case,

Frame 0= 1.14
Frame 30 = .260
(again experiment to your liking)

NOTE:
*if you want your particles to move faster increase the strength
*still figuring out how to randomize direction of the particles

How to rig and implement rigid bodies in realflow. -Sheldon Serrao

How to rig and implement rigid bodies in realflow.






Before I begin with this tutorial, I would like to take the time to talk about rigid bodies in general. Rigid bodies in computer graphics is an implementation of an ideal solid body with known mass that obeys the basic laws of physics, with the one exception that they never deform. To implement a good and simple rigid body simulation, it is essential to realize space. There are two kinds of spaces in general; world and local spaces. A good rigid body simulation will have all bodies in the world space transformation.
Another word I want to throw out there is transformation matrix. A transformation matrix is a simple 4x4 matrix that encompasses translation, rotation and scale. The internet is filled with good explanation of how to work with the transformation matrix and worth the read for the curious.
Rigid bodies in realflow are different in the sense we bring geometry into realflow from other softwares like maya. So that means realflow has no sense on the space you set the geometry up other than the exported transformation matrix that is in the sd or obj file.
And since realflow hasn’t implemented grouping, the geometry you import is never in groups as you neatly set in maya. Realflow will assume that this transform matrix to be the world space of the geometry. Realflow is also kind enough to determine the mass of the object based on the bounding box, which is nice because we can freeze the scale to 1 in maya.
I will also use the abbreviation rbd which is short for rigid body dynamics.
So now we got all that out of the way let us begin.

In maya I have modeled this very simple scaffold.

A couple of things to note:
1) all the pieces have a xforms relative to world. A quick test is to select all the pieces and set their xform to 0 0 0 and you would get this:

2) I like to keep things organized in the scene, since I might have more than one scaffold, it is essential to group and name stuff. This helps so that when you import them into realflow they can be easily grouped and makes good workflow. Never forget, we do not want to do any transformation on the groups since these transforms don’t automatically flow into the sub pieces in maya and we would need to write a mel script to do that.

Now we triangulate the geometry and export them realflow


As you have noticed I have grouped my geometries and have removed all the global geometries which get appended to by default.


Here I set all the geometries to sd-> curve so that I can change the transformation if I never need to. You can select all of them and hit the button and realflow does for all which is really nice.


I also use the same technique to set them all to rigid body and dyn motion to yes. Setting Dyn motion attribute to yes, tells realflow that these geometries are active rigid bodies. I have also left all the geometries to use the default box shape because of the shape of the shape and speed increase in calculating the dynamics.


I wanted to set those side support geometries to mesh because it had this sort of bowing and I wanted the support plants to lie nicely on them.


I also set the base to passive by setting the dyn motion to No.


As you can see, I have simmed my rbd geometry by adding a gravity daemon. Notice my global links. Because I have grouped it, I have a very neat connection. Also, since I have set my base foundation to a passive rbd, all the above geometries fall neatly on it.

This is nice that the rigid bodies are moving the right way and working as expected. But this isn’t a scaffold we want. We want a rig such that it will be a scaffold and when something hits it, it will fall apart. To do this, we need to add a sort of “glue” that will hold all the pieces together. This glue in realflow is called the fixed constraint.


The fixed constraint is a constraint that will hold two pieces of rigid bodies together till some external force can break it apart.


When you add a fixed constraint you will need to tell it what is the parent and the child.

Because of the amount of constraints, I decided to write a small batch python script that I will upload along with this tutorial. The usage is simple, select the child and select the parent you want to constrain it to and run the batch script. This really is quick and you do not need to worry about running it multiple times on the similar selection since it does naming and has checks.

I then go one by one and setting the fixed constraints. As you can see how easy it becomes, I select the child then the parent and run the script and it does the rest for me.

Once you are done you will notice that all the constrains are positioned at 0 0 0 in the world. And if you check the transformation matrix, you will see they have some values in them. After many hours of debugging why my sim wasn’t working correctly in realflow I realized that you need to reset the xforms of all the constraints to 0 0 0.


So select all the fixed constrains and set them to 0 0 0 and voila! They move to the correct positions and now you are ready to sim.

Here is a small test as you can see frame 87 and still holding… and oh my! It looks like a scaffold just begging to be broken down!

I added a simple plane for the ground and since it is going to be passive set the dyn motion to No and also set the primitive type to Plane.

I then added a rocket geometry and set its primitive type to mesh. Since it is going to be animated I set its dyn motion to No as well. I made a simple animation and let it run.

As you can see the constraint is working nicely, in fact too nicely that it doesn’t want to let go. This is because we haven’t told the fixed constraints to break off when a force is above a certain value.
So select all your constraints and activate the Breakable Force variable to Yes and experiment with the @Force variable to a sweet spot so that the whole scaffold balances out. I have found 400 to be a good force amount in my situation.

A small problem to watch out for is that realflow doesn’t reset your Child geometry in the constrain.
This is a problem because if we re sim, then that constrain will not work correctly and it will seem the geometry has no constrain.


Luckily realflow does highlight that child when you try to reconnect so simply hit the dash(-) and press enter and realflow will reset the children.


Once you are done balancing its time to let the rocket do its damage.

The simulation worked as expected and the constraints broke when needed.
To quickly recap on essential points:
1) keep all geometries in world space.
2) group and keep the hierarchy neat.
3) use fixed constraints to act as a glue.
4) balance the rig and test to see if it will stand before you break it in a simulation.
5) realflow somehow breaks the connection of the child in the fixed constraint so don’t forget to reconnect.
I hope this tutorial helped you as much as I have enjoyed making it.

LogoSplash - Rob Lariz

Tutorial by Robert lariz
Title: Logo Splash

Attached word file has tutorial. You need to login to be able to download it.

Parameter illustration -Jayanti Mahapatra

The following parameters of the Metaballs type of Mesh are illustrated in this tutorial:
1.Radius
2.Blend factor
3.Steps
4.Relaxation

1.Radius:
[G2:2431 n=1]
Radius is under the Field attribute. It controls the radius of the metaballs for each particle. A high and low value of the radius gives the following results:
[G2:2410 n=1] Radius = 0.04 (default)

[G2:2434 n=1] Radius = 0.02 (low value)

[G2:2416 n=1] Radius = 0.1 (high value)

2.Blend factor:
[G2:2428 n=1]
Blend factor is under the Field attribute. Blend factor controls the strength of fusion between particles. A high and low value gives the following results:
[G2:2419 n=1] Blend factor = 95 (default)

[G2:2455 n=1] Blend factor = 20 (low value)
[G2:2425 n=1] Blend factor = 120 (high value)

3. Steps:
[G2:2452 n=1]
Steps is under the Filter attribute. The Filter method should be set to yes to activate Steps. Steps set the filter’s iterations. A high and low value of Steps gives the following results:
[G2:2437 n=1] Steps = 64 (default)

[G2:2440 n=1] Steps = 20 (low value)

[G2:2443 n=1] Steps = 120 (high value)

4. Relaxation:
[G2:2458 n=1]
Relaxation is under the Filter attribute. Filter method should be set to yes to activate Relaxation. Relaxation sharpens the edge of the mesh. A high and low value of Relaxation gives the following results:

[G2:2446 n=1] Relaxation = 0.1 (default)

[G2:2450 n=1] Relaxation = 1.0 (high value)

[G2:2448 n=1] Relaxation = 0.01 (low value)

Note: The scene scale of the above illustration is 1.00.

Psychedelic -Victor Wagner

Psychedelic

In this tutorial i am going to make a strange object that are growing from a little ball to an organic moving thing. It’s pretty simple, but its looks good. I am using a Noise field to make the particle follow a path; this makes it look like they are growing.

Here is the link to the Tutorial.

Or the images below
[G2:2387 n=1 class=nowrap size=1024][G2:2390 n=1][G2:2392 n=1][G2:2394 n=1][G2:2396 n=1][G2:2398 n=1][G2:2400 n=1][G2:2402 n=1][G2:2404 n=1]

Real Flow 4 - Large Spill Techniques - Richard Sutherland

http://SuperMegaMulti.com/RF4Tutorial

This is less of a tutorial and more of a brain dump of some of the things I have learned over the past couple of weeks working on the large spill project. It coveres what I have come to think of as some production ready techniques for getting bits and pieces of a large spill up and running.

COVERS:
-Simulation optimization
-Main Water Generation
-Spray
-Foam
-Rigid Bodies
-Debris

RealFlow -> Houdini: Retiming simulations with Houdini -Stephen Gustafson

This is the tutorial I put together for the class. It covers a technique for retiming simulations in Houdini, essentially be creating new sub-frame data. As I go through the tutorial, I show a 30-frame RealFlow simulation retimed to 240 frames.
The tutorial does require some previous knowledge of both Houdini and RealFlow, but it really doesn't get too deep into the Houdini side of things. It also includes two rather useful HDAs to aid in the process of importing RealFlow data into Houdini. One of these is a finished example of the tutorial, so even if you can't figure out how to do the tutorial, you can at least get a useful tool out of it.

Waterfall -Anumati Kandari

Creating a waterfall using object emitter

In this Real Flow tutorial we will create waterfall using an object emitter. Now before starting the tutorial let me explain what an object emitter does.

Object emitter emits particles from the selected faces or vertices of an object. You can also use a texture to emit particles from an object in a particular shape. But to do that the texture applied to the object must be in black and white color, being black non emission area and only objects from an .sd file will have the ability to emit particles from textured object.

Note: The emission is made per polygons, if those polygons are nor big enough for the current resolution, it won’t emit.

When this happens, use the global scale to increase the size of the objects or increase the fluid's resolution.

To create a waterfall first we will make the surface which will be used to emit particles in real flow. So for that we will create a poly plane in Maya. Triangulate the plane and export it as an .Obj file.

Note: That you have enough faces and vertices to emit particles from the plane.

Now import this .OBJ file in real flow and add an object emitter.

Now that we have added the object emitter. Let’s simulate and see what happens. Well as you can see in the image below. There are no particles emitting from the object.

So in order to get particles emitted from this object select object emitter under Nodes.

Then click on blank right in front of Object under Nodes Params – object emitter.

A select element window will pop up showing the plane object. Select plane and hit Ok.

You will see the plane in front the object under Nodes Params – object emitter. Let’s move the plane up in Y axes, to give some height for the water to fall down.

Now click on the simulate button ones again to check what happens.

Even now we don’t see any particles coming out of the object. That’s because the resolution for particles is very low. So lets set it to something like 200.0 and let’s also set the viscosity to 1.0 because water is not very thick or viscous.

So let’s go to Node Params and change the resolution and viscosity under particles.

Now if you will simulate you can see a bunch of particles coming out of the plane.

So now when we can see the particles lets make them fall down by adding some gravity. Click on the daemon button right next to emitter button and click on gravity.

But again if you will simulate one more time you will see that even after adding gravity still the particles are moving upwards instead of falling down.

So let’s change the strength of gravity from its default value of 9.8 to something like 50.0. You can do that by selecting gravity in your scene window or nodes window. Then go to the Node Params window then change the value in front of Strength under gravity.

Let’s simulate one more time and you will see that the water is falling down.

But if you will notice closely that there is some distance in between particles and the plane. To correct that lets change the parent velocity to 50.0.

And also change some more parameters to give our waterfall a more natural effect. Change the value of Jittering to 0.2 and Randomness to 2.0 under object emitter in nodes params window.

We also want our waterfall to fall down in one direction, so let’s add the wind daemon it’s below the gravity daemon.

Move the wind daemon up in y near the plane and rotate in Z around -25 degrees.

And let’s simulate to see the effect.

If you look carefully around the edges of the plane some particles are still falling down from other three sides of the plane to avoided that we will select the vertices to define the area from where the particles will emit and also use the K Volume daemon.

So by defining particle emitting area and adding K Volume daemon we will not only improve our project but it will also help use in saving some simulation time.

To define the area for particles to emit we will select the vertices of the plane.

To select vertices of the plane select the object emitter then go to object emitter’s properties and click on select vertex.

Then drag the mouse with the Shift key pressed to select vertices. All the selected vertices will turn yellow like in the next image. Leaving the three edges of the plane unselected.

Now add the K volume daemon this demon can be used as crop tool. We will use k volume daemon to keep particle flow in a particular area.

Note: K Volume daemon looks like a cube and can be moved, rotated and scaled.

Place and scale the k volume daemon so that all the three edges of the plane are slightly outside the covering area of this daemon.

And here is the end result. You can also add a plane at he bottom to give a base to your water fall.

Note: All given values are based on scene scale.