Quick Columns with Revolve

I presented in my Houdini series a whole paragraph about building columns. Fact is, it was somehow complicated and performances are pretty bad as we accumulate for-loops in VEX wrangles.

If you just want the shape of a column and do not care at all about all the flutes and stuff, here is a super simple set-up to create your column (but can be used to design bowls or such) that just uses 2 (or 3) nodes.

  • First we create a curve thanks to an Attribute Wrangle (can also use Houdini’s curve but you need to draw it in the viewport. I personnally prefer drawing a function but that’s personal taste)
  • Use Revolve node (add a PolyExtrude after for giving some consistency)
First step, we create an Attribute Wrangle that lets us draw a curve that has the form of the ramp. If you want the code check below:
float height = ch('height'); // height of the column
float radius = ch('radius'); // radius of the column
int sampling = chi('sampling'); // sampling the points of the curve
//a low sampling will give a geometric look while a high will make smooth curves

int prim = addprim(0,'polyline'); // the curve we create

for(int i=0; i<sampling+1;i++)
{
    float value = radius * chramp('ramp',1.0*i/sampling); // value on the x-axis
    vector new_point = set(value,i*height/sampling,0); // next point on the curve
    int ind_point = addpoint(0,new_point); // we create this point
    addvertex(0,prim,ind_point); // and add it to our polyline
}
We add a Revolve Node and we’re done (check the node Parameters to improve the result)
End caps for having a closed surface, Division for the smoothness
Add a PolyExtrude to bring some volume!

Leave a comment

Design a site like this with WordPress.com
Get started