_The Extract Transform Sop gets its transform by comparing the points of two pieces of geometry._ This is a Sop version of it's object sibling, tailored for a production workflow with rigid body dynamics and Houdini Engine. It follows all the same general rules below: _________________________________________________________ The Extract Transform """Sop""" gets its transform by looking at the points of two SOP geometries. The difference of these point clouds is projected into a rigid transform consisting of a rotation and translation, and this then becomes the transform of this object. This extraction is very useful when you have baked geometry files which represent rigid motion and want to recover that rigid motion at object level. The resulting transform may contain reflections that will invert normals if the object is close to planar. To resolve this, you can add extra marker points to the two objects, such as an Attribute Wrangle set to `addpoint(geoself(), @P + 0.1*@N)`; to prevent extraction of an inverted transform. _________________________________________________________ This sop level version works on the principle of taking in three different inputs; your deforming geometry, your rest, and a hero geometry if you want to replace it. In a traditional rigid body workflow if you have a rest attribute you don't need the second input it will detect it and switch to using this instead of the frame of the geometry you want to extract. The third input the Hero piece is if you want to swap out this piece of geometry for another. This works based on a foreach based on the name attribute, by default for RBD sims. Whether or not you include the name one will be added to help do the the detection. If no rest or second input is added the first frame will be used to define the transform extraction. At the bottom of the UI the first transfrom is listed in its Translate, Rotate, Scale and Pivot method, TRSP. This is useful if you are working on one piece at a time and you want to copy and paste to a transform sop or null object. Additionally you can store these attributes on the geometry and are listest as t, r, s, pivot respectively. Translate and Rotate are toggles on as in the Object equivalent. You can also export these transforms as a point cloud if you want to do additional copy stamping methods or you can visualize the geometry as bounding boxes for debugging sakes. This sop also includes a deforming geometry extraction method. In which a lattice can be applied across the deforming geometry to extract an equivalent transform from it. The simple per piece transform will not match the completely deformed object, but it does get an extremely close fit in many use cases, such as, using a twist sop on a bride to get a nice bend then extracting a rigid motion that follows it closely. The divisions and paddings are loose so you can dial it in, or you can use your own defined lattice geometry.
|Asset Type:||Sop node|
|Created:||Jan. 24, 2017, 3:11 p.m.|
|Compatibility:||Houdini 15 to Houdini 16|
Updated Example hip file.