Houdini 12 Geometry

Polygons and meshes

Polygons are shapes constructed from a series of straight edges. These edges are defined by a series of vertices. Polygons are ideal for dealing with complex typologies that go beyond the four sided nature of meshes and NURBS surfaces.

A mesh is a collection of polygons with guaranteed ordering. It is much more efficient that the equivalent polygons, and unlike most regular polygons you can convert it directly to NURBS. You can also use the Convert surface node to convert mesh primitives to regular polygons when you want a nice layout of polygons in rows and columns.

 Open/closed A closed polygon shares its first and last vertex and is flagged internally as “closed”. Only closed polygons are shaded. Planar/non-planar Planar polygons' vertices lie in the same plane in 3D space. Non-planar polygons have vertices that are not all on a single plane in 3D space. Convex/concave A polygon is convex if any vertical or horizontal axis intersects it at most twice. Concave polygons have more complex shapes with “inset” points.

Use the tools on the Create shelf tab to create surfaces, and use the Primitive type pop-up menu on the operation controls toolbar to set the new surface to be created from polygons.

Use the tools on the Polygon shelf tab to edit and reshape faces and polygonal surfaces.

Houdini supports primitive spheres/ellipsoids, circles/ellipses, and tubes/cones. The shapes are defined by very simple mathematical parameters (for example, by height, and width for an ellipsoid) and a single center-point vertex. They can be moved, rotated, and scaled.

Quadratic primitives are extremely lightweight, and so can be used for applications such as:

• Showing hundreds of thousands or millions of copies of simple shapes, as in instancing .

• Stand-in geometry.

• Envelope geometry (for example, for bouncing particles off of).

Many modeling tools will work on quadratic primitives, but the primitives do not have any topology so, for example, operators that act on surface points will not work with quadratic primitives.

NURBS and Bezier splines

• NURBS is an acronym for Non-Uniform Rational B-Spline. NURBS are smooth curves and surfaces defined by control vertices (CVs). See the Wikipedia definition for more information. The advantage of NURBS is that moving a CV reshapes surrounding curve/surface while maintaining the continuity of the curve/surface. This allows you to “pull and tug” on the CVs of the NURBS curve or surface to generate a desired shape without causing kinks or discontinuities.

• Bézier curves/surfaces are simpler than NURBS. See the Wikipedia definition for more information. Bézier curves allow discontinuities at the knots, making it easier to create corners but harder to create smooth continuous curves/surfaces.

Parameterization

The shape of a NURBS curve, given a set of CVs, is determined by the relative distance between knots. There are two types of knot parameterizations: uniform and chord length.

• In uniform parameterization, knots are spaced evenly.

• In chord length parameterization, the distances between knots are determined by the distances between successive CVs. Uniform parameterization is recommended for regular shapes while chord length is used for free-form shapes. A third type of parameterization, called “centripetal”, is similar to chord length and is best suited for sharp curves.

Order/degree

Spline curves have an order, sometimes referred to instead as degree, which is one less than the order. The degree determines the potential smoothness of the line. A polyline has degree 1 (or “second order”). A curve with one control point between knots has degree 2 (AKA “third order” or “cubic”). The familiar Bézier curve, with two control points between knots, is degree 3 (AKA “fourth order” or “quadratic”).

Houdini supports splines with degrees from 1 to 10. For animation and effects you’ll usually find that degree 2 (cubic) splines are sufficiently smooth and well behaved You will seldom need to use other degrees.

Creating a sharp point in a NURBS curve

Sometimes you want to create a sharp corner in a NURBS curve. You can do this in three ways:

• Change the weight of a selected CV via the Curve > Parameters dialog in the Model Editor to something high like 10,000. This gives the CV so much “pull” that it draws the curve almost right through it.

• If you drag the two adjacent CVs of a cubic curve onto a middle CV, it will look like a sharp corner point. This is called raising the Multiplicity of the CV. Maximum CV multiplicity occurs when adjacent “degree” CVs overlap.

• Make “degree” knots identical. When this is done, it is called raising the multiplicity of the knot. You can do this in the Refine sop by choosing the Subdivision option, or in the Model Editor by selecting the Refine state and dividing with the middle mouse button ().