Weekly Recap 5

This week went by fast. Most of my time was spent refining work rather than making new content, but there were still a couple gems from this week from both the large projection job and some personal work. This week’s recap is all about cheating.

The CD I work with has always wanted to have cheat codes embedded in interactive installations. This project has so many retro arcade vibes it felt right. My approach in TD was to record x number of samples from the joystick chop, then compare that to a predefined “code” channel.

The trail chop has the option to record a sample only when the input cooks, this works well when using something like the keyboard chop, but the joystick cooks nonstop. My hack for this was to use a Cook on Value Change TOX from YouTube user Morphē.

This lets the trail chop record samples only when buttons are pressed. I set the number of samples to record based on the amount needed for the code. I lock the recorded version, duplicate the trail sop, then compare the two with a math / subtract.

I then do some post processing on that to ensure I’ll get a 0 value only when the codes match. Without this there were some errant 0 values. Lastly add a trigger CHOP set to descending values and wah la. Cheat code unlocked.

The code is a version of the Konami code.
Down, up, left, left, a, right, down

Grab the TOE, and try your luck.

In Houdini things were actually a lot more simple… not many people say that. On a personal project I found myself needing to see motion paths for an animated object. If you’re animating on the root / object level this is possible. In SOPs, you have to hack it.

I branch off my main node tree and drop a trail SOP set to preserve original, dial in the number, then put down a timeshift and set it to the end of my animation. Boom, onion skinning / motion path. Then I’m free to move my transform handles in space and see the result.

Duplicate mats in SOPs doesn’t work. Rendering with RS as points wont pick up the mat on particles, the attrib to assigns mats is a prim attrib. Have to assign the mat on the Obj instead. I had to make 25 Objs and merge in my set ups one by one. No biggie, next time I’ll know.

That’s it, just a couple tricks, but they took a while to explain. Thanks for checking in. Back to work.