Search - User list
Full Version: Yesterday I made a major step forward in my understanding of Houdini
Root » Houdini Learning Materials » Yesterday I made a major step forward in my understanding of Houdini
mmc
I accept this is an indulgence on my part, but I wanted to record this. Plus I feel they're important points to be made here about learning Houdini. Yesterday I decided to start RohanD's hard surface modelling tutorial. The very first thing he does is create a nurbs circle and add some normals (I think in H15):



I match exactly the nodes in H16, and it all goes horribly wrong:



At this point in my newbie state, I am stumped. I have replicated exactly 2 nodes, and I get a different result. This illustrates two problems for the learner - one is the danger of not using the same version (something has changed in Houdini) and secondly and this is the really important thing: you can't learn Houdini by paint by numbers. I played paint by numbers with a handful of really enjoyable tutorials: e.g. Rohan's rocker, a rocket launcher on the old Digital Tutors, and architectural destruction recent one on Pluralsight. The harsh reality of those was that whilst I finished I did not understand the detail of what was happening. In a very troubling way, I had not learnt anything.

The next thing Rohan did was use the point node (now deprecated) to add an up vector. I knew in H16 there was a new node called attribute expression that you were supposed to use instead of the point node so I - first leap in understanding - worked out how to use that for both the normal and the up vector. It finally dawned on me that a “normal” was just an attribute that was labelled with the string “N” that could point where ever you wanted. And an attribute is just a property of, in this case, a point on a circle. The polyframe node is just one way of computing an attribute called N that points where you want, but in a really weird way: you select an attribute called tangetu and relabel it to N. The formula to compute N is buried inside the node, and will depend on the paramters.

The insight was to realise that we want a normal pointing to the center of the circle - well this the is just the position vector pointing in reverse: -@P. Usually, you would make this of unit length so: normalize(-@P). The attribute expression applies this formula to each point on the circle. Each point has a position vector, reverse and normalize each to get the desired normal:



Now I am on a roll. The attribute expression I think is a gentle introduction to writing some VEX code. Second leap - use a point wrangle node to write 2 lines of VEX:

@N = normalize(-@P);
v@upVec = {0,0,1};

The node applies these 2 lines to each point (in an efficient parallel way if you have multicore on your machine):



By the way, I worked out how to fix the polyframe: the style parameter of the node should be set to Primitive Centroid. This will trigger a computation of the tangentu to point to the center, and since we have renamed that attribute to N we have the desired normal.

Old tutorials can't be blamed for changes to Houdini. Rohan could not have explained all the above nitty gritty detail about what polyframe was doing behind the scenes without the tutorial becoming unmanageably long. But here is the rub: the learner will never understand what is happening until they have grasped this detail. I wish there was more beginner training that focused on this low level technical detail. Maybe I have reached the point where this is no longer required - but it took far too long for my liking for this to happen!

PS note the up vector should be spelt @up not @upVec. Copy to points uses the up vector to orientate the geometry being copied to the points. The z axis points along the normal, the y asiz along the up vector.
tamte
glad you got the insight into attributes, that's an important step to freedom

the PolyFrame hasn't changed for a while even though it would be time to update it
what you run into is probably difference between closed and open curve
for closed curve Polyframe (with Two Edges style) strangely enough computes tangentu as perpendicular vector
while for open curves tangentu points along tangent
so I assume Rohan is using Closed Arc Type on the circle, while you may be using Open Arc?
sburke
I always feel that, for me, big gains in understanding always come from this kind of struggle, and it is always a great feeling to find that insight on your own.
MilanB
I still don't know the stuff you went into, but today i had a similar thought on tutorials. Im watching old tutorial on 3d buzz called Houdini fundamentals. And that one is a detailed tutorial. I just went in some tutorials on houdini website and i find the not so helpfull as it seems that there is not enough focus on “under the carpet” detailed explanation of things happening. And i find it hard to learn the nature with that aproach.

As i say, the tutorial series on 3d buzz im watching are incredibly good, BUT, are old like 10 years old.
bobc4d
THANK YOU mmc for this explanation and graphics. I came from C4D early last year and am learning my way around Houdini. I too followed Rohans hard surface modeling and did manage to figure out how he did the normals in 16.5 but I didn't know about pointwrangle. it is a learning curve for sure but I love Houdini's procedural method. I use the “paint by numbers” to learn interface and how tools work, then go back and see “if I change this” what happens. like some tutorials use bool node, I try to model it instead so that kinda helps push me to learn how.
_Christopher_
Xtro
I still don't know the stuff you went into, but today i had a similar thought on tutorials. Im watching old tutorial on 3d buzz called Houdini fundamentals. And that one is a detailed tutorial. I just went in some tutorials on houdini website and i find the not so helpfull as it seems that there is not enough focus on “under the carpet” detailed explanation of things happening. And i find it hard to learn the nature with that aproach.

As i say, the tutorial series on 3d buzz im watching are incredibly good, BUT, are old like 10 years old.

You'll get there, believe me some stuff can elude us even after understanding Houdini. Never under estimate old information it can be valuable.
mmc
Glad to see my old thread bubbling up! My learning journey continues. It is an “interest” not my day job so progress is steady but not that fast. Currently doing a course on “Procedural Spline Modelling” on FXPhd. This course has literaly blown my socks off. Worth a months subscription for anyone who is intermediate level.

I am an old programmer, and starting to feel really at home with an application that is essentially a domain specific programming language.

I am hoping 2019 is the year I finally move from apprentice to Indie. What SideFX is offering for free, and for modest subscription with some limitations is market leading in my view. Onwards and upwards.
MilanB
Im glad i found your post, and have read your experience.
For me, i really am sort of decided to go all in Houdini, since for a month i’ve been “playing” with it, seeing what it is capable of. Im currently at the stage, well lets say half a step behind your first post. I sort of understand those things, but not fully (but i can really feel it coming, to understanding it, hopefully it makes sence to you)
So having said all of this, are there any tutorials yoh can suggest me to build a stable foundation of crucial things such as these? I really cant seem to find that kind of in depth tutorial. Any help or information you can share with me?


mmc
Glad to see my old thread bubbling up! My learning journey continues. It is an “interest” not my day job so progress is steady but not that fast. Currently doing a course on “Procedural Spline Modelling” on FXPhd. This course has literaly blown my socks off. Worth a months subscription for anyone who is intermediate level.

I am an old programmer, and starting to feel really at home with an application that is essentially a domain specific programming language.

I am hoping 2019 is the year I finally move from apprentice to Indie. What SideFX is offering for free, and for modest subscription with some limitations is market leading in my view. Onwards and upwards.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB