emPolygonizer4 (version 4.160) Online Documentation |
last modifications to this page: April 28th 2013
|
|
|
Chapter 1: Introduction
|
|
This plug-in for Softimage|XSI is a custom operator for creating polygon meshes.
It polygonizes so-called scalar fields (or isofields), a method that is also called "Metaballs" or "Marching Cubes".
The operator accepts nulls, curves, polygon meshes and point clouds as inputs... or all at the same time. In fact as many inputs as you wish ! Furthermore it is possible to directly mesh the internal fluid grids of emFluid4 and to mesh the Lagoa cloth topology (including tearing).
emPolygonizer4 also allows you to create UVs. These can be used for effects such as lava.
On the emPolygonizer4 web page you can:
- download the demo version of this plugin.
- download demo and tutorial scenes.
- purchase the full version of this plugin.
Content:
On my Vimeo page are many video tutorials in which I show and explain different aspects and techniques concerning emPolygonizer4 and its usage. You might also try to search for "emPolygonizer" on Vimeo to find some videos made by other people.
Note: If you feel that something is not well explained (or not explained at all) then please write me a short e-mail. I will then update the documentation and/or make a demo scene as quickly as possible.
|
|
|
Chapter 2: Installation
|
|
Important:
- If you have a version 4.0 or higher already installed (or eventually a beta version of emPolygonizer4) then you must uninstall it first.
To do that go into Softimage|XSI's "Plugin Manager", right-click on the plugin and choose "Uninstall Addon".
- emPolygonizer4 can co-exist and be used simultaneously with any of the former emPolygonizer versions (emPolygonizer v.1.xx, emPolygonizer2 v.2.xx, emPolygonizer3 v.3.xx or the Polygonizer that comes with Softimage 2011.5 and above).
This plugin comes as a so called "Addon", here's how to install it:
- Open the "Plugin Manager". It is located under the "File" menu: "File ->Plugin Manager":

- As mentioned above: please remove / uninstall any previous version 4.xx of this plugin. This is really important, because if Softimage|XSI finds two times the same plugin then one (maybe even both) might not work.
- To install the plugin into the user directory simply right-click onto the folder "User Root" and choose "Install .xsiaddon...":

