### Fan in operation and feedback chop

2971   1   2
Member
26 posts
Joined: July 2005
Offline
I am reading the doc of certain chops, i don't quite understand the Fan in option of the Fan Chop, any simple example to demonstrate its use?

Also, I have problem in making the feeback chop to work, I tried getting a box, keyframed its translation, and feed the t to a geometry chop followed by a feedback chop, turned on delta time. Then in sop, i get the
t back to another box by a channel sop. I was expecting the second box would travel with the first box but a frame or a second lag behind, but the result is they travelled together. Any idea to demonstrate this chop?

Thanks for any tips….!!

Wesley Sin
Staff
4660 posts
Joined: July 2005
Offline
wes_sin
I am reading the doc of certain chops, i don't quite understand the Fan in option of the Fan Chop, any simple example to demonstrate its use?

'Fan in' is a pretty specialized option that allows you to convert a series of binary 0/1 (on/off) channels into 1 channel, with its value being the index of the channel that is ‘on’. It's the exact opposite of Fan Out. So, if at a given frame, I have 5 channels with the values:

0 # channel 0
0 # channel 1
1 # channel 2
0 # channel 3
0 # channel 4

and I run ‘Fan In’ on them, you'll get a single channel with the value of ‘2’ at that point. It is basically for turning a radiobutton-style set of on/off channels into the index of the button that's on.

Also, I have problem in making the feeback chop to work, I tried getting a box, keyframed its translation, and feed the t to a geometry chop followed by a feedback chop, turned on delta time. Then in sop, i get the
t back to another box by a channel sop. I was expecting the second box would travel with the first box but a frame or a second lag behind, but the result is they travelled together. Any idea to demonstrate this chop?

Feedback is another very specialized CHOP. For one, it's the only CHOP (or OP, I believe) that you can safely wire into an infinite loop. It's designed to work with time sliced mode, and it's output is the result of last cook (not just samples shifted 1 frame back).

Because of this, it's pretty tricky to wire properly. But try this, and you might get the idea:

1) Put down a waveCHOP; set it to ‘Square’.
2) Wire this into a trim CHOP, set the method to “Trim to Current Frame”
3) Connect to a math CHOP; set the ‘Combine CHOPs’ operation to Add.
4) Connect the math CHOP to the Feedback CHOP (don't display it)
5) Connect the Feedback CHOP into another Math CHOP, set the Multiply factor to 0.6 (or something less than 1).
6) Now - wire the 2nd Math CHOP back into the input of the first math CHOP - this will create a cycle (normally bad in Houdini, but because Feedback is designed to do this, it'll work).
7) Finally, use a Record CHOP to record the output of the 1st math CHOP (but wire it off to the side so it doesn't interfere with the above network).
7) Display the Record CHOP and press play. You'll notice the wave is lagged, similar to the way an electrical circuit would be going through a capacitor. That's because the network you've created with the 2 Maths and the Feeback is essentially running this equation:

V(t) = V(t) + 0.6 V(t-1)

You can build more complicated feedback loops using the same principle, but it's normally easier to use other CHOPs to get the job done.

To get your geometry lagged behind a frame, try using a Geometry CHOP attached to a switch CHOP with the index set to 1 - then feed the switch into a Feedback CHOP and attach it to the 2nd input of the switch. Fetch your geometry from the Switch.

If feedback starts to mess up, disconnect it from its input and reconnect to reset it.