About Me

Not Specified
Not Specified


Recent Forum Posts

Multi object/channel CHOP Structure question. Jan. 17, 2018, 3:49 p.m.

I am looking for a way to drive the transform components of multiple objects with a single CHOP network if possible. I am currently using a fetch node to gather input channels and an export node to direct the resultant output. The problem I'm running into is that the fetch and export nodes order the channel data differently. For example, setting up the fetch to bring in t r & z delivers the expected channels, ordered as expected: channels grouped by object first, then component. But the export node does not respect or maintain that order. Instead, export jumbles the channels, ordering by component instead of object. This is what the mapping looks like:

object01.tx –> object01.tx
object01.ty –> object02.tx
object01.tz –> object03.tx
object02.tx –> object01.ty
object02.ty –> object02.ty
object02.tz –> object03.ty
object03.tx –> object01.tz
object03.ty –> object02.tz
object03.tz –> object03.tz

To get around this I have created a single CHOP network to handle each component individually: There is a CHOP network for tx, one for ty, one for tz, etc. This is rather bulky and seems less efficient than using a single network. Is there a better way to do this?


Hierarchy Manipulation (Bug?) Jan. 16, 2018, 2:41 p.m.

My bad. The inverter's parameters are not referencing themselves. They are referencing the handle's parameters. That was a transcription error on my part. The uploaded sample files do not have this issue. I've updated the original post to reflect the expressions accurately.

Stranger, this problem seems to be intermittent. I just loaded the file that I posted earlier and I can't reproduce the problem.

Hierarchy Manipulation (Bug?) Jan. 16, 2018, 1:06 p.m.

I am coming from Maya and have a question about how Houdini handles hierarchical transformation in the context of manipulation. I'm attempting to do something that works fine in Maya, but behaves erratically in Houdini.

The hierarchy looks like this:


The inverter has expressions on the translate channels that look like this:
tx: ch(“../handle/tx”)*-1
ty: ch(“../handle/ty”)*-1
tz: ch(“../handle/tz”)*-1

The result is intended to negate translation, so the handle appears to be stationary, but in fact it stores some offset data in the translate attributes. If the values are entered and keyed on the handle's translate properties using the parameter interface, everything works as expected.

But if the translate manipulator is used instead (dragged in the viewport), the behavior becomes erratic. It looks like there is an accumulation problem due to how manipulation is being handled.

Rather than storing an initial manipulation identity vector at the start of manipulation, it appears a new vector is calculated as long as the manipulation cycle is active and there is a non-zero delta. Consequently, there is an undesirable additive effect that makes this technique unusable: The inverter shoots off quite quickly when it should just move in the opposite direction and magnitude of the cumulative manipulation vector. It is also unwieldy in when reversing direction of the manipulator, resulting in a rather laggy and sluggish feel.

In Maya this does not happen. I'm hoping this can be considered a bug because it is a technique I use a great deal for rigging. In this example I'm using translation, but this works equally well for rotation.

Attached is a file that has 2 simple hierarchies that are set up very similarly. The only difference is that one hierarchy is built using nulls, while the other is built from geometry nodes. Other than that, the functionality is identical. Just grab one of the green rings and drag a little. Watch what happens to the red box.