- A browser dialogue will be displayed: go to where you copied the .xsiaddon file, select it and click on "OK". The Addon is automatically installed.
- Close Softimage|XSI. The plugin is now installed and ready to be used.
For more information concerning Addons and how to install / uninstall them please check the chapter "Working with Addons" in the XSI Guides.
|
|
|
Chapter 3: Demo Version Restrictions
|
|
If you are using the full version of this plug-in then you can skip this chapter. If not, please read the following list of restrictions of the demo version:
- There is a built-in memory limit of about 20 Megabytes, thus limiting the level of detail and the number of polygons for the output meshes.
- The operator only works between frame 1 and frame 100.
- The text "DEMO VERSION" is contained in the custom operator's property page.
- Nearly all parameters of the tab "Advanced" of the operator's property page are unavailable.
Note: while testing the demo version you will probably encounter error messages like for example "not enough memory" or "reached memory limit". These are NOT bugs, it's simply the demo version restriction! |
|
|
Chapter 4: Quickly creating an emPolygonizer4 polygon mesh
|
Creating an emPolygonizer4 polygon mesh only takes a few clicks:
- Select the objects you want to use as inputs.
- Choose "Model -> Poly.Mesh -> emPolygonizer4".
The property page of the freshly created emPolygonizer4 mesh pops up.
- Tweak the "Level of Detail".
In the tab "Tools" you can use the "Add" and "Remove" buttons to connect/disconnect input objects.
|
|
|
Chapter 5: The Custom Operator's Property Page
|
|
This chapter covers all the tabs and parameters of the custom operator's property page.
emPolygonizer4 has three algorithms for building meshes:
- "Marching Cubes / Marching Tetrahedrons".
- "Simple as Primitives"
- "Bounding Boxes of input Objects"
The parameters and tabs of the property page change depending on which algorithm is currently active, so this chapter is divided into three parts, one for each algorithm.
Last but not least you will find a brief description of the "hidden" parameters (= rarely used parameters) at the end of this chapter. They can be made visible in the "Advanced" tab. |
|
|
Chapter 5 (part 1): The Property Page when using "Marching Cubes / Marching Tetrahedrons"
A polygonized Lagoa point cloud:
|
|
|
The tab "Main"
|
This tab contains the operator's main parameters.
- Active
Enables/disables the operator.
If this is unchecked you can force the operator to update the mesh by clicking on the "Refresh" button.
- Progress Bar
Enables/disables the progress bar during the creation of the mesh.
When working with complex setups the progress bar gives you the possibility to monitor the progress and to cancel the operation.
Note (Windows only): you can also cancel the operation by pressing simultaneously the left and right CONTROL keys. This works with or without the progress bar.
- Refresh Button
Forces the operator to refresh the mesh. Typically used when the parameter "Active" is disabled.
- Algorithm ID (the three big icons)
The algorithm that shall be used when building the mesh:
- "Bounding Boxes from input Objects" (left icon)
- "Simple as Primitives" (middle icon)
- "Marching Cubes / Marching Tetrahedrons" (right icon)
- Marching Tetrahedrons
Enables "Marching Tetrahedrons". This is an alternative meshing algorithm which uses tetrahedrons rather than cubes.
Note: the resulting meshes have more polygons than with "Marching Cubes".
- Isolevel
Defines the isolevel barrier at which geometry is generated.
Higher values produce "tighter" meshes, but smaller parts might disappear.
General rule: the higher this value the more iso must be present to create a surface.
- Level of Detail
Defines how much detail is generated.
Higher values result in more detail, but require more memory and more calculations.
Note: higher values will always result in more and smaller polygons, however this is not always a good thing. For example when meshing point clouds that shall look like liquid it generally is better to have the polygons small enough to get all the needed detail but also big enough to not see the individual blob spheres.
=> start with small LOD values and then slowly move to higher values until the mesh looks good.
- Mul.Iso / Mul.Radius / Mul.Falloff
Multipliers for the iso, radius and falloff values of all input objects.
Note: If you want to modify the iso/radius/falloff value for a single input object you need to go into its custom property set.
- Enable Motion Plotting
Enables/disables motion plotting.
When active the motion of the input object is considered when filling the isofield. For example a fast moving null would result in a stretched sphere.
There is more detailed information here: the tab "Motion".
- Speed
Speed multiplier.
Use higher values to enhance the effect of motion plotting.
- Offset
Frame offset.
- Compensate
The amount of compensation when an object is stretched (=the longer it gets the thinner it becomes, thus preserving its volume).
There is more detailed information here: the tab "Motion".
- Enable Liquid Filaments
Enables/disables liquid filaments.
There is more detailed information here: the tab "Liquid".
- Detail
A multiplier for the level of detail of the liquid filaments.
- Distance
A multiplier for the distance (or length) of the liquid filaments.
- Iso
A multiplier for the liquid filament's iso.
- Smooth Mesh
- Enable Smoothing
Enables/disables the smoothing of the final mesh.
This is a very important thing for the whole look of the mesh.
- Iterations
Amount of iterations when smoothing.
- Shrink (Convex/Neutral/Concave)
When the mesh is smoothed it tends to shrink, which is something you want to have but not for all parts of the mesh. These parameters let you specify the amount of shrinking for the convex, neutral and concave parts of the mesh.
- Convex/Neutral/Concave Angle
The angles (between the normal vectors) that define when a point is considered to be convex, neutral or concave.
The following images show a non-smoothed mesh (left) and a smoothed mesh (right). 
|
|
|
The tab "Tools"
|
This tab provides a set of tools to pick, connect, disconnect, select and inspect objects (nulls, curves, polygon meshes and point clouds).
- Active / Progress Bar / Refresh Button
Same as in the tab "Main".
- Add / Remove Input Objects
Use these buttons to (dis)connect objects to/from the operator.
The behavior of both buttons depends on the current selection:
- If nothing is selected then a picking session is started. Click on the objects you want to connect/disconnect.
- If one or more objects are selected then they are immediately connected/disconnected to the operator.
- Objects / Properties (Select connected)
Selects all objects or properties that are connected to the operator.
- Create and connect a Null
This will create a null and connect it to the operator.
Surplus the null has a special display for a better visual feedback.
- Re-Pick Custom Property
This let's you re-pick the custom property of a connected input object.
Note: a connected object can have more than one emPolygonizer4 custom property, but only one is used by the operator.
- Inspect connected Objects
These buttons can be used to display the property page of the custom property sets of connected objects.
- Re-connect the Polygon Meshes' Cluster Properties
This is somewhat special:
Cluster properties and weight maps can be used to drive certain parameters (see polygon mesh custom property).
In rare cases (for example after connecting a polygon mesh that already has an emPolygonizer4 custom property set, or if clusters or cluster properties were renamed) it can happen that the cluster properties are not connected to the operator.
Clicking on this button will re-connect all cluster properties to the operator.
|
|
|
The tab "Data"
|
It is possible to create so-called "user data" for the mesh,
for example motion vectors in order to render deformation motion blur.
- Active / Progress Bar / Refresh Button
Same as in the tab "Main".
- Vertex Colors
Vertex colors are great: they make your mesh look good in the viewport and good at render time. Surplus they can be accessed in the Render Tree which gives you many additional possibilities when it comes to shading.
The vertex colors are available as ICE data called "emP4_Color".
- Motion Vectors
These are required if you want to render motion blur.
The motion vectors are available as ICE data called "PointUserMotions".
The button " ? " will display some important information when working with motion blur.
- Scale Sim.
The scale of the motion vectors when the mesh is created (simulated).
- Scale Cache
The scale of the motion vectors when reading a cache file.
Note: when caching files you should set the "Scale Sim." to 1.
- Normal Vectors
The normal vectors are built from the internal isofield values.
The button " ? " will display some important information when working with user normals. Note: in many cases normal vectors are NOT recommended, for example when using liquid filaments or when caching non-smoothed meshes.
The normal vectors are available as ICE data called "NodeUserNormal".
|
|
|
The tab "UVWs"
|
Use this tab to enable the creation of texture coordinates (UVWs).
Unlike vertex colors the UVWs need to be simulated. This means that there is a start frame and an initialization phase.
To get proper and predictable UVWs one needs to simulate and cache the mesh (using the RealFlow ".bin" or the new ".mzd" file format).
It is possible to connect nulls, polygon meshes and implicit cubes to control in which way UVWs are initialized (see below).
The UVWs are available as ICE data called "emP4_UVWs".
- Active / Progress Bar / Refresh Button
Same as in the tab "Main".
- UVWs
Texture coordinates (UVWs) are used to map textures (2D or 3D) onto the meshes.
The button " ? " will display some information when working with UVWs.
Note: it is recommended to enable motion vectors when working with UVWs!
Initialization
- Global Start Frame
The global start frame at which the UVWs are initialized.
- Mode
The initialization mode for the UVWs.
- The buttons Add/Remove/Select
Use these buttons to connect a null or a polygon mesh to the UVW operator. The null (or polygon mesh) is used by the operator as a kind of spatial texture projection to initialize the UVWs.
Initialization Volumes
Certain scenarios require that certain parts of the mesh get initialized with "fresh UVWs" at each frame rather than just once. It is possible to connect bounding volumes (implicit cubes) to the UVW operator. These bounding volumes define the regions that need to be updated at each frame. The bounding volumes also have a custom operator to control the strength of the initialization (see below).
- Use Volumes
Enables/disables the use of bounding volumes.
- Strength
The global strength of the initialization of the bounding volumes.
- The buttons Add/Remove/Select
Use these buttons to connect bounding volumes (implicit cubes) to the UVW operator.
The bounding volumes that are connected to the UVW operator have a custom property called "emPolygonizer4_UVWInitVolume".
- Active
Enables/disables the bounding volume.
- Strength
The strength of the initialization of the bounding volume.
- Falloff Type
The more a point is inside the volume the more it gets initialized and this parameter controls the falloff type.
emPolygonizer4 always and only generates 3D texture coordinates, hence UVWs instead of UVs. The UVWs can be used for 2D textures (e.g. bitmaps) or 3D textures (e.g. procedural marble). Below an example using a bitmap (left) and a procedural marble (right).
 |
