You are on page 1of 17

REALFLOW RENDERKIT IN MAXWELL RENDER

MANUAL VERSION 0.20

“Without the RealFlow RenderKit, we never would have been able to push
the fluid renders to the resolution and quality that we delivered on The
Curious Case of Benjamin Button. The RFRK allowed us to deliver higher
resolution and better-looking CG water than previously possible, and in far
less time than traditional meshes would have required.“

Andy Cochrane – CG Artist, Asylum Visual Effects


1 INTRODUCTION , 3

2 FlowerMesher Overview , 4
2.01 Core/Splash Filter , 10
2.02 Motion Blur , 14
2.03 Normals , 14
2.04 RealWave , 15
2.05 Subdivisions , 16
RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction | 3

1 INTRODUCTION
The RealFlow RenderKit is a set of tools that has been designed to facilitate the complex
task of rendering RealFlow™ fluids. The RenderKit enables you to generate procedural
geometry at render time, in situations where you want a polygonal mesh representation
from your fluid particles. It also provides you with tools for rendering individual fluid
particles. The RenderKit will dramatically simplify and accelerate your workflow.

For the past decade simulation tools like RealFlow™ have been used to achieve realistic
animation of fluids. Thanks to the exponential growth of computation power, these
simulations have become more and more realistic, which has often meant that users have
to deal with ever-increasing numbers of particles.

In a typical RealFlow™ workflow, the user creates a fluid simulation and exports the file
sequences containing the particles which represent the fluid. When it comes to rendering,
users are usually interested in having a polygonal mesh rather than particles. This involves
another step in the workflow, where the polygonal mesh is generated in RealFlow™ and a
sequence of files containing those polygonal meshes is produced.

This extra step in the workflow creates a significant storage restriction for the polygonal
meshes, and yet another problem arises when millions of these particles or vertices have
to be imported into a standard 3D application for rendering. Often these applications
cannot cope with such a vast amount of data.

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 4

2 FLOWMESHER OVERVIEW
Meshing is the internal process by which FlowMesher converts the particles into a mesh
geometry. Various parameters, such as scale, resolution, smoothness, radius and polygon
size are taken into account during the meshing process. To get the perfect look for the
fluid, it is very important to configure these parameters correctly.
For instance, to get a fluid with high/low detail, the resolution, scale or polygonSize
parameters must be configured accordingly. These parameters configure the size of the
polygons that make up the fluid mesh.
Specifying high values for the resolution parameter will give you smaller values for the
polygon size of your mesh and vice versa. It is critical that the scale parameter in the RFRK
is IDENTICAL to the scale value in your scene in RealFlow.

To find the optimal resolution value, you could start by trying with the same value as
your emitter in the RealFlow scene (i.e. FlowMesher resolution = 1.0 x RFemitter). If you
want a more detailed mesh, try something like FlowMesher resolution = 10.0 x RFemitter
(always leaving the scale parameter constant).

Using the resolution and scale parameters is a quick, easy way to configure the level of
detail for the fluid mesh.

1. Scale = 1 (Scale in RF scene); Resolution = 1 (RFemitter = 1) 2. Scale = 1 (Scale in RF scene); Resolution = 1 (RFemitter = 1)

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 5

3. Polygon size = 3 RFemitter = 60 4. Polygon size = 5 RFemitter = 60

1. Scale = 1 (Scale in RF scene) Resolution = 10 (RFemitter = 1) 2. Scale = 1 (Scale in RF scene) Resolution = 12 (RFemitter = 1) Another key aspect involved in the final appearance of the mesh is the level of smoothness
used – i.e. whether you are looking for smooth- or blobby-looking fluid. For this, you will
Alternatively, you can configure the size of the polygons manually by using the polygonSize have to configure the smooth parameter. This parameter tells the algorithm how far it
parameter. (This parameter is also related to the resolution parameter.) To configure this should go to gather environment information to compute a given point of the mesh. The
parameter correctly, start by considering the dimensions of your fluid. This parameter is further the algorithm goes to gather information, the smoother the surface will be. Bear
indicated in world units. If the polygonSize parameter is greater than zero, the scale and in mind that using high values in the smooth parameter will greatly increase computation
resolution parameters will have no effect on the appearance of the mesh. The images below time.
show the effect of changes in polygonSize. If you use a low value for the polygonSize, the
render will be slower because of the resolution increment of polygons in the geometry. Thus, the smooth parameter is the distance of search radius and is related to polygonSize.
For the same value of smooth, this search distance will vary depending on the resolution
you are using (see Figures 1, 2, and 3 for further explanation of this concept).

