p r e - b a k e d   a n i m a t i o n s


This page will show you step by step how to model your palm.

I made this branch as simple yet effective as I knew how, implementing basic SOPs and copy stamps to generate random values. I hope this helps those trying to use Houdini for this assignment in future quarters.

For a text only version of this page please click HERE.





First and foremost, in Houdini, you need to make a Renderman node in your "Out" level. Then you need to find the location of all of the shader libraries for PRMAN, finally place them all in the

Properties > Paths > Shader Path

line of the now "rib1" output node.



			

			


For my model, I began with a simple circle that would become the template for each of my leaves. I then edited it in order to give it a heavier, wider bottom so the leaf would have a base to attach to the stem. From there I added a "resample" node so that my points would have even spacing, which will be better for the "twist" nodes I used for bend of the leaf.



			
			


In Houdini 9.1, the "Bend" SOP no longer exists, however if you create a "Twist" SOP (twist), you will find there is a drop down menu that allows you to choose "Bend". Needless to say, I used a "twist", plugged in my values for how wanted the leaf to look.



			
			


Next up, I connected a "xform" SOP (xform) in order to rotate the leaf to be along the X axis.



			
			


I branched off two new twist SOPs from the xform so that I could control the end of the branch and the beggining seperately. I added another xform between the new twist and a "Copy" SOP that I added to both to multiply my leaves. In Houdini, the copy SOP is extremely powerful. If you click the Stamp tab in the node, you will see variables 1-10, each with their own value parameter. Just as it says, you name a variable in the variable line, and assign it a value. if left default you will have a slide bar that is equal 1 or 0. This is basically an on and off switch, however if you click the 0 and begin typing, it will change to that value. That can be numbers, referenced parameters, or expressions. You can then reference them for values in SOPs above that copy.
-- NOTE --
$CY == the number of copy of the original geometry. You will need to have that in your expression in order for it to be different per copy. Since I knew I wanted a branch that was not symetrical, I added values for scale, the angle forward and backward, and bend of branch originally.



			
			


I then began to implement the stamp values in the xform directly above the copy.

-- NOTE --
In order to refernce the stamp values, you must use the stamp expression so it knows which copy and value to use. stamp("location", "variable", step) for me it looked like this stamp("../copy12", "angle", .01)




			
			


I came up with another expression for the "twist".



			
			


At this point, if you have followed my parameters, you should have half of a branch that looks like this. From here I made another copy and put -1 in the Z value so that it would flip across the X axis.



			

			


Once I saw the two sides of the branch merged together, I realized that it was too symetrical. So I added an edit SOP to change it a little bit.

<

			
			


Palmetto branches have a destintive shape, not only to they bend as the branch gets longer, but they also twist like a corkscrew toward the end of the branch. So again I made use of the twist SOP. First to get the "corkscrew" effect.



			
			


Then for the bend.



			
			


Finally, I made another xform for the height and angle of the branch in relation to the base or trunk.



			
			


From here you have an option, you can follow my steps to create your .rib, proxy it, then animate and bake the ribs, or follow my steps to get a randomized render in Houdini 9.1.

Renderman

OR

Houdini 9.1