Recreating ICE's "Modulate by Null"

User Avatar
Member
30 posts
Joined: Oct. 2013
Offline
Hi guys, Since I use ‘Modulate by Null’ so extensively in ICE, and I couldn't really find an equivalent tool out of the box in Houdini, I figured I'd take a stab at creating my own.

This was really a learning process for me, and I thought it may be helpful for those making the transition to Houdini - so I recorded a video explaining how I made the digital asset, and how to use it in a variety of situations. Apologies for it being so long, but hopefully some people will find it useful:

https://vimeo.com/93915199 [vimeo.com]
**The video is a bit blurry due to vimeo's downrez compression. If you have issues with that you can always download the source file which is much crisper.

I'm really new to Houdini, so please forgive the stumbles.

Also, you'll find the digital asset attached to this post. Cheers, and by all means, let me know if this can be done in a more elegant way.

Attachments:
attachment ModByNull_v01.otl (15.4 KB)

 Report
#1
User Avatar
Member
243 posts
Joined: Oct. 2012
Offline
looks really cool! will have take more deeper look into this.
thanks for sharing!
 Report
#2
User Avatar
Member
43 posts
Joined: Aug. 2013
Offline
Nice one Keith!

Cheers, Nick
 Report
#3
User Avatar
Member
10 posts
Joined: March 2014
Offline
Really useful to see the direct comparison with the ICE tree. I didn't know you could drag and drop expressions which starts to make it easier already. Great stuff.
 Report
#4
User Avatar
Member
30 posts
Joined: Oct. 2013
Offline
Hey thanks guys. Yeah, learning Houdini definitely is a process for sure, but at least the experience with ICE is a solid primer for understanding key concepts.

I think my eventual goal in all of this is not to translate Softimage into a Houdini environment, but rather, to look beyond both packages to the raw math that drives everything, and then just build some tools to manipulate the math. Yes, Houdini does some things differently than SI, but at least there are hardly any barriers to cleanly manipulating the data. I mean, just that fact that you can write inline VEX code to create a custom VOP without resorting to externally compiled c++ is pretty enticing (I am not a coder, so both of these could very well be a stretch for me!)

I'll be the first to admit that it took me a painfully long time to really understand how ICE worked. One day it just clicked after working tutorials for weeks. I'm assuming the process with Houdini will be similar.

My eyes are starting to bleed from watching so many tutorials, but things are starting to make sense. I hope to quickly get beyond the simple things like the interface, various panel displays, menu options, and keyboard shortcuts - build a little muscle memory - so I can really get into the good stuff.

It's like learning a musical instrument - it takes time.
 Report
#5
User Avatar
Member
3194 posts
Joined: June 2012
Offline
Make a YouTube: “Learning to dance Houdini-land.”

Girl Learns to Dance in a Year (TIME LAPSE)
https://www.youtube.com/watch?v=daC2EPUh22w [youtube.com]
What one fool can do, another can.
 Report
#6
User Avatar
Member
65 posts
Joined: May 2014
Offline
Hi Keith,

Thanks again for this video, my eyes as well are bleeding after wathing so many tutorials

You mention a qlib digital asset, how is that accessed and installed in houdini?

thanks,
Cris
 Report
#7
User Avatar
Member
54 posts
Joined: Aug. 2011
Offline
I must say its not like one assets, but a bunch on nodes/assets. I think there were around 100 nodes, 42 base nodes and 47 experimental nodes.

You can download and find an install tutorial here:

https://github.com/qLab/qLib [github.com]


They also post some cool stuff on theyr facebook page demonstrating qlib in action and what new is coming.

https://www.facebook.com/qLibHoudini [facebook.com]

Cheers,
Tom
 Report
#8
User Avatar
Member
30 posts
Joined: Oct. 2013
Offline
Yep that's the link. Thanks Tom.

The opTransform_ql node that I used in the example turned out to be a fairly simple implementation of an inline VEX code snippet. I believe it was just a single line calling the built-in opTransform() function. Still, had I not installed qLib, it probably would have taken me awhile to figure it out :wink:

The qLib collection is really stellar and gives you a whole slew of useful compounds. Having said that, I'm trying to refrain from relying on them so that I can make sure to learn the fundamentals of Houdini in a deeper way. It's good to know there's stuff like that out there though.

I was only made aware because of this useful thread:
http://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=31366 [sidefx.com]

One other thing that took me awhile to figure out, was the proper way to deal with the interchange of strings and numerical values in the expression fields…that is, dealing with backticks and such. It was crucial to get a solid grip in order to control the flow of expressions from the digital asset on through to the sop and vop nodes. I won't go into it here, but those that dive into creating digital assets will certainly stumble upon it. Nothing like good old fashioned trial and error.
 Report
#9
User Avatar
Member
636 posts
Joined:
Offline
Keith Johnson
Yep that's the link. Thanks Tom.

The opTransform_ql node that I used in the example turned out to be a fairly simple implementation of an inline VEX code snippet. I believe it was just a single line calling the built-in opTransform() function. Still, had I not installed qLib, it probably would have taken me awhile to figure it out :wink:

In theory you could achieve the optransform() with a built-in houdini VOP node (don't remember its name right now) – the node compiles to optransform(), but the “object” mode wasn't working, so we came up with that asset as a workaround.

The qLib collection is really stellar and gives you a whole slew of useful compounds. Having said that, I'm trying to refrain from relying on them so that I can make sure to learn the fundamentals of Houdini in a deeper way. It's good to know there's stuff like that out there though.

What qLib really is (although we never “advertise” it that way), it is a kind of an initiative. We realized we'll need to build an asset library, and instead of going for keeping it in-house, we publish everything right from the beginnings. Making it public forces us to actually adhere to some standards and avoid the “in-house in-breed” style that plagues lots of in-house stuff all over the place.

You won't find any “build me a city” or similar nodes in there (those things you still have to figure out on your own). But I'd like to believe we provide important basic building blocks that we're trying to make as solid as possible.

I'm glad you guys like it, though, we don't get too much feedback (especially not RFEs or bug reports – but hey, maybe we're just that perfect ). Hey, we're even have proper help pages with images and all.

cheers

ps.: you can read about what's the various sections (base, experimental, etc.) about here: https://github.com/qLab/qLib/wiki/Introduction#reliability-and-backward-compatibility [github.com]
Imre Tuske
FX/pipeline TD @ Luma Pictures/Melbourne

qLib – Houdini asset library
http://qlab.github.io/qLib/ [qlab.github.io]
https://www.facebook.com/qLibHoudini [facebook.com]
 Report
#10
  • Quick Links