Hi,
I’ve been playing around, and following some Houdini tutorials for the last couple of weeks. I must say, I am a little conflicted on whether I actually like the program.
My problem is definitely not that the program is too technical or ‘closer to programming than artistry’. My biggest issue is actually that it so far for me does not really live up to the flexibility and logicality I had expected from it…
I am an experienced programmer, and reasonably practiced at making things into formal recipes, algorithms etc. However, I find in Houdini it’s often more knowledge of how to do something, rather than reasoning your way to an approach.
This is due to the fact that the program is quite obscure and inconsistent about many things. Obscure: each node has many hidden features that you need to know to make the most of it. They may listen to specific attribute names, which cause them to set parameters in per point/vertex/etc. basis, suddenly making a simple node infinitely more powerful. Which attributes names are listened to, and which parameter can be set like this is quite a mystery to me, so you kind of happen to stumble upon it in a tutorial, it seems. Or is there a way to show in the software which attributes a node uses for parameter modulation?
Inconsistent: there are many different ways nodes can influence each other. Initially you might think node connections indicate which nodes are affecting each other, but then you have different ways parameters and attributes from different nodes can be referenced, or for example the SOP import in a COPnet, where a SOP is referenced without the SOP out being connected to the COP in. To me, it makes networks feel not clear and clean, unnecessarily hard to understand because it’s too hacky. Not to mention the need to have different coding and expression languages going on, each for their own little purpose…
Lack of flexibility and modularity: rather than being able to grow project by gradually adding more complexity to the node network, it seems that you need to build a network already with each part in mind. For example, if I build a tree network which has some random parameters for branch numbers, angles, etc. Now I want to build a forest of unique trees by scattering it around a terrain, I end up having to do the scattering and tree generation in the same network. I cannot make a ‘black box’ random tree generator, that then gets used by another node to place instances around the terrain.
Alright, time to end my rambling. Hopefully someone can address some of my frustrations and show how to approach the program better.