interface version 1
Build separate objects (or SOPs) from SOP geometry primitive groups.
Given an input geometry with primitive groups in it, this operator can extract these groups by either creating a new Geometry or a new Object Merge SOP for each group.
Primitive groups extracted as GEO containers. (The default file box is processed with an Assemble SOP, resulting in 7 primitive groups. The extract tool created one GEO container for each group, in the OBJ network "objnet1". Some of the resulting objects are rotated manually afterwards.)
Note
Node creation, update and deletion is not automatic: they are performed when the user presses the Build/Update button.
The created objects and Object Merge SOPs have “live” procedural connection to the extract tool OP, so their geometry is automatically updated if the source geometry is changed. Manual update is required only if the number of primitive groups changes.
Notes
This operator behaves slightly differently than other SOPs (hence the “Tool” naming). It is more of a scene-management tool than a regular SOP.
It is intended mostly for the purpose of helping geometry import/export between other packages.
A few example scenarios:
A rigid body fracture simulation has to be exported, but the application at the other end requires a separate object for each fracture, and the only way it can be handled if these groups are present as OBJ nodes in Houdini.
Solution: a new OBJ node is created for each RBD primitive group (using our tool) in an OBJ network. These objects can now exported as required. (See the associated example scene on how to apply simulation results as transformation parameters on the OBJ level.)
Geometry received in an esoteric CAD format, which imports as one large polymesh with individual objects represented as primitive groups. For various purposes it is much more desirable to have these groups as separate OBJ nodes in Houdini.
(todo: finish these examples)
Warning
It is not recommended to use this tool for any procedural (e.g. regular Houdini) work as the way it works opposes the regular procedural workflow of Houdini.
Custom Object Merge SOPs
There is an option for explicitly specifying the operator type name of Object Merge SOPs. This allows using of “custom” Object Merge nodes (i.e. an user-defined digital asset, with the same parameters as a regular Object Merge.)
Such an user-defined asset can be useful for various geometry processing that can’t be performed before the pieces' extraction.
(A common example is creation/promotion of geometry detail attribute(s) with a different value for each resulting object: it cannot be done on the source geometry as all extracted pieces would inherit the same attribute value. To work around this, a new user-defined SOP can be created that performs the object merge, then the attribute creation.)
The following parameters are required on own Object Merge SOP variant(s) –
xformtype
(“Transform” – for world/object space transformations)objpath1
(“Object 1” – path to the geometry to merge)group1
(“Group 1” – name of the primitive group to merge)
Tip
For a practical example, see the PrimGroups Extract Piece qL operator.
Parameters
Created OPs |
| ||||||||||||
Object Merge SOPs |
| ||||||||||||
“Build/Update Objects” | Pressing this button will create the new Objects and/or SOPs. (Already existing nodes will also have their parameters updated, according to current node settings.) | ||||||||||||
“Cleanup (Delete) Objects” | This will delete all nodes created by this operator. | ||||||||||||
Delete All Subnet Contents on Updates | This is relevant only if a subnet is specified. When doing any update (either build/update or cleanup), this will delete all nodes within the subnet (not just the primgroup-related ones). Use with care. | ||||||||||||
Batch Mode (Suppress Dialogs) | If enabled, no informative dialog boxes will be displayed. (This can be useful if the operation is part of a more complex ROP network, for example.) Error message dialogs will not be suppressed. |
Known Bugs
Creating Object Merge SOPs within SOP subnets is not currently supported (and results in a python error message).
To Do
Fix the SOP subnet bug
Finish help card
Release Notes
interface version 1 —
2014-11-28 |
|
2014-08-25 |
|
2014-08-14 |
|
2014-07-24 |
|
2014-04-05 |
|
2013-07-23 | Added support for creating “custom” Object Merge SOPs, by explicitly specifying the operator type name. |
2013-07-07 | Descriptive parm now displays correct output path (i.e. it includes target subnet, if enabled). |
2013-05-11 | Added “Create Subnet” parameter (some more thorough testing should follow to filter out possible bugs). |
2013-05-11 | Added descriptive parm (info display in network view). |
2013-02-18 | Now uses an |
older versions —
Version 0.1.0 | Initial release. |