Common Operator Info
The envelope is applied using a matrix power operation, so differences in rotations appropriately alter the interpolated path between locations.
This operator is purely spatial, not temporal. However, temporal compensation can be applied by using something like a Houdini TimeShift operator on the reference input.
An optional Input Joints can be used as an alternative basis for tracking. Without joint tracking, rotational locking requires the Reference Surface.
For rotation locks, the node needs to determine how the cloud of points is orientated. It is best done by finding lever arms from center which are 90 degrees apart, such as to the front and to one side. There are three ways to determine these arms. The arms can be determined automatically with an internal best guess, perhaps finding the points with largest X value and the largest Z value. Specific points can be specified manually by index by turning on Force Arms and providing Index To Front and Index To Side. An index of -1 indicates no forced index, so it is easy to force just one of the two. The arms can also be specified using points in the Forward Point Group, activated with Use Forward Group, and Side Point Group, activated with Use Side Group.
Center points are used for both translational and rotational locks. The center points are computed automatically by default, but both can be manually specified with Source, activated with Force Source, and Destination, activated with Force Destination. Alternatively, the center can be determined by providing a Center Point Group, activated with Use Center Group.
If a joint surface is provided, activating Reference Joint will use the joint chosen by Name for the reference transform. Likewise, activating Input Joint will use the joint chosen by Name for the input transform.
If Update Locator is on, a locator of the given Prefix, if it exists, will be subject to the same transformation as the points in the input. The Output page provides the detected centers and the transform that was applied. They are made available to be wired into parameters of other nodes.
One way to impose a dependency in Houdini is to put a native Point node in the active dependency graph and then wire an auxiliary node, such as a HobbleOp, to the second input. That second input doesn't need to really be used for anything, but this ensures that the auxiliary node is appropriately provoked to update.
Web page, Copyright 2015, Free Electron Organization