|
|
The tab "Caching"
|
This tab contains all the parameters for the geometry caching.
Caching the geometry is a very important part when working with emPolygonizer4.
Note that the emp2 cache files can also be read by the built-in Polygonizer (Softimage 2011 SAP and above).
Mesh Fixing
When using the caching mode "read only" one can enable some features that will correct and fix certain "uncleanliness", like for example non-manifold edges or holes in the mesh.
- Fix double Edges
Fixes double edges.
- Fix non-manifold Edges
Fixes non-manifold edges (= edges that are used by more than two polygons).
- Close Holes
Closes holes in the mesh.
- Hole's max. size (-1: OFF)
Holes that are bigger than this value are not closed.
- Hole's max. Vertices
Holes with more vertices than this values are not closed.
Note (Arnold users): it is recommended to enable "Fix double Edges" and "Fix non-manifold Edges", especially when using subdivision. |
|
|
The tab "Advanced"
|
- Active / Progress Bar / Refresh Button
Same as in the tab "Main".
- Use Memory Limit
Enables/disables the use of the memory limit.
It is recommended to use the memory limit.
- Memory Limit (MB)
The memory limit in megabytes.
- Number of Threads
The amount of threads to use for the multithreading or zero for automatic.
- Strength
Strength of the isofield blur. When generating vertex colors, user normals or motion vectors it is highly recommended to set this value greater than 0.
- Iterations
Amount of blur iterations.
- Accurate
If enabled then an accurate octree blur is performed else a normal octree blur.
The accurate blur requires a little more memory but produces better results. The calculation times are about the same.
- Blur in X/Y/Z
Enable/disable the blur along the X/Y/Z axis.
- Recycle Isofield (0=OFF)
No documentation available.
- Epsilon
No documentation available.
- Global Switches for Input Objects / Components
- Filter by Implicit volumes
- Filter by Volumes
Enables/disables filtering by volume.
If this is enabled then only the elements contained in the connected volumes (= implicit cubes) are used for meshing.
- Invert
Inverts the volume.
- The Buttons "Add / Remove"
Use these buttons to connect/disconnect implicit cubes.
- The Button "Select All"
Selects all connected implicit cubes.
- Switches
- Use Switches
Enable this to use the switches.
When enabled a whole bunch of switches shows up with which you can disable certain objects types or certain components.
The parameters are self-explanatory and there's a little '?' button with some additional information.
- Preferences
|
|
|
Chapter 5 (part 2): The Property Page when using "Simple as Primitives"
The algorithm "Simple as Primitives" is a by-product of the algorithm "Marching Cubes". It is an easy and fast way to create some interesting meshes. The algorithm consists of simply copying some input geometry onto the points and surfaces of the input objects.
Below an example with a deformed torus as an input object, once with randomized tetrahedrons (left) and once with randomized custom polygon meshes (right).
 |