The best way to get great results is to follow this golden table:

FlowMesher parameters (golden table)

Resolution Smooth
1.0 x resemitter 0.3
10.0 x resemitter 0.5

1. Polygon size = 0.5 RFemitter = 60 2. Polygon size = 1 RFemitter = 60


If you follow this table, the internal smooth distance will be fairly constant:
resemitter = Resolution of RealFlow emitter

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 6

Figure 1 shows how the mesh resolution works with values of 1.0 *RF emitter resolution.
For example, if your emitter has a resolution value of 5, you could use this value in the
RenderKit resolution parameter. Figure 1 shows the smooth values which would give you
the optimal result.

In Figure 2 below you can view the values for resolution when multiplied by 10 - i.e. the
Mesh Resolution would be (10 * RF emitter resolution). As in the last example, if your
RealFlow emitter has a resolution value of 5 and the RenderKit is set to 50, the optimal
value for the smooth parameter would be 0.5.

In Figure 3, the value for resolution is (Mesh Resolution = 0.5 * RF emitter resolution).
In our example the RenderKit resolution parameter is 2.5 and, for optimal results ,the
smoothing value is 0.2.

Figure 2

Figure 1

Figure 3

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 7

The table below gives you some examples of how the smooth and resolution parameters work in each case. Smooth and mesh resolution are directly related to getting a good final
mesh.

Resolution Pol.size Scale Radius Smooth Core Splash MaxVel Image


0*RFemitter= 50 0.0 1.0 0.4 0.0 No smoothing 0.0 0.0 1000.0

10*RFemitter= 50 0.0 1.0 0.4 0.3 Some smoothing 0.0 0.0 1000.0

10*RFemitter= 50 0.0 1.0 0.4 0.5 Optimal 0.0 0.0 1000.0

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 8

Resolution Pol.size Scale Radius Smooth Core Splash MaxVel Image


1*RFemitter= 5 0.0 1.0 0.4 0.0 No smoothing 0.0 0.0 1000.0

1*RFemitter= 5 0.0 1.0 0.4 0.3 Optimal 0.0 0.0 1000.0

1*RFemitter= 5 0.0 1.0 0.4 0.5 Aggressive 0.0 0.0 1000.0

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 9

Resolution Pol.size Scale Radius Smooth Core Splash MaxVel Image


0.5*RFemitter =2.5 0.0 1.0 0.4 0.0 No smoothing 0.0 0.0 1000.0

0.5*RFemitter =2.5 0.0 1.0 0.4 0.25 Optimal 0.0 0.0 1000.0

0.5*RFemitter =2.5 0.0 1.0 0.4 0.3 Aggressive 0.0 0.0 1000.0

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 10

There is one more parameter involved in the appearance of your mesh: the radius.
The fluid is represented by particles that don’t have any real volume in 3D space. With
the radius parameter, therefore, you can assign a volume (or radius of the sphere) to the
particles.

So, with this parameter you indicate the thickness of your fluid. It is measured in distance
units relative to the resolution of the mesh, and is indicated in the following way:

Radius = 0.0 ( represents a sphere with a radius which is half of the


resolution of the mesh) 3. radius = 0.7 4. radius = 1

Radius= 1.0 (represents a sphere with a radius which is twice the


resolution of the mesh)

2.01 Core/Splash Filter


The default value for radius is 0.4.
The Core and Splash filter method allows you to isolate particles based on the number of
The images below show how to modify the meshing parameters to get good results in
neighboring particles they have. In this way, you can either eliminate particles, or mesh
your scene.
them using different parameters from the main body of particles. With the Core parameter,
you can isolate the core of the fluid from the rest. The range of values goes from 0 (does
not remove the rest of the fluid) to 1 (removes all the rest of the fluid, leaves only the
core). Similarly, the Splash parameter isolates the splashes from the rest of the fluid body.
Like the Core parameter, its values range from 0 to 1.

The examples on the next page shows the behavior of the filter parameters.

1. radius = 0.1 2. radius = 0.4

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 11

1. core = 0 4. splash = 0

2. core = 0.2 5. splash = 0.8

3. core = 0.5 6. splash = 1

