Nodes - Objects

RealFlow provides a couple of predefined objects, ready to use with your simulations. They actually have the same function as the standard objects in your 3D software, and they are fully scalable. Additionally, they carry UV grid data for texturing effects. Another advantage is that they can be easily addressed with RealFlow’s Python scripting. Of course you can enable rigid body and soft body dynamics features, including all the specific parameters for interactions with fluids, waves or other dynamic objects. Native objects are easy to handle and they are applied either via simple drag-and-drop from the "Icon Bar" or RealFlow’s other methods for adding nodes:

Menu Bar > Edit > Add > Object > [ choose object type ]

Right-click menu > Add > Object > [ choose object type ]

RealFlow offers a wide variety native objects that can be added and there is (virtually) no limit for the number of individual objects within a scene. If you have large amounts of similar objects, it is recommended to group them, because this allows a fast change of common "Node Params", such as mass or scale. Though RealFlow objects are really straightforward, there are a few recommendations:

  • Never use identical names for objects. Each object must have an individual name to separate it from the other items of the scene. Doubling names only lead to problems during simulation and exporting to your 3D software.

  • Avoid special characters or dots in your objects’ names. Only use A-Z, a-z, 0-9, the hyphen and the underscore.

  • Objects cannot be modified in terms of polygon or vertex number by RealFlow’s GUI. With Python scripting you have access to these settings and you can change or modify them. It is even possible to create your own custom objects with Python scripting.

 

Some of RealFlow's native objects.

 

Imported objects behave in exactly the same way as RealFlow’s native and built-in bodies and even multiple formats are supported. They can also be exported as physical objects (OBJ format). Additionally all position and rotation changes during the simulation are recorded and written to SD files.

One of the most exciting features with RealFlow’s objects is their ability to carry wetmaps, based on an UV grid. You can easily activate and control this process with a few clicks from the Texture panel. The result is a series of grey scale images, used as a mask for texturing. Inverted maps are also suited for simulating erosion effects. It is also possible to “drench” imported objects with UV coordinates. Please keep in mind that UVs have to be arranged properly to get correct results. Since RealFlow does not provide tools for UV manipulation, this has to be done within your 3D program. The generation of wetmaps can also be watched in the viewport during simulation.

MultiBody Objects

This node gives you the possibility to group objects by simply importing them. The entire structure is then imported as a single object, though it can consist of hundreds of individual elements. This is especially useful for bodies containing many identical items in terms of rigid or soft body dynamics. Good examples are chains, walls or similar structures. But you are not limited to similar or even identical elements; you can also combine any other geometry within a MultiBody. There are a few restrictions:

  • It is not possible to use MultiBodies with settings requiring an object selection, for example an object emitter. In this case, RealFlow expects you to choose an object node and you are only allowed to select a node consisting of a single item.

  • MultiBodies do not support animation data. All animation keys will be ignored.

  • The different masses of a MultiBody's elements are controlled with a "Density" value.

MultiBody nodes can be turned into soft or rigid bodies and which are, of course, capable of interacting with fluids and RealWaves. Daemons, capable of influencing dynamic nodes, can also act on MultiBodies without limitations. MultiBodies can even be used with RealFlow's MultiJoints to connect the individual parts, but there is one restriction: it is not possible to adjust or address (e.g. via scripting) individual parameters for the grouped objects, because all included items are treated equally. Nevertheless, this type is a very nice time-saving feature, especially for large setups.

The loading time of MultiBodies, compared to SD files with many objects, is significantly shorter. MultiBodies share most of the settings with their standard counterparts and there are only few differences.

Object Import

As well as using the shortcut (Ctrl + I for Windows and Linux, Cmd + I for OS X) or the appropriate menu function for adding objects from other sources, you can also go to the "Icon Bar" and choose the "Import" command. Nodes can be loaded in different formats, but there are few things to bear in mind:

RealFlow’s native format is the SD file type. Please note that there can only be one SD file per project and it is not possible to selectively delete nodes from an imported SD-based scene. If you want to remove individual objects, it is necessary to go back to your 3D software, delete the object and export everything again. Another way is to make the considered node inactive:

Selected node > Node Params > Node > Simulation > Inactive

If you have to load more than one SD object into your scene you should consider to use RealFlow's "MultiBody" nodes. Other supported file formats are: LWO (Lightwave), ASC (ASCII objects), OBJ (Maya), XML (Allplan), ABC (Alembic), DXF and MXS (Maxwell Render). These formats can be mixed with SD files without limits. Please note that objects from SD files are not embedded into a RealFlow scene, but a reference is used. If the original SD file cannot be found, because it has been removed or shifted to another location, you will see a dialogue when re-opening the scene file. There you can choose whether you want to look for the SD in a different location or skip the file/objects. Please also take a look at the “Messages” window, because there the original path to the SD file will be shown.

When objects are imported from SD files they are locked and it is not possible to move, scale, or rotate them. The reason is to maintain the nodes' animation keys. If you want to unlock a node please click on

Node Params > Node > SD ↔ Curve

 With this action the object becomes editable, but all animation information will be lost. Fortunately, this state can be restored with another click on the “SD ↔ Curve” button. Since MultiBodies do not support animation, they are not locked and you can apply any transition. Objects from ABC files or other formats are also unlocked.

Another, much more convenient way to work with imported files, is to use the Alembic I/O format. Although this is a relatively new file type it is already supported by most of the major 3D packages, for example Maya, Houdini, Modo and Cinema 4D. Older versions of these programs, on the other hand, normally do not provide appropriate import and export filters. In this case, RealFlow's exchange plugins are the only way to transfer data between the applications.

Alembic files can be recognized by the ABC extension and are not only available for objects, but also for particles and even RealWave surfaces. In contrast to standard SD files, Alembic supports hierarchical data (for example: from animated objects). Another advantage is that you are able to delete selected nodes belonging to the imported objects without losing the entire content. It is also possible to copy individual parts of an Alembic file – even with complete animation data.

Object Plugins

Plugins are external modules to enhance the functional spectrum of a software. RealFlow now gives you the possibility to either create your own plugins or purchase them from 3rd party companies or vendors – if available. To write your own plugins you will need to be proficient in a programming language – preferably C++. The Software Development Kit (SDK) provides the interfaces and data structures for most of RealFlow’s functions. These functions help you to directly access certain parts of the software and modify them to your needs. If you already have experience with RealFlow’s Python scripting interface, then you will quickly become familiar with the C++ SDK. Once you have installed a plugin, it appears in a list and you can use it like any other object.

 

RealFlow Standard Objects


Finally, here is a table containing RealFlow’s objects and their most common attributes. The values are valid for scale 1.00. 

 

Object

Surface [ m^2 ]

Volume [ l ]

Mass [ kg ]

Coll. distance

Sphere

3.08

505.88

505.88

0.02

Hemisphere

1.49

36.80

36.80

0.01

Cube

6.00

1,000.00

1,000.00

0.02

Cube top open5.001,000.00833.330.02

Cylinder

4.56

734.73

734.73

0.02

Vase

5.87

285.34

285.34

0.02

Cone

2.45

244.91

244.91

0.02

Plane

100.00

N/A

55,555.56

0.02

Torus

19.22

4,540.89

4,540.89

0.02

Rocket

3.99

375.04

375.04

0.02

Capsule

1.52

151.11

151.11

0.01

Cross

30.00

7,000.00

7,000.00

0.06

Null

N/A

N/A

N/A

N/A