|
|
The tab "Main"
|
This tab contains the operator's main parameters.
|
|
|
The tab "Tools"
|
|
This tab is identical for all algorithms, please go here for more information.
|
|
|
The tab "Advanced"
|
|
This tab is identical for all algorithms, please go here for more information.
|
|
|
Chapter 5 (part 3): The Property Page when using "Bounding Boxes of input Objects"
|
|
|
The tab "Main"
|
This mode is a by-product of the debugging phase during the development of this plugin.
When using many, many input objects this mode can be useful in order to have a rough yet fast visual feedback.
There are no parameters available when using this mode.
|
The tab "Tools"
|
|
This tab is identical for all algorithms, please go here for more information.
|
|
|
The tab "Advanced"
|
|
This tab is identical for all algorithms, please go here for more information.
|
|
|
The hidden (or rarely used) Parameters
|
|
Aside from all the usual parameters are also a few hidden ones. These are usually rarely used and are not exposed in the PPG by default in order to not have too many unnecessary and confusing parameters.
Enable the parameter Show rarely needed Parameters in the tab "Advanced" to display the hidden parameters.
Hidden Parameters in the tab "Main"
- Mul.Centers / Mul.Points/Polygons
Switches that will enable/disable the parameters Mul.Iso/Radius/Falloff for centers and/or points and polygons.
Hidden Parameters in the tab "Advanced"
- Filter Points (Geometry Cleanup)
Strength of point filtering and merging, 0 for no point filtering.
- Filter Polygons (Geometry Cleanup)
Strength of polygon filtering and merging, 0 for no polygon filtering.
- Enable (Quadrangulation)
Enable/disable quadrangulation.
- Incidence Angle (Quadrangulation)
The maximum difference between the normals of two adjacent triangles.
Higher angle values result in more quads.
- Max Corner Right Angle Deviation (Quadrangulation)
The maximum allowed deviation from a right angle.
- Fill Isofield Valleys (Isofield Cleanup / Correction)
No documentation available.
- Show Isovalues (Debug)
If enabled then the internal isovalues contained in the octree cells are displayed.
Note: this can take quite a while if the LOD is high !
- Scale (Debug)
Scales the isovalues.
- Epsilon (Debug)
Isovalues that fall beneath this value are not displayed.
Hidden Parameters in the tab "UVWs"
- Disable Quadrangulation
Disables quadrangulation when calculating UVWs.
- Depth of Acceleration Octree
Use higher values with meshes that have very large amounts of points and polygons.
- Motion Scale
Scale of the motion when UVWs are calculated.
|
|
|
|
|
Chapter 6: The Custom Property Sets
|
Whenever an object is connected to the emPolygonizer4 operator it automatically gets a so-called custom property set, which basically is a custom parameter set with a little VBScript code behind it.
Each type of object (null, curve, polygon mesh, point cloud) has its own custom property.
The custom properties are attached under the objects (see picture).
Custom property sets are very important, because they contain parameters for each object that tell the operator how to use that object when building the final mesh.
|
|
Interlude: understanding the "isofield":
The whole "trick" of emPolygonizer4 consists of drawing iso values into an isofield ( = 3D grid ), similar to painting some color into a bitmap ( = 2D grid ). When you draw something into a bitmap you usually have a brush that has a color, size and falloff. It is the same in emPolygonizer4: the iso is the "color", the radius + falloff define the "brush's size" and the isofield is the "canvas".
The picture below shows the isofield (left) and the surface that was constructed from it (right).
 |
