interface version 2
Processes geometry to be more compatible with other 3d/CG applications (such as Maya).
This operator modifies geometry so it would contain only components that are
accepted (and recognized) by other 3d applications, such as Maya.
Parameters
General Settings
| Convert All to Polygons
| Convert all input geometry to polygons.
(Can be useful to turn “exotics”, such as packed prims or NURBS
into regular polygons.)
| Fix Particle Fluid Surface SOP results (experimental)
| An experimental method of fixing Particle Fluid Surface SOP results.
With the new VDB meshing modes, this might be considered obsolete.
| Decouple Particle Age/Lifespan Attributes
| Convert the single particle attribute to two distinct attributes
(so they can be properly exported.)
Age / Lifespan Attribute
| Names of the decoupled attributes.
| | Convert Per-Point Instance Attributes to Euler
| This converts
regular Houdini instancing attributes
(rotations)
to an Euler representation, required by certain particle instancers.
This option is mostly useful for particle/PartIO export (for geometry instancing purposes).
XYZ Rotate Attrib
| Name of the new attribute (per-point, vector) that stores the resulting
Euler XYZ rotation angles.
| XYZ Scale Attrib
| Name of the new attribute (per-point, vector) that stores the scale values
for each local axis.
| | Do Geometry Cleanup
| Same functionality as a Clean SOP
(see its documentation for details).
Note
The Remove Attribs option will not remove any attributes created by
the “Decouple Age/Lifespan” or “Convert Instance Attribs to Euler”
(see above).
| Add 'Fake' Geo
| Adds a single, very small triangular polygon to the geometry.
This allows Maya to detect the geometry type (as polymesh),
even if the geometry container is empty on the current frame.
Always Add
| The extra triangle will always be added.
| Only for Empty Geometry
| The extra triangle will only be added if the point or primitive count is zero.
(Based on the npoints and nprims fields from Geometry Info.)
|
Note
The extra triangle will always be added as the first polygon
in the geometry (with the 0 -th primitive index; point indices are 0-2 ).
| Centroid
| The 3d location of the extra triangle.
(Although it should be of no consequence, having it always at the origin
might affect things like bounding box calculations, hence this option.)
get
| This button will copy the bounding box center values of the current geometry
as centroid.
(First go to a frame where there’s geometry present.)
Uses the field values from the Geometry Info tab.
| | Jitter Seed
| If enabled, the small extra triangle will be point-jittered on each frame
(with the specified seed). This can be used to force deformation history
for the alembic file in Maya.
| |
Geometry Info
| This panel provides information about the input geometry for the current frame.
SOP Path (Input, Output)
| Paths to the geometry to get the information for.
The expressions point to the connected input SOP, and the last SOP inside the asset.
| Show for Output Geometry
| This switch toggles which geometry information should be displayed
(input geometry, or the resulting output of all the pre-export processing).
| Editable Fields
| Enabling this allows all the info fields to be edited (and a bit more readable, visually).
No editing will affect the actual geometry, obviously.
| BB ...
| Bounding box size, center and dimensions information.
| |
Geometry (Alembic)
| Geometry export mode.
Tuned towards geometry preferred by Maya, through the Alembic format.
(See Maya Notes below
on preferred attribute types, etc.)
Velocity from
| Convert attribute to per-face vertex class (with the new name of velocity ).
The original attribute class and name can be specified
(usually the defaults suffice).
Tip
In Maya, this will appear as a vertex color set on the geometry,
called velocity .
| UV from
| Convert attribute to per-face vertex class.
The original attribute class and name can be specified.
Make sure to switch to vertex if UVs are per-vertex.
| Color from
| Convert attribute to per-face vertex class.
The original attribute class and name can be specified.
Make sure to set up the proper class for Cd .
| Auto-Detect Attribute Classes
| This detects the class (point, vertex, etc.) of each of the above attributes,
and sets the UI menu parameters accordingly.
| Triangulate Geometry
| If enabled, all polygonal geometry will be triangulated.
(Read “Maya Notes / Topology” below for details.)
Recommended for procedurally-generated geometry with “irregular”
features (e.g. non-planar polygons, etc), such as meshed fluids.
Warning
This can have a considerable impact on performance
when exporting large amounts of geometry over many frames.
Consider passing a poly soup geometry, if possible.
(Poly soups can be 10-15x faster to triangulate.)
Convert to Poly Soup
| Converts the geometry to poly soup format right before the triangulation.
| Reference Frame
| The reference frame number for triangulation topology.
The resulting topology will always be equivalent of this frame’s
(i.e. there won’t be any “flipping” triangle edges over an animation).
| | |
Particle (PartIO)
| Particle (or point cloud) export mode.
(mostly about renaming important attribs to be compatible)
Rename (Velocity, ID, ...)
| ...
| |
Houdini Notes
Triangulation Performance
| Triangulation can be notoriously slow on large amounts of regular polygons.
Using poly soups however can give as much as 10-15x (!) speedups,
so using poly soups is highly recommended.
It is best to delete all primitive attributes and primitive groups
before converting to poly soups.
|
Maya Notes
Geometry Topology
| The Maya API can create polygons with arbitrary point counts, but it’s very sensitive to
invalid (e.g. non-planar) polygons and it simply refuses to create them.
(This is the opposite of Houdini’s tolerant behaviour.)
Even though an alembic file can store such polygons, the Maya API won’t be able to import them,
ending up with inconsistent topology.
Attribute import will also fail.
If a message is displayed in Maya about mismatching attribute array sizes and vertex counts,
usually it’s invalid-polygon related.
Recommended: clean up and triangulate the geometry.
|
Geometry Attributes
| Maya is completely missing out on general-purpose geometry attributes –
the only alternatives are Maya vertex colors (or “color sets”).
This is a per-face-vertex attribute class (the equivalent of "vertex" in Houdini).
Multiple color sets per geometry is supported.
The only way of exporting any attributes to Maya is to have them as a color type (RGB or RGBA),
and promote them as vertex in Houdini. A special import flag might also be
needed when importing in Maya (“-rcs”, see below).
Recommended:
Promote all desired attributes to vertex (called per-face-vertex in Maya)
In Maya, use the -rcs or -recreateColorSets flag of the AbcImport MEL command
(this forces all attributes to be imported as vertex colors)
|
Changing Topology, with Empty Geometry
| Maya can get confused when the exported geometry has no geometry at all at certain frames
(e.g. first and/or last frames of a fluid simulation), as it can’t detect the geometry type properly.
Recommended: Use the Add 'Fake' Geo option. This adds a single triangle to the geometry.
(This extra polygon will always be the first one in the primitive list [index 0],
so deleting it in Maya with History enabled should work properly.)
|
Changing Topology, Velocity and Motion Blur
| Obviously Maya cannot calculate motion blur for geometry that has a different topology
for each frame.
This node supports exporting the v attribute as a per-face-vertex class, called velocity ,
which will appear as a vertex color set of the same name within Maya.
(All above notes on attributes also apply.)
Note
Unfortunately it doesn’t mean that this will be utilized by the renderer on the Maya end.
This is a Maya technical issue to be resolved (according to one’s pipeline, etc).
|
Particle Attributes
| Maya only supports float and vector (3 floats) data types for per-particle attributes
(even the particle IDs are stored as floats).
Recommended: In case of any problems, try converting any other attribute data types
(e.g. int) to a Maya-supported type.
|
Particle Instancing
| The Maya particle instancer might require instance orientations to be specified using
an XYZ (Euler) rotation attribute (3 floats, rotation angles in degrees for each axis).
Use the Convert Per-Point Instance Attribs to Euler option.
|
PartIO Notes
PartIO is a framework for reading various geometry file sequences into a host application
as particles.
PartIO has no preferred file format – it can use any geometry file format to cache
particles.
In particular, the Maya plug-in allows to read .bhclassic
geometry sequences
as particle systems (even Maya’s particle instancer works with it).
Links:
To Do
option for “artifical” geometry animation by adding very small jitter to a single point
mark/warning about NaN geometry and/or topology changes between input and after-preprocessed stuff
attribute notes (color, velocity)
abc export attributes: v/uv/Cd “from” class auto-detect (button, see above)
triangulation notes (maya might not be able to read some non-triangulated geometry)
find an alternative, faster way of triangulation for non-changing topology (current one is slow for heavy geo)
partio: keep points only
Release Notes
interface version 2 —
2014-10-09
| |
2014-07-23
| Added “Per-Point Instance Attribs to Euler” options
Added “Triangulate as Poly Soup” option
“Remove NANs” is now disabled by default (as it is a performance hit)
Added toggle between input/output geometry in Geometry Info tab
|
2014-02-13
| |
2014-01-30
| Added...
Geometry Info tab
Add 'Fake' Geo option
|
2014-01-22
| First version of i2
Help card
|
interface version 1 —