Working in a simple mesh from a circular emitter.

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 12

This table represents adjustments to obtain the ideal result for the mesh, using Core and Splash filters combined with various meshing parameters. Note that Resolution 5 is the RF
emitter resolution in this case.

Resolution Pol.size Scale Radius Smooth Core Splash MaxVel Image


5.0 0.0 1.0 0.4 0.0 0.0 0.0 1000.0

5.0 0.0 1.0 0.4 0.0 0.2 0.0 1000.0

5.0 0.0 1.0 0.4 0.3 0.2 0.0 35.0 MB On

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 13

Resolution Pol.size Scale Radius Smooth Core Splash MaxVel Image


5.0 0.0 1.0 0.4 0.0 0.0 0.0 1000.0

5.0 0.0 1.0 0.4 0.0 0.0 0.8 1000.0

5.0 0.0 1.0 0.4 0.0 0.0 0.9 1000.0

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 14

2.02 Motion Blur Don’t forget to set the frames per second (24, 25, 30 fps) in the scene, using the fps
parameter, to get the right motion blur values.

Motion blur helps to increase the realism of the scene and give a sense of scale. You
can achieve very realistic results by adding motion blur to your renders. The RealFlow
RenderKit contains several parameters to control the appearance of motion blur, such
as maxVel, shutter or frames. You can see the render with Motion Blur activated or
deactivated in the images below: 2.03 Normals
By default, the mesh will always have its normals facing the right direction, but if you need
to invert them, simply use the flipNormals setting.

1. motionBlur = OFF 2. motionBlur = ON

Motion Blur can be controlled by the parameter maxVel, which allows you to clamp the
module of the velocity of the particles to this value. In other words, if the velocity modules 1. flipNormals = NO 2. flipNormals = YES
of the particles are higher than the maxVel value, the velocity module for each particle will
be replaced by this value . This is a way to control the quantity of motion blur in the fluid
render. By indicating low values for maxVel, you can see subtle motion blur in the render.
The following images show low values in the maxVel parameter.

ZXY (3ds Max axis system)

1. maxVel = 0 motionBlur=ON 2. maxVel = 10 motionBlur=ON

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 15

YXZ (Maya system)

Each particle is distributed in the RealWave mesh polygon according to the value for
rwTessellation. To get optimal results for the RealWave mesh, you must take the smooth
values into account when selecting a value for the rwTesselation parameter.
YZX (LightWave system)
In this table below you can see different values for the RealWave mesh.
uu NOTE: The rwTesselation parameter only affects the realwave_file. The realwave_file can
be mixed with the reaflow_file to generate a seamless mesh.
2.04 RealWave
Resolution rwTessellation Image
RealWave objects created in RealFlow can also be meshed by the RenderKit, just like
RealFlow fluids. The RenderKit tessellates the RealWave mesh internally, using the 1.0 3.0
Tesellation parameter. It uses the value of the tessellation parameter to calculate the
number of particles per polygon. So, to increase the resolution for a RealWave mesh you
simply modify the rwTessellation parameter. The default value for rwTessellation is 3. This
indicates how the particles are distributed in each polygon of the RealWave mesh. The
image below illustrates how the distribution of particles works.

© Next Limit Technologies 2009


RealFlow RenderKit in Maxwell Render Manual Version 0.20
Introduction, FlowMesher Overview | 16

1.0 5.0

10.0 5.0

10.0 10.0

2.05 Subdivisions
Generating very high resolution meshes can cause problems with memory management.
FlowMesher can handle these meshes by making volume subdivisions automatically.

Subdivision is the process by which the bounding box of the RealFlow particles is subdivided
into several subvolumes, so each one computes the mesh independently. When all the
subvolumes have been computed, the individual meshes are reunited to form a complete
high-resolution mesh. In this way, these type of meshes can be rendered easily with
low memory consumption. Although the RealFlow RenderKit generates this subdivision
internally, you also have the option to control this process manually.

© Next Limit Technologies 2009


© Copyright 2009 Next Limit SL

RealFlow a registered trademark of Next Limit SL

All trademarks included in this catalogue belong to their respective owners

All images in this book have been reproduced with the knowledge and prior consent of the artists concerned and
no responsibility is accepted by producer, publisher, or printer for any infringement of copyright or otherwise,
arising from the contents of this publication. Every effort has been made to ensure that credits accurately
comply with information supplied.