|
|
The Custom Property of Nulls
|
The tab "Main" (Nulls)
|
- Active
Enable/disable this null for meshing.
- Isofactor
The iso value for the null. Note that it is possible to use negative iso values.
- Radius
The radius.
- Falloff
The falloff. Note that the falloff is added to the radius.
- Falloff Type
The falloff type (linear, square, etc.).
- Base Color
The color when using vertex colors.
|
The tab "Motion" (Nulls)
|
This tab contains the parameters for the motion plotting.
Note: motion plotting has nothing to do with motion blur, it only concerns how the geometry is built !
These parameters only have an effect if motion plotting is enabled in the operator's main property page.
|
The tab "Liquid" (Nulls)

|
Liquid filaments are a great way to achieve good looking results with fairly few inputs. The above picture for example only has a curve and four nulls.
The liquid filaments can also be used with large amount of points, for example with point clouds to create liquid-like meshes.
- Active
Enable/disable liquid filaments for this object.
- Self <---> Self
Enables/disables filaments with itself ("self filaments").
In most cases you have this only enabled for point clouds.
- Self ---> Neighbors
Enables/disables filaments going to the neighbors ("cast filaments").
- Self <--- Neighbors
Enables/disables filaments coming from the neighbors ("receive filaments").
- Filament Lengths
The maximum length of a filament, relative to the radius and falloff.
The higher this value the longer the filaments but the more calculations.
Note:
There was a little bug in version 3.0 concerning this parameter.
The bug has been fixed in version 3.01, so please make sure you are working with a version greater than or equal 3.01. If you are unsure about which version you currently have installed then you can either go into the Plugin Manager or simply download and install the latest version of this plugin.
- Optimized Plotting
It is recommended to have this enabled.
This only needs to be disabled when using some crazy profiles.
- Level of Detail
Level of detail for the filaments. If the filaments look a little blobby then increase this value.
- Iso Multiplier
Iso multiplier for the filaments.
- Thickness
Thickness of the filaments.
- Meeting at
The "meeting point" of the filament with its neighbor. The lower this value the earlier the filament reaches the neighbor. A value of zero will make the filaments appear without any fade.
- Neighboring - Filter
The heart of liquid filaments is the neighboring filter. It defines how the neighbors are weighted for the final liquid filaments of a current point and also prevents horrendous calculation times.
There are currently two filters:
- by Weight of Neighbors
The weight of neighbors is the determinative factor. This is the default.
The closer a neighbor gets and the more the (virtual) filament is important the higher its weight.
- by Number of Neighbors
The amount of neighbors is the determinative factor. The closest Max Number neighbors will be fully used, the next Fade neighbors will be used to gradually fade out the effect in order to reduce suddenly appearing filaments.
- Show Profile FCurves Button
This button shows/hides the profile curves that define how the liquid filaments fade in/out, how the are shaped, etc.
|
|
|
The Custom Property of Curves
|
The tab "Main" (Curves)
|
- Active
Enable/disable this curve for meshing.
- Use
Defines which components of the curve are to be used for meshing.
- LOD
The level of detail (in "amount per SI Unit") when approximating the curve.
Higher LOD values also mean that more plots into the isofield are performed.
- Isofactor
The iso value for the curve.
It is possible to use negative iso values or to multiply this value by a FCurve.
- Radius
The radius.
This value can be multiplied by a FCurve.
- Falloff
The falloff. Note that the falloff is added to the radius.
This value can be multiplied by a FCurve.
- Falloff Type
The falloff type (linear, square, etc.).
- Base Color
The color when using vertex colors.
|
The tab "Motion" (Curves)
|
|
This tab is identical to the tab "Motion" of Nulls.
|
The tab "Liquid" (Curves)
|
|
This tab is identical to the tab "Liquid" of Nulls.
|
The tab "FCurves" (Curves)
|
This tab contains FCurves that can be used to control the iso, radius and/or falloff values along the curve.
Each set has the same parameters and buttons:
- Multiply by FCurve
Enables/disables the FCurve for iso/radius/falloff.
- The Buttons "Small/Large"
Use these buttons to get a bigger or smaller FCurve editor.
- The FCurve
The FCurve that is multiplied with the respective value (iso/radius/falloff).
The x axis represents the position on the curve (0 to 100) and the y axis the value to use as multiplicand.
|
|
|
The Custom Property of Polygon Meshes
|
The tab "Main" (Polygon Meshes)
|
- Active
Enable/disable this polygon mesh for meshing.
- The Button "Show Weight Map Parameters"
Use this button to show/hide the weight map and color at vertices map parameters.
When visible, you can pick a weight map to drive certain parameters, as for example the radius and falloff.
- Use
Defines which components of the polygon mesh are to be used for meshing.
- LOD
The level of detail (in "amount per square SI Unit") when approximating the mesh.
Higher LOD values also mean that more plots into the isofield are performed.
- Isofactor
The iso value for the polygon mesh.
It is possible to use negative iso values or to multiply this value by a weight map (see the button Show Weight Map Parameters).
- Radius
The radius.
This value can be multiplied by a weight map (see the button Show Weight Map Parameters).
- Falloff
The falloff. Note that the falloff is added to the radius.
This value can be multiplied by a weight map (see the button Show Weight Map Parameters).
- Falloff Type
The falloff type (linear, square, etc.).
- Base Color
The color when using vertex colors.
It is also possible to use a color at vertices map (see the button Show Weight Map Parameters).
- Base/Vertex
Fade between the base color and the colors at vertices map.
|
The tab "Motion" (Polygon Meshes)
|
|
This tab is identical to the tab "Motion" of Nulls.
|
The tab "Liquid" (Polygon Meshes)
|
|
This tab is identical to the tab "Liquid" of Nulls.
|
The tab "Miscellaneous" (Polygon Meshes)
|
When polygon meshes are used as inputs then they are "translated" into a bunch of points that lay on the surface before being plotted into the isofield. The amount of points depends on the surface area of each polygon. When using shape animated polygon meshes this can cause problems, because the surface area varies from frame to frame. This is okay when using "Polygonize / Marching Cubes", but definitely a problem when using "Simple as Primitives".
The two parameters in this tab can be used to define how locations on the surface are to be calculated and evaluated. To solve the above mentioned problems one would have to set the first parameter to "siConstructionModeModeling".
- ..when calculating Locations
The construction mode to use when calculating the locations on the surface.
- ..when evaluating Locations
The construction mode to use when evaluating the locations on the surface.
|
The tab "Advanced" (Polygon Meshes)
|
Enabling "Treat this Polygon Mesh as a Point Cloud" will do exactly what the parameter name suggests:
The polygon mesh will be treated as if it were a point cloud and the property page of the custom property will change accordingly.
This can be useful when your polygon mesh is driven by an ICE Tree.
|
|
|
The Custom Property of Point Clouds
|
The tab "Main" (Point Clouds)
|
- Active
Enable/disable this point cloud for meshing.
- Use
Defines which components of the point cloud are to be used for meshing.
Aside from the usual choices (points, strands,..) you can also choose "Use emFluid4 3D Grids".
You can find more information about this in Chapter 7: Meshing the internal emFluid4 Grids,
- LOD
The level of detail (amount of subdivisions) for the strands.
Higher LOD values also mean that more plots into the isofield are performed.
- Isofactor
The iso value for the point cloud.
It is possible to use negative iso values.
- Radius
The radius.
- Multiply Radius by Point Size (if available)
Multiply the above radius value with the particle's size, if available.
- Falloff
The falloff. Note that the falloff is added to the radius.
- Falloff Type
The falloff type (linear, square, etc.).
- Multiply Falloff by Point Size (if available)
Multiply the above falloff value with the particle's size, if available.
- Base Color
The base color when using vertex colors.
- Use Point/Particle Color (if available)
Use the particle's color, if available, when working with vertex colors.
- Base/Vertex
Fade between the base color and the particle's color.
|
The tab "Motion" (Point Clouds)
|
|
This tab is identical to the tab "Motion" of Nulls.
|
The tab "Liquid" (Point Clouds)
|
|
This tab is identical to the tab "Liquid" of Nulls.
|
The tab "Filter Points" (Point Clouds)
|
This tab can be used to filter the points of the point cloud.
It is typically used in order to mesh only certain specific particles, for example you could choose to discard all particles with a State_ID equal 7.
This is a powerful little feature, because it allows you to choose specific particles without the need of modifying the point cloud's data. A typical usage could be a Lagoa point cloud that has different materials, let's say some water with a Lagoa_PhaseID = 0 and some jello with a Lagoa_PhaseID = 1. With "Filter Points" you can mesh only the water with one emPolygonizer4 and the jello with another emPolygonizer4.
- Use/Discard Particles depending on A and B
- Enable
Enable/disable point filtering.
- Condition
The condition that must be met.
You can choose between all possible combinations of A and B, for example "A or B" or "!A".
"A" and "B" are defined in the bottom part of the tab.
- Do What
When the above condition is TRUE then either
- Definition of A and B
"A" and "B" are defined as following:
The left textfield contains the name of the ICE data (followed by a space) and then the comparison, e.g. "<" or "==".
The parameter on the right is the value that is used for the comparison.
Example:
The settings as in the above picture of the Filter Points tab would use only points that have a size less than or equal 0.1 or an ID greater than 520:
if Size <= 0.1 or ID > 520 then Use Point
|
The tab "Lagoa" (Point Clouds)
|
- N.Indices / N.Removed
These two textfields contain the name of the ICE data that describes the Lagoa topology.
You should not modify them.
- Enable
Enables/disables the meshing of Lagoa cloth.
- ICE Data - Identifier
These textfields can be used to identify the particles for the cloth meshing.
When working with Lagoa you typically assign a material (e.g. "Lagoa Cloth") to a "Lagoa Phase ID". Enter the phase ID of the cloth you want to mesh in the lower field.
- Length
The extrusion length of the cloth or zero for no extrusion.
- Only Tris and Quads
If enabled then only triangles and quads are generated.
It is recommended to have this enabled.
- Auto-Cleanup
If enabled then some cleaning up is performed during the meshing (unnecessary points are filtered out).
It is recommended to have this enabled.
Below a simple example of some Lagoa cloth:
on the left is the point cloud with the Lagoa cloth particles (the yellow lines visualize the internal Lagoa structure) and on the right the meshed cloth (with extrusion and subdivision).  |
The tab "Advanced" (Point Clouds)
|
By default the ICE data "PointPosition" is used for the positions, "PointVelocity" for the velocity, etc.
In this tab you can specify another (compatible) ICE data.
For example you could create some own vectors in the ICE Tree, store them in an own ICE data and then use that data as velocity.
The buttons "Check" can be used to check if the specified data is available.
There are several ICE compounds available to get/set the liquid filament ICE data.
|
|
|
|
|
Chapter 7: Meshing the internal emFluid4 grids
|
The style of data used by emPolygonizer4 and emFluid is rather similar:
Some sort of 3D grid filled with "stuff".
It is possible to transfer the internal 3D grids of emFluid directly into emPolygonizer4 and then to mesh them. For example you could use the "heat" or the "waste" values for meshing. The picture on the right shows an example of the meshed waste grid. Note that the particles of the point cloud are not required.
In order to use this feature you obviously need a point cloud with an emFluid setup contained in its ICE Tree. Furthermore you need to have emFluid4 version 4.03 or higher installed. If the meshing of the fluid grids doesn't work then you probably have an older emFluid4 version installed. You can get the most recent version here.
|
How to mesh the fluid grids, step-by-step:
- Connect a point cloud that has an emFluid4 setup in its ICE Tree to emPolygonizer4.
- Go into the emPolygonizer4_PointCloud property page of the point cloud and set the "Use" parameter to "Use emFluid4 3D Grids", as shown in the picture on the right.
- The layout of the property changes. In the tab "emFluid4 3D Grids" you can choose the grids to use for the meshing:
Heat and/or Waste and/or Density.
Furthermore you can remap the grid values in order to adjust the meshing.
- Note:
- the emFluid velocity grid is automatically used when meshing with motion vectors.
- you cannot mesh the fluid grids with cached emFluid point clouds.
- you don't need any particles when meshing the internal emFluid grids ! So turn off any particle creation in order to speed things up.
|
|
|
Tips and Tricks, Trouble Shooting
|
|
Your issue is not listed here ? Write me a short email describing the problem !
- Tips and Tricks:
- Use the "Global Switches" in the tab "Advanced" when tweaking complex setups
Things can get a little slow when working on large setups, liquid filaments or a high LOD. In the tab "Advanced" are some global switches that you can use to disable all the things you don't need while tweaking parameters.
Example:
You are meshing a large point cloud and are tweaking the liquid filaments and the mesh smoothing. For that you do not need the whole point cloud, a small and representative part of the point cloud would be sufficient, so you could filter the points with an implicit volume or only use the tagged points for meshing.
- Check out the ICE Tree in the "Secondary Shape Modeling" stack

