emTopolizer (version 1.1) Online Documentation |
last modifications to this page: October 16th 2012
|
|
|
Chapter 1: Introduction
|
|
This plugin for Softimage|XSI's ICE is a special geometry tool to create, manipulate and cache polygonal geometry.
On the emTopolizer 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 emTopolizer and its usage. You might also try to search for "emTopolizer" 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:
- You need to install the two addons that are contained in the zip file:
the emTopolizer addon and the emTools addon.
- If you have a version 1.x or a beta of this plugin already installed 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".
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 1.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:
- the plugin will only work between frame 1 and frame 100.
- the polygonizer preset only accepts up to 5,000 positions.
|
|
|
Chapter 4: Quickly Creating emTopolizer Setups
|
|
There are several preset compounds available which will allow you to create an emTopolizer setup within minutes.
Please have a look at The Presets.
|
|
|
Chapter 5: The Compounds
|
|
All the emTopolizer compounds can be accessed in the ICE Tree viewer.
They are located in "Task -> Mootzoid - emTopolizer.
Tip: all compounds contain the word "t1" in their names, so simply enter "t1" in the search field to see all emTopolizer compounds. |
|
|
The Compound "Geometry Core"
|
|
This compound is the heart of any emTopolizer setup. It contains an even more primitive core called "Geometry Deep Core" which contains the actual ICE node that processes the geometry.
Apart from a handful of trivial boolean input parameters this core compound has inputs for the so-called "operators". Operators are small commands that tell the core what it shall do. They can either be entered directly (as a string) or as an operator compound (which basically is nothing more than a wrapper for the string).
The output ports of the core give access to the core's internal geometry, i.e. the topology, vertex islands and the vertex/node data.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the core.
- Verbose
Enables/disables verbose in the history log.
It is also possible to enable some advanced verbosing by entering this compound and then enabling "Verbose Adv".
- Operators
- Operator
Plug as many operators in here as you wish.
- The Output Port(s):
- Geometry
- Is Valid
Outputs 'True' if the geometry is in a valid state.
- Topology
The topology (as ICE topology).
- Vertex Position Array
The array of vertex positions of the geometry.
- Polygonal Description
The polygonal description of the geometry.
- Vertex Islands
- Island ID Array
An array containing the IDs of the vertex islands.
Note: a "vertex island" is simply all the vertices of a polygon island.
- Island Center Array
An array containing the centers of the vertex islands.
- Island surface Area Array
An array containing the surface area of the vertex islands.
Note: an example on how to use the vertex islands can be found here:
emTopolizer 1.00 Tutorial 03 - Vertex Islands
- (per Vertex) Data
- Motion Array
An array containing the motion vectors of each vertex.
It can be plugged into the input port of the Set Motions compound or into other emTopolizer compounds as for example the Geometry Builder preset.
- Normal Array
An array containing the normal vectors of each vertex.
It can be plugged into the input port of the Set Normals compound or into other emTopolizer compounds as for example the Geometry Builder preset.
- UVW Array
An array containing the texture coordinate of each vertex.
It can be plugged into the input port of the Set UVWs compound or into other emTopolizer compounds as for example the Geometry Builder preset.
- Color Array
An array containing the color of each vertex.
It can be plugged into the input port of the Set Colors compound or into other emTopolizer compounds as for example the Geometry Builder preset.
- (per Node) Data
- Normal Array
Same as above but with one value per polygon node.
- UVW Array
Same as above but with one value per polygon node.
- Color Array
Same as above but with one value per polygon node.
|
|
|
The Compound "Get Topo from Object"
|
|
This operator gets the geometry from another object (specified by its name) and either sets or merges it with the current geometry.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- In Name
The name of the input object. This can be any object in the scene as long as it is a polygon mesh.
- Use Object Global SRT
If enabled then the object's global SRT is taken into consideration when gathering the vertices, normals, etc., else the local values are used.
- Mode
Replace: replaces the current geometry by the input object's geometry.
Merge: merges the input object's geometry to the current one.
- Misc
- Get Motions
Get the motion vectors (if any).
- Get Normals
Get the normal vectors (if any).
- Get UVWs
Get the texture coordinates (if any).
- Get Colors
Get the vertex colors (if any).
- Data Names
Motion vectors, normal vectors, texture coordinates and vertex colors are available in several formats: clusters, texture projections, ICE data, etc.
By default this operator will simply take the first data it finds (e.g. the first texture projection). It is however possible to explicitely tell the operator which data it should take. Simply enter the name of the cluster, cluster property, texture projection or ICE data that shall be used. Note that certain names are case sensitive.
If the explicitely specified cluster/property/ICE Data/etc. could not be found then the operator will output an error in the history log.
- The string "auto" (or an empty string "") will make the operator take the first data it finds.
- The string "auto-no-warning" is identical to "auto" except for the fact that the operator won't fail if some data could not be found or accessed.
- Motions
Name of the motion data or "auto" for default.
- UVWs
Name of the UVW data or "auto" for default.
- Colors
Name of the color data or "auto" for default.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Read Topo from File"
|
|
This operator gets the geometry from a cache file and either sets or merges it with the current geometry.
For more information regarding the supported cache file formats please go to Chapter 6: Supported File Formats.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Path
The path where the cache file(s) are located.
- Filename
The filename and extension of the cache file(s).
- Mode
Replace: replaces the current geometry by the cache file geometry.
Merge: merges the cache file geometry to the current one.
- Misc
- Load Motions
Load motion vectors (if contained in the cache file).
- Load Normals
Load normal vectors (if contained in the cache file).
- Load UVWs
Load texture coordinates (if contained in the cache file).
- Load Colors
Load vertex colors (if contained in the cache file).
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Write Topo to File"
|
|
This operator will write the current geometry to disk.
For more information regarding the supported cache file formats please go to Chapter 6: Supported File Formats.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Skip existing Files
If enabled then existing cache files are skipped.
- Path
The path where the cache file(s) will be saved.
- Filename
The filename and extension of the cache file(s).
- Create Folders if necessary
If enabled then any missing folders will automatically be created.
- Use binary format if possible
If enabled then the caches will be saved as binary files (if supported by the file format).
- Misc
- Motions
Save the motion vectors (if any and if supported by the file format).
- Normals
Save the normal vectors (if any and if supported by the file format).
- UVWs
Save the texture coordinates (if any and if supported by the file format).
- Colors
Save the vertex colors (if any and if supported by the file format).
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Blur Colors"
|
|
This operator blurs the vertex colors (if any) using Laplacian Smoothing.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Amount
The blur amount.
- Iterations
The number of iterations of the Laplacian Smoothing.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Blur Motions"
|
|
Same as Blur Colors but for the motion vectors.
|
|
|
The Compound "Blur Normals"
|
|
Same as Blur Colors but for the normal vectors.
|
|
|
The Compound "Blur UVWs"
|
|
Same as Blur Colors but for the texture coordinates (UVWs).
|
|
|
The Compound "Clear"
|
|
This operator clears the entire geometry.
- The Input Port(s) and Parameter(s):
- Clear Geometry
Enables/disables the operator.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Close Holes"
|
|
This operator closes holes in the geometry.
It is typically used when creating or reading polygonizer meshes.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Max Size
The maximum size of a hole.
If a hole has a diameter larger than this value then it is not closed.
- Max Vertices
The maximum amount of vertices for a hole.
If a hole has more vertices than this value then it is not closed.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Disconnect"
|
|
This operator disconnects all polygons. Furthermore it is possible to extrude the disconnected polygons.
- The Input Port(s) and Parameter(s):
- Disconnect all Polygons
Enables/disables the operator.
- Main
- Enable Extrusion
If true then the disconnected polygons are extruded.
- Direction
The extrusion direction.
- Length
The extrusion length.
This is either in SI Units or it is relative to the adjacent edges, depending on the value of the parameter "Lengths" (see below).
- Scale
Scales the extruded polygons.
- Consider Edges
- Lengths
If extrusion is enabled then this parameter defines the behavior of the extrusion length:
- Ignore
Ignore the edges (the extrusion length is then in SI Units).
- Adjacent Edges of Polygon
Consider only the adjacent edges of the disconnected polygon to which a vertex belongs.
- All Edges of Polygon
Consider all edges of the disconnected polygon to which a vertex belongs.
- All adjacent Edges
Consider all adjacent edges before the polygons are disconnected.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Extrude"
|
|
This operator extrudes all polygons.
It is typically used as a "thickness" effect.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Inside
Length of the inside extrusion.
This is either in SI Units or it is relative to the adjacent edges, depending on the value of the parameter "Consider Edge Lengths" (see below).
- Outside
Length of the outside extrusion.
This is either in SI Units or it is relative to the adjacent edges, depending on the value of the parameter "Consider Edge Lengths" (see below).
- Misc
- Consider Edge Lengths
If true then the inside/outside extrusion length depends on the lengths of the adjacent edges.
- Edge-Length-Leveling
The amount of leveling (smoothing) when calculating the adjacent edge lengths.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Fix Edges"
|
|
This operator fixes problematic edges.
Problematic edges are either non-manifold edges (= edges that are used by more than two polygons) or double edges.
This operator ensures that only correct edges are contained in the geometry. Certain renderers (e.g. Arnold) require a clean geometry when performing things like subdivision surface.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Fix non-manifold Edges
Enable this to fix non-manifold edges.
- Fix double Edges
Enable this to fix double edges.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Generate Normals"
|
|
Generates (or re-generates) node normal vectors based either on the vertex normals or the polygon normals.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Overwrite Node Normals
If the geometry already has node normal vectors then this operator does not generate normals.
Enabling this option will force a re-generation of the normals.
- Mode
Specifies the source normals that will be used to generate the node normals.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Invert"
|
|
This operator inverts all polygons (the normal vector as well as the order of the vertex indices).
- The Input Port(s) and Parameter(s):
- Invert Polygons
Enables/disables the operator.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Merge Vertices"
|
|
This operator merges border vertices.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Mode
The merge mode.
- Distance
Border vertices are only merged together if they are closer to each other than this value.
- Max Vertices
The maximum amount of vertices that are merged into a single vertex.
- Misc
- Octree-Depth
Depth of the internal octree which is used to find close border vertices.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Push"
|
|
This operator pushes the vertices along the normal vectors.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Length
The push length.
This is either in SI Units or it is relative to the adjacent edges, depending on the value of the parameter "Consider Edge Lengths" (see below).
- Misc
- Consider Edge Lengths
If true then the push length depends on the lengths of the adjacent edges.
- Edge-Length-Leveling
The amount of leveling (smoothing) when calculating the adjacent edge lengths.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Quadrangulate"
|
|
Quadrangulates the geometry.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Incidence Angle
The maximum difference between the normals of two adjacent triangles.
Higher angle values result in more quads.
- Max Corner Right Angle Deviation
The maximum allowed deviation from a right angle.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Smooth"
|
|
This operator smoothes the geometry.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Iterations
Amount of iterations when smoothing.
Note that this is a scalar value.
- Misc
- 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.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Smooth Facing"
|
|
This operator smoothes those parts of a geometry that are facing a certain direction.
The smoothing algorithm was designed to help improve the quality of polygonized meshes which are based on liquid simulations. It will produce nice and even surfaces without shrinking the borders of the mesh.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Strength
The strength of the smooth effect.
- Gamma
A gamma for the smooth strength falloff between those parts of the geometry that are facing a certain direction and those that are not.
- Iterations
The number of iterations of the Laplacian Smoothing.
- Direction
The direction.
The parts of the geometry that have their normal vectors pointing into this direction will be smoothed.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Sort Polygons"
|
|
This operator sorts the polygons in Z, Y and X.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Sort Vertices"
|
|
This operator sorts the vertices in Z, Y and X.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Compound "Triangulate"
|
|
This operator triangulates the geometry.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the operator.
- Main
- Triangulate
The triangulation mode.
- The Output Port(s):
- Operator
Plug this into a free port of an operator stack.
|
|
|
The Preset Compound "Geometry Builder"
|
|
This preset sets the geometry from the input topology as well as some optional input vertex/node data. The operator stack can then be used to modify/cache that geometry.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- Verbose
Enables/disables verbose in the history log.
- Input Topo
- Vertex Position Array
The input array of vertices.
- Polygonal Description
The input polygonal description.
- Input Data
- Motions
Optional array with vertex motion vectors.
- Normals
Optional array with vertex or node normal vectors.
- UVWs
Optional array with vertex or node texture coordinates.
- Colors
Optional array with vertex or node colors.
- Post Operator Stack
- Operator
Plug as many operators in here as you wish.
- The Output Port(s):
- For information regarding the output port(s) check out the description of the corresponding output ports of the Geometry Core.
|
|
|
The Preset Compound "Geometry Free Reader"
|
|
This presets sets the geometry from a cache file.
It is called "Free" because it does not require any license.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- Verbose
Enables/disables verbose in the history log.
- Inputs
- In Filepath
The path, filename and extension of the cache file(s).
- The Output Port(s):
- For information regarding the output port(s) check out the description of the corresponding output ports of the Geometry Core.
|
|
|
The Preset Compound "Geometry Reader"
|
|
This presets sets the geometry from a cache file. The operator stack can then be used to modify/cache that geometry.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- Verbose
Enables/disables verbose in the history log.
- Inputs
- In Filepath
The path, filename and extension of the cache file(s).
- Parameters
- Load Motions
Load motion vectors (if contained in the cache file).
- Load Normals
Load normal vectors (if contained in the cache file).
- Load UVWs
Load texture coordinates (if contained in the cache file).
- Load Colors
Load vertex colors (if contained in the cache file).
- Post Operator Stack
- Operator
Plug as many operators in here as you wish.
- The Output Port(s):
- For information regarding the output port(s) check out the description of the corresponding output ports of the Geometry Core.
|
|
|
The Preset Compound "Geometry Writer"
|
|
This preset caches a scene object to disk.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- Verbose
Enables/disables verbose in the history log.
- Inputs
- In Source Geometry
The name of the input object.
Note: the object must be a polygon mesh.
- Parameters
- Filepath
The path, filename and extension of the cache file(s).
- Skip existing Files
If enabled then existing cache files are skipped.
- Create Folders if necessary
If enabled then any missing folders will automatically be created.
- Use binary format if possible
If enabled then the caches will be saved as binary files (if supported by the file format).
- Data
- Motions
Save the motion vectors (if any and if supported by the file format).
- Normals
Save the normal vectors (if any and if supported by the file format).
- UVWs
Save the texture coordinates (if any and if supported by the file format).
- Colors
Save the vertex colors (if any and if supported by the file format).
- The Output Port(s):
- Execute
Plug this into an execute port.
|
|
|
The Preset Compound "Polygonizer"
|
|
This preset will create geometry based on an array of input positions, sizes and isovalues.
This new polygonizer uses an entirely new core for the polygonization and it is much faster than all the previous emPolygonizers. The new technique is also extremely memory friendly, meaning that it now is finally possible to mesh literally dozens of millions of particles without any memory issues.
Note(1): not all of the polygonizer's features are exposed in this preset. To access the additional features simply enter the compound to find the so-called "Deep Polygonizer" compound.
Note(2): in order to get the most out of this polygonizer it is helpful to understand the concept of the so-called "isofield".
Click here to read a short description regarding isofields.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- Parameters
- 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.
- Detail (a.k.a "Level of Detail" a.k.a "LOD")
Defines how much detail is generated. Higher values result in more detail, but require 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.
- Simulation
- Enable Left + Right CTRL to Cancel
If enabled then you can cancel the operation by pressing simultaneously the left and right CONTROL keys.
Note: this is only available for Windows.
- Calculate Motions
Enables/disables the calculation of motion vectors.
Note that this is only used if the input port "In Velocity" has some valid data (= an array of the same size as "In Position").
- Inputs
- In Position
This is the main input array. It contains the positions of the "spheres" that are going to be used to fill the iso field which will then be polygonized.
- In Radius
The radius of the spheres.
This can either be an array of the same size as "In Position" or a single value.
- In Falloff
The falloff length of the spheres.
This can either be an array of the same size as "In Position" or a single value.
- In Mode
The mode to use when filling the internal iso field.
This can either be an array of the same size as "In Position" or a single value.
Note: the "Overlay" is recommended as it produces better looking results, especially when dealing with non-homogeneous input positions.
- In Isofactor
The isofactors of the spheres.
This can either be an array of the same size as "In Position" or a single value.
- In Velocity
The velocity of the spheres.
If "Calculate Motions" is enabled and if this is an array of the same size as "In Position" then motion vectors are calculated for the polygonizer mesh.
- Post Operator Stack
- Operator
Plug as many operators in here as you wish.
- The Output Port(s):
- For information regarding the output port(s) check out the description of the corresponding output ports of the Geometry Core.
|
|
|
The Preset Compound "Shatterizer"
|
|
This preset will create a shattered geometry based on an input object.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- Inputs
- In Source Geometry
The name of the input object.
- Parameters
- Enable Extrusion
If true then the disconnected polygons are extruded.
- Direction
The extrusion direction.
- Length
The extrusion length.
This is either in SI Units or it is relative to the adjacent edges, depending on the value of the parameter "Lengths" (see below).
- Scale
Scales the extruded polygons.
- Consider Edges
- Lengths
If extrusion is enabled then this parameter defines the behavior of the extrusion length:
- Ignore
Ignore the edges (the extrusion length is then in SI Units).
- Adjacent Edges of Polygon
Consider only the adjacent edges of the disconnected polygon to which a vertex belongs.
- All Edges of Polygon
Consider all edges of the disconnected polygon to which a vertex belongs.
- All adjacent Edges
Consider all adjacent edges before the polygons are disconnected.
- Post Operator Stack
- Operator
Plug as many operators in here as you wish.
- The Output Port(s):
- For information regarding the output port(s) check out the description of the corresponding output ports of the Geometry Core.
|
|
|
The Preset Compound "Thickenizer"
|
|
This preset will create a thickened geometry based on an input object.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- Inputs
- In Source Geometry
The name of the input object.
- Parameters
- Inside
Length of the inside extrusion.
This is either in SI Units or it is relative to the adjacent edges, depending on the value of the parameter "Consider Edge Lengths" (see below).
- Outside
Length of the outside extrusion.
This is either in SI Units or it is relative to the adjacent edges, depending on the value of the parameter "Consider Edge Lengths" (see below).
- Consider Edge Lengths
If true then the inside/outside extrusion length depends on the lengths of the adjacent edges.
- Post Operator Stack
- Operator
Plug as many operators in here as you wish.
- The Output Port(s):
- For information regarding the output port(s) check out the description of the corresponding output ports of the Geometry Core.
|
|
|
The Preset Compound "UVW Engineer"
|
|
This preset can be used to generate texture coordinates for geometry. It is very versatile and can even be used to create UVs for cached sequences coming from other applications as for example RealFlow.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- Input Topo and Motion (Mandatory)
- Vertex Position Array
The array of vertex positions of the input topology.
- Polygonal Description
The polygonal description of the input topology.
- Motion Array
The array of vertex motions (velocity). This array must have the same size as the vertex position array.
Note: without correct motion the UVW Engineer will not produce texture coordinates that follow the flow of the mesh!
- Motion is in Units per Second
Specifies whether the input motion is "per second" or "per frame".
Particle velocity typically is "per second", however the motion vectors of geometry are often "per frame".
- Init - Frame
- Initialize if
The condition that must be fulfilled for the initialization to occur.
- Start Frame
The initialization start frame.
- Init - Topo and UVWs (Optional)
- Vertex Position Array
The array of vertex positions of the optional input initialization topology.
- Polygonal Description
The polygonal description of the optional input initialization topology.
- UVW Array
An array of texture coordinates that shall be used for the initialization.
If not specified then the input vertex positions are used for the initialization.
- Initialization Volumes
- Volumes (Implicit Cubes)
One or more implicit cube initialization volumes.
- Volumes (Implicit Spheres)
One or more implicit sphere initialization volumes.
- Enable
Enables/disables the initialization volumes.
- Strength
The strength of the initialization volumes.
- The Output Port(s):
- For information regarding the output port(s) check out the description of the corresponding output ports of the Geometry Core.
|
|
|
The Compound "Get Polygonal Description"
|
|
Gets the polygonal description array.
- The Output Port(s):
- Polygonal Description
The polygonal description as an array of integers.
|
|
|
The Compound "Get Topology"
|
|
Gets the topology as an array of vertices (= point positions) and an array containing the polygonal description.
|
|
|
The Compound "Get Vertex Array"
|
|
Gets the vertex array.
- The Output Port(s):
- Vertex Array
The vertex array (= the array of point positions).
|
|
|
The Compound "Set Colors"
|
|
Sets the vertex or node colors from an input color array.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- In Color Array
The input array.
The size of this array must be equal the amount of vertices or equal the amount of nodes.
- The Output Port(s):
- Execute
Plug this into an execute port.
|
|
|
The Compound "Set Motions"
|
|
Sets the vertex motion from an input motion array.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- In Motion Array
The input array.
The size of this array must be equal the amount of vertices.
- Scale
A scale for the motion vectors.
- The Output Port(s):
- Execute
Plug this into an execute port.
|
|
|
The Compound "Set Normals"
|
|
Sets the vertex or node normals from an input normal array.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- In Normal Array
The input array.
The size of this array must be equal the amount of vertices or equal the amount of nodes.
- The Output Port(s):
- Execute
Plug this into an execute port.
|
|
|
The Compound "Set UVWs"
|
|
Sets the vertex or node texture coordinates from an input vector array.
- The Input Port(s) and Parameter(s):
- Enable
Enables/disables the compound.
- In UVW Array
The input array.
The size of this array must be equal the amount of vertices or equal the amount of nodes.
- Wrap
- U / V / W
Enables/disables wrapping.
- The Output Port(s):
- Execute
Plug this into an execute port.
|
|
|
Chapter 6: Supported File Formats
|
|
The supported geometry cache file formats:
- "Proprietary, binary (.mzd)"
this binary proprietary file format is the default for caching geometry.
Its file size is the smallest, making it the best choice for distributed rendering, and it supports vertex colors, motion vectors, user normals and UVWs.
- "Proprietary, binary (.emp2)"
this binary proprietary file format supports vertex colors, motion vectors and user normals.
These files are compatible with older emPolygonizer versions as well as the built-in Polygonizer of Softimage 2011.5 and above.
- "Wavefront (.obj)"
the Wavefront obj file format is a well-known ASCII file format which is supported by most of the existing 3D packages, making it a good choice if you want to re-use the cached geometry in another 3D software or maybe even edit the files with a text editor.
The disadvantages of the obj file format are the relatively large file sizes (longer read and write times, especially in a network) as well as the fact that vertex colors and motion vectors are not supported.
- "Proprietary, ascii (.emp2)"
this proprietary file format is a basic ASCII format, similar to the Wavefront format.
It has all the disadvantages of the Wavefront format (i.e. file size) and is definitely not supported by any other 3D package.
Its two main advantages are the fact that it is an ASCII format (and therefore editable) and that this format supports vertex colors, motion vector colors, etc.
These files are compatible with older emPolygonizer versions as well as the built-in Polygonizer of Softimage 2011.5 and above.
- "RealFlow (.bin)"
the binary geometry format from RealFlow that can easily be imported into Maya or 3ds Max.
It supports motion vectors and UVWs.
|
|
|
Tips and Tricks, Trouble Shooting
|
- Tips and Tricks:
- Look into the preset compounds.
The preset compounds are nothing more than ready-to-use emTopolizer setups. Entering these compounds can give you an idea on how to build your own setups.
- Known Issues:
- User Normals and ICE User Normals.
When using the operator "Get Topo from Object" to get the data from a polygon mesh that
has user normals and ICE user normals then weirds things happen, sometimes Softimage will even crash.
- User Motions and Softimage 2012 - 2013 SP1.
The bad news: due to a bug in the XSI SDK the ICE data "PointUserMotions" is not properly gathered by emTopolizer.
The workaround: copy the "PointUserMotions" data into some own "3D Vector per Point" ICE data and use that instead.
The good news: this issue has been fixed in Softimage 2014.
- Unable to connect the "Set Topology" port with an "Execute" port.
This frankly weird issue occurs with certain graphics cards (e.g. NVIDIA GeForce GTX 650 Ti).
It appears to be related to the fact that the output ports are grouped.
The workaround: instead of connecting "Set Topology" with "Execute" you do the opposite:
click on the "Execute" port and connect it with the "Set Topology" port.
- Trouble Shooting:
- PROBLEM: The UVs created by the UVW Engineer do not follow the geometry.
SOLUTION: The UVW Engineer needs vertex motions in order to produce correct UVs.
Make sure that the input port "Motion Array" has some correct motions plugged into it.
You might also try to enable (or disable) the parameter "Motion is in Units per Second".
|
|
|
Version History
|
- New in Version 1.0:
- New in Version 1.02:
- Bug fix (Linux): certain Linux distributions threw an error when using the "I.O." operators.
- Small bug fix regarding the gathering of UVWs when using "auto".
- New in Version 1.1:
- The .mzd file format now supports "per Vertex" or "per Node" normals, UVWs and colors.
- The gathering of scene object's data (normals, motions, UVWs and colors) has been improved.
- The operator "Get Topo from Object" has been improved.
- The compound "Set Motions" now has a parameter "Scale".
- All demo scenes have been updated to the new compounds.
- The workflow regarding the usage of "Geometry Reader/Writer" has been improved.
|
|
|
Limitations and Remarks
|
- emTopolizer runs fine with Softimage 2012 SP1 or above.
|
|
|