The operator stack of a typical emPolygonizer4 mesh has a "emPolygonizer4 operator" in the "Modeling" stack and an ICE Tree in the "Secondary Shape Modeling" stack". The purpose of the ICE Tree is to set the user data (motion vectors, vertex colors, etc). The picture on the right displays the "emP4 _ ICE Data Generator" compound and below you can see the compound's property page.

- Known Issues:
- KNOWN ISSUE (Linux):
The meshing is (much) slower when the Progress Bar is enabled.
- KNOWN ISSUE:
The "per point" ICE data color and uvw sometimes has 'drop outs'. This seems to be a Softimage issue.
Workaround: use the "per node" data instead.
- Trouble Shooting:
- PROBLEM: the motion blur looks terrible ! Is it a bug ?!
SOLUTION: you are probably trying to render motion blur with a non-cached emPolygonizer4.
When rendering motion blur you should always cache your geometry !
- PROBLEM: I cached some geometry and it looks blobby and ugly when imported into Maya or Max
SOLUTION: you have Disable Smoothing when writing Cache Files enabled.
When exporting geometry that is to be used with an applications other than emPoylgonizer3 you should disable that parameter.
See the tab "Caching" for more information.
- PROBLEM: I have a shape animated input mesh and am using "Simple as Primitives" and everything is flickering !
SOLUTION: go to the tab "Miscellaneous" and set the first parameter to siConstructionModeModeling.
|
|
|
Version History
|
- New in Version 4.0:
- Improved overall simulation performance.
- Improved overall caching performance.
- Greatly improved memory usage (about 60-70% less than before).
- New tab "UVWs" to create 3D texture coordinates (can be used for 2D textures, too).
- New cache file format that supports UVWs.
- ICE data can now be specified manually.
- Marching Tetrahedrons.
- Mesh fixing when reading cache files:
- repair double and non-manifold edges.
- close holes in mesh.
- A few bug fixes.
- New in Version 4.01:
- Bug fix: version 4.0 crashed with Softimage 2013. This was due to the clusters and the cluster properties.
The issue has been fixed in version 4.01.
- The clusters have been entirely replaced by ICE data.
- New in Version 4.03:
- Bug fix: version 4.01 had a serious memory leak due to an error in the ICE Tree in the Secundary Shape Modeling stack.
The issue has been fixed in version 4.02.
- The compound "ICE Data Generator" now has a boolean to set the wrapping of the texture projection.
- Some minor internal enhancements concerning the ".mzd" file format, in order to be fully compatible with the newest versions of emTopolizer and emReader.
- New in Version 4.15:
- The compound "ICE Data Generator" has been entirely revised. UVWs and Colors are now available as "per point" and "per node" ICE data.
- Deformation motion blur now works correctly with Mental Ray and Arnold.
- ICE data UVWs are now supported by SItoA and Arnold.
- Support of emBatch licensing.
- The file format ".mzd" now supports "per node" colors and UVWs.
- The file format ".obj" now supports "per point" and "per node" colors and UVWs.
- Bug fix: the PPG did not refresh correctly after using the "Browse" button in the tab "Caching".
- New in Version 4.16:
- Bug fix: there was a memory leak when reading cache files. This has been fixed.
|
|
|
Limitations and Remarks
|
- emPolygonizer4 runs fine with Softimage 2012 SP1 and above.